Ask Ubuntu pourrait-il fonctionner sur Ubuntu + Mono?

10

Inspiré par la vieille conversation de Hacker News sur ce site Web, je me demande:

Ubuntu et Mono pourraient-ils exécuter un site Web ASP.NET MVC comme Ask Ubuntu?

La technologie est au centre ici au lieu du site. Pourriez-vous remplacer IIS, ASP.NET, MVC, etc. par des technologies libres et open source sans avoir à redévelopper complètement le site?

Note d'Oli : La méta- discussion (c'est-à-dire: Ask Ask Ubuntu migrera-t-elle vers Ubuntu + Mono?) A été déplacée vers une question distincte dans la partie méta du site Web

Dan Burton
la source
Pour les personnes signalant la fermeture, je pense que le côté technique de cela (c'est-à-dire "Pourriez-vous exécuter un site MVC ASP.NET sur Mono?") A du mérite ici car notre mandat comprend le développement. Je suis enclin à le laisser ouvert.
Oli
J'ai voté pour la fermeture car je pense que cela appartiendrait à Meta car il s'agit du site lui-même.
Jorge Castro
2
@Jorge, c'est assez juste. J'ai sauvé l'élément technique de cela et le "vont-ils migrer?" section peut aller à la méta.
Oli
1
J'approuve les modifications qu'Oli a apportées à ma question. Merci.
Dan Burton

Réponses:

8

Je n'ai pas la base de code pour Ask Ubuntu, donc je ne peux pas vraiment dire s'il y a quelque chose de particulièrement spécifique à la plate-forme qui causerait un bloqueur mais en réponse à pouvez-vous le migrer , la réponse est probablement oui .

Vous devez garder à l'esprit que la plate-forme sur laquelle les sites Web ASP.NET sont assis est plus qu'un binaire ASP.NET magique:

  • ASP.NET peut être largement remplacé par Mono. Ce n'est pas toujours joli et les performances ne sont pas toujours excellentes mais cela peut être fait.

  • ASP.NET MVC est le moteur de création de modèles. Il se trouve normalement au-dessus d'ASP.NET mais il peut fonctionner sur Mono avec quelques modifications.

  • IIS pourrait être supprimé assez simplement, permettant aux gestionnaires personnalisés que SO exécute, le remplaçant par Apache (et al).

  • La base de données est techniquement la plus grande partie de l'ensemble. Dans les cas simples, où vous utilisez un bon code, bien sûr. Extrayez la base de données et remplacez-la. Spécifiquement pour ici, l'arrangement en cluster des serveurs MSSQL qui exécute les sites StackExchange pourrait probablement être porté sur MySQL (ou autre) mais cela nécessiterait probablement un travail important car il y a probablement une bonne partie du code spécifique à la DB qui se cache, soit dans la base de données lui-même ou (moins probable) dans le site lui-même. La plupart des faffings de données basés sur le code et spécifiques à la base de données appartiennent au passé grâce à LINQ, que Mono prend en charge (pour les bases de données non-SQL Server également).

Ce n'est en aucun cas une liste définitive de ce qui serait remplacé, mais ce sont les principaux éléments.

Que vous le vouliez ou non ... C'est une question plus difficile. Au moment où vous aviez cherché quelques dizaines de problèmes, vous êtes probablement déjà au point où vous auriez pu réimplémenter le système dans quelque chose comme Django. Bien sûr, cela dépend de la complexité du système. C'est aussi dur qu'un bout de ficelle.

Oli
la source
+1 grande info. Je suppose que la réponse à "pouvez-vous le porter" est toujours "oui, avec suffisamment d'effort", mais vous avez donné ici d'excellents points sur les détails de ce qui pourrait devoir être changé.
Dan Burton
1
asp.net mvc a été open source par microsoft (je sais à quel point c'est mauvais pour eux) donc la version en mono est le même code que la version .net.
trampster