Czy Ask Ubuntu może działać na Ubuntu + Mono?

10

Zainspirowany starą rozmową Hackera na temat tej strony zastanawiam się:

Czy Ubuntu i Mono mogą prowadzić witrynę ASP.NET MVC, taką jak Ask Ubuntu?

Zamiast tego strona skupia się na technologii. Czy możesz wymienić usługi IIS, ASP.NET, MVC itp. Na bezpłatne i otwarte technologie bez konieczności całkowitej przebudowy witryny?

Uwaga od Oli : Meta- dyskusja (czyli: czy Ask Ubuntu migruje do Ubuntu + Mono?) Została przeniesiona do osobnego pytania w meta części strony

Dan Burton
źródło
Dla osób zgłaszających się do zamknięcia, myślę, że techniczna strona tego (tj. „Czy możesz uruchomić witrynę ASP.NET MVC na Mono?”) Ma tutaj swoje zalety, ponieważ nasze zadania obejmują rozwój. Jestem skłonny pozostawić to otwarte.
Oli
Głosowałem za zamknięciem, ponieważ myślę, że należy do Meta, ponieważ dotyczy samej witryny.
Jorge Castro
2
@Jorge, to wystarczy. Uratowałem techniczny element tego i „czy będą migrować?” sekcja może przejść do meta.
Oli
1
Popieram zmiany, które Oli wprowadził do mojego pytania. Dzięki.
Dan Burton

Odpowiedzi:

8

Nie mam bazy kodu dla Ask Ubuntu, więc nie mogę naprawdę powiedzieć, czy jest coś szczególnie specyficznego dla platformy, co spowodowałoby blokowanie, ale w odpowiedzi na to, czy możesz go migrować , odpowiedź brzmi prawdopodobnie tak .

Należy pamiętać, że platforma, na której siedzą strony ASP.NET, to coś więcej niż magiczny plik binarny ASP.NET:

  • ASP.NET można w dużej mierze zastąpić Mono. Nie zawsze jest ładna, a wydajność nie zawsze jest świetna, ale można to zrobić.

  • ASP.NET MVC to silnik szablonowy. Zwykle znajduje się na ASP.NET, ale może działać na Mono z kilkoma zmianami.

  • Usługi IIS można usunąć dość prosto, umożliwiając niestandardowe programy obsługi działające na SO, zastępując je Apache (i in.).

  • Baza danych jest technicznie największą częścią całości. Oczywiście w prostych przypadkach, gdy używasz dobrego kodu. Rozerwij bazę danych i zastąp ją. W tym przypadku układ klastrowy serwerów MSSQL, które obsługują strony StackExchange, może być prawdopodobnie przeniesiony do MySQL (lub innych), ale prawdopodobnie wymagałby znacznej pracy, ponieważ prawdopodobnie kryje się spora część kodu specyficznego dla bazy danych, albo w bazie danych sama lub (mniej prawdopodobne) w samej witrynie. Większość bazowania na kodzie, specyficzne dla baz danych, flossowanie danych należy już do przeszłości, dzięki LINQ, który obsługuje Mono (także dla baz danych innych niż SQL Server).

To wcale nie jest ostateczna lista tego, co zostanie zastąpione, ale są to główne pozycje.

Czy chcesz ... To trudniejsze pytanie. Zanim przejrzysz kilkadziesiąt problemów, prawdopodobnie już jesteś w punkcie, w którym mógłbyś po prostu ponownie wdrożyć system w coś takiego jak Django. Oczywiście zależy to od złożoności systemu. Jest twardy jak kawałek sznurka.

Oli
źródło
+1 świetne informacje. Wydaje mi się, że odpowiedź na „czy możesz to przenieść” zawsze brzmi „tak, przy wystarczającym wysiłku”, ale podałeś kilka świetnych uwag na temat tego, co może wymagać zmiany.
Dan Burton
1
asp.net mvc został otwarty przez Microsoft (wiem, jak nie-zły z nich), więc wersja mono ma ten sam kod, co wersja .net.
trampster