Könnte Ask Ubuntu unter Ubuntu + Mono laufen?

10

Inspiriert von der alten Hacker News-Unterhaltung über diese Website frage ich mich:

Könnten Ubuntu und Mono eine ASP.NET MVC-Website wie Ask Ubuntu betreiben?

Die Technologie steht hier im Mittelpunkt anstatt auf der Website. Könnten Sie IIS, ASP.NET, MVC usw. durch kostenlose und Open Source-Technologien ersetzen, ohne die Site vollständig neu entwickeln zu müssen?

Anmerkung von Oli : Die Meta- Diskussion (dh: Wird Ask Ubuntu auf Ubuntu + Mono migrieren?) Wurde in eine separate Frage im Meta-Teil der Website verschoben

Dan Burton
quelle
Für die Leute, die sich für die Schließung melden, ist die technische Seite (dh "Könnten Sie eine ASP.NET MVC-Site auf Mono betreiben?") Hier von Nutzen, da unser Aufgabenbereich die Entwicklung umfasst. Ich bin geneigt, es offen zu lassen.
Oli
Ich habe für das Schließen gestimmt, weil ich denke, dass es zu Meta gehören würde, da es um die Site selbst geht.
Jorge Castro
2
@Jorge, das ist fair genug. Ich habe das technische Element davon und das "Werden sie migrieren?" Abschnitt kann zu Meta gehen.
Oli
1
Ich unterstütze die Änderungen, die Oli an meiner Frage vorgenommen hat. Vielen Dank.
Dan Burton

Antworten:

8

Ich habe keine Codebasis für Ask Ubuntu, daher kann ich nicht wirklich sagen, ob es etwas besonders Plattformspezifisches gibt, das einen Blocker verursachen würde, aber als Antwort auf die Frage, ob Sie es migrieren können , lautet die Antwort wahrscheinlich Ja .

Sie müssen bedenken, dass die Plattform, auf der sich ASP.NET-Websites befinden, mehr als eine magische ASP.NET-Binärdatei ist:

  • ASP.NET kann weitgehend durch Mono ersetzt werden. Es ist nicht immer schön und die Leistung ist nicht immer großartig, aber es kann getan werden.

  • ASP.NET MVC ist die Vorlagen-Engine. Es befindet sich normalerweise auf ASP.NET, kann jedoch mit einigen Änderungen unter Mono ausgeführt werden .

  • IIS konnte ziemlich einfach entfernt werden, sodass benutzerdefinierte Handler, auf denen SO ausgeführt wird, durch Apache (et al.) Ersetzt werden konnten.

  • Die Datenbank ist technisch der größte Teil des Ganzen. In einfachen Fällen, in denen Sie guten Code verwenden, sicher. Rippen Sie die Datenbank heraus und ersetzen Sie sie. Speziell hier könnte die Clusteranordnung von MSSQL-Servern, auf denen die StackExchange-Sites ausgeführt werden, wahrscheinlich auf MySQL (oder andere) portiert werden, aber es würde wahrscheinlich erhebliche Arbeit erfordern, da wahrscheinlich ein beträchtlicher Teil des DB-spezifischen Codes in der Datenbank lauert selbst oder (weniger wahrscheinlich) auf der Website selbst. Die meisten codebasierten, datenbankspezifischen Datenprobleme gehören dank LINQ, das Mono unterstützt (auch für Nicht-SQL Server-Datenbanken), der Vergangenheit an.

Das ist keineswegs eine endgültige Liste dessen, was ersetzt werden würde, aber sie sind die Hauptelemente.

Ob Sie wollen oder nicht ... Das ist eine schwierigere Frage. Bis Sie ein paar Dutzend Probleme durchgearbeitet haben, sind Sie wahrscheinlich bereits an dem Punkt angelangt, an dem Sie das System in etwas wie Django einfach neu implementieren könnten. Das hängt natürlich von der Komplexität des Systems ab. Es ist so schwer wie ein Stück Schnur.

Oli
quelle
+1 tolle Infos. Ich denke, die Antwort auf "Kannst du es portieren?" Lautet immer "Ja, mit genügend Aufwand", aber du hast hier einige großartige Punkte zu den Details gegeben, was möglicherweise geändert werden muss.
Dan Burton
1
asp.net mvc wurde von Microsoft als Open-Source-Version bereitgestellt (ich weiß, wie böse diese sind), daher ist die Version in Mono derselbe Code wie die .net-Version.
Trampster