2012-08-06 15 views
7

Pochodzę z Ruby on Rails i potrzebuję stworzyć aplikację internetową w języku C#. Obecnie patrzę na ASP.NET MVC i MonoRail. Większość porównań, które znajduję, to lata 2008-2009, kiedy ASP.NET MVC był wciąż nowy, a większość punktów przeciwko MVC było to, że jest zbyt surowy, nie aż tak dopracowany jak MonoRail.Poszukuję nowoczesnego porównania między ASP.NET MVC i MonoRail

Cóż, od tego czasu minęło kilka lat, a Microsoft wykonał wiele pracy nad ASP.NET MVC. W jaki sposób współczesne wersje obu frameworków porównują się ze sobą?

+0

Jest to jednak szerokie pytanie. ASP.NET MVC jest stabilny i działa świetnie. Obecna wersja to MVC 3.0 i wymaga .net framework 4.0, obsługuje strony Razor i strony ASPX. – Rajesh

Odpowiedz

2

I oceniano jednotorowe około czterech lat temu, w porównaniu do dzisiejszego mvc3, to są główne różnice (imho)

  • Razor silnika szablonów jako domyślny MVC. To przyjemność używać, podczas gdy Monorail ma domyślnie NVelocity. Sprawdziłem stronę Castleproject i jest plan uaktualnienia Monorail ...
  • Niezwykle więcej dokumentacji dla MVC3, a jak na dzisiaj - może to moja wina - nie mogę znaleźć żadnej dokumentacji online na stronie Monorail.
  • Obszary, części, żyletka wyjątkowo zintegrowana z VS2010. A jeśli ci się nie podoba, możesz podłączyć i używać różnych silników szablonów.
  • MVC3 ma lepszą integrację Ajax/jQuery, dyskretne walidacji formularza
+0

OK, dzięki. Dam temu szansę. –

1

pracuję z obu ram w ciągu ostatnich kilku lat. Początkowo utknęliśmy w kolejce jednotorowej, kiedy wyszedł mvc, ponieważ czuliśmy, że jest surowy. IMHO MVC3 jest teraz w punkcie, w którym jest bardziej dojrzały niż Monorail 2 z lepszą obsługą, większą ilością dokumentacji i nowszymi wersjami, które pojawiają się regularnie.

  • Brzytwa jest silniejsza niż nvelocity i ma świetną obsługę Visual Studio, której brakuje nvelocity.
  • Monorail widoki nie są kompilowane vs MVC3, które są kompilowane. Czasami, gdy rozwijasz swoją fajkę, po prostu zmieniasz widok i widzisz, a następnie natychmiast się zmieniaj. Z drugiej strony kompilowane widoki są szybsze.
  • Monorail od jakiegoś czasu nie ma nowej wersji i wydaje się być w stagnacji. Monorail3 jest jednak w użyciu.
  • MVC3 obsługuje teraz także pomocników, zarówno jako metody rozszerzające, ale również można je zadeklarować bezpośrednio w widokach maszynki Razor. Monorail obsługuje pomocników tylko jako statyczne metody klasy pomocniczej.
  • MVC3 ma znacznie lepszą obsługę routingu.
  • MVC3 ma teraz również obsługę IoC dla filtrów.
  • MVC3 obsługuje stosowanie filtrów na poziomie metody, ale obsługuje tylko filtry na poziomie kontrolera.
  • MVC3 nie obsługuje Ioc po wyjęciu z pudełka, ale zamiast tego można użyć do tego IDependencyResolver. Możesz znaleźć wiele rozwiązań na ten temat.
  • MVC3 ma świetne wsparcie dla ataków CSRF. W Monorail, będziesz musiał rozwinąć to samodzielnie, używając kombinacji pomocników i filtrów.
  • MVC3 obsługuje wstępne kompilowanie widoków, dzięki czemu można zminimalizować błędy przed opublikowaniem witryny. , ale nie można tego zrobić w widoku nvelocity w Monorail, ponieważ są one interpretowane jako
  • Html MVC3 automatycznie koduje dowolny ciąg. W Monorail zawsze musisz wezwać pomocnika.

Kiedy wyjdzie kolej jednoszynowy 3, interesujące będzie zobaczenie, co wspierają. Spójrz na https://docs.google.com/document/d/1AkeeJPh8kZQKtnHN3RDR3v-UfG7zt9wCL0jMiualUqI/edit?hl=en&authkey=CN7U99YN&pli=1, która jest propozycją wartości dla Monorail 3 firmy Hammet.