2012-08-06 12 views
7

Vengo da Ruby on Rails e ho bisogno di creare un'applicazione web C#. Attualmente sto guardando ASP.NET MVC e MonoRail. La maggior parte dei confronti che ho trovato risalgono al 2008-2009, quando ASP.NET MVC era ancora nuovo, e la maggior parte dei punti contro MVC era che era troppo grezzo, non proprio raffinato come MonoRail.Alla ricerca di un confronto moderno tra ASP.NET MVC e MonoRail

Bene, diversi anni sono passati da allora e Microsoft ha lavorato molto su ASP.NET MVC. Come si confrontano le versioni moderne dei due framework?

+0

È una domanda molto ampia. ASP.NET MVC è stabile e funziona alla grande. La versione corrente è MVC 3.0 e richiede .net framework 4.0, Supporta pagine Razor e pagine ASPX. – Rajesh

risposta

2

Ho valutato monorotaia circa quattro anni fa e, rispetto al MVC3 di oggi, queste sono le principali differenze (imho)

  • Razor motore di template come MVC di default. È un piacere da usare, mentre la monorotaia è in default su NVelocity. Ho controllato il sito web di Castleproject e c'è un piano per aggiornare Monorail ...
  • Vastamente più documentazione per MVC3, e come oggi - forse è colpa mia - Non riesco a trovare alcuna documentazione online sul sito di Monorail.
  • Aree, Parziali, Rasoio estremamente integrato in VS2010. E se non ti piace, puoi collegarti e utilizzare diversi motori di template.
  • MVC3 ha una migliore integrazione Ajax/Jquery, discreto validazione dei form
+0

OK, grazie. Lo proverò. –

1

Ho lavorato con entrambi i quadri per gli ultimi anni. Inizialmente siamo rimasti incollati alla monorotaia quando è uscito il mvc poiché ritenevamo che fosse grezzo. IMHO MVC3 è ora in un punto in cui è più maturo di Monorail 2 con un supporto migliore, più documentazione e versioni più recenti che escono regolarmente.

  • Razor è più potente di nvelocity e ha un ottimo supporto di Visual Studio a cui manca la nvelocità.
  • Le viste della monorotaia non sono compilate rispetto alla vista MVC3 che sono state compilate. A volte durante lo sviluppo è bello cambiare solo una vista e vedere poi cambiare immediatamente. D'altra parte le viste compilate sono più veloci.
  • La monorotaia non ha avuto una nuova versione da un po 'di tempo e sembra stagnante. Monorail3 è in lavorazione però.
  • MVC3 supporta anche gli helper ora, sia come metodi di estensione, ma è anche possibile dichiararli direttamente nelle visualizzazioni Rasoio. La monorotaia supporta gli helper solo come metodi statici di una classe helper.
  • MVC3 ha un supporto di routing molto migliore.
  • MVC3 ora ha anche il supporto IoC per i filtri.
  • MVC3 supporta l'applicazione di filtri a livello di metodo ma la monorotaia supporta i filtri solo a livello di controller.
  • MVC3 non supporta un IOC out of the box ma è possibile utilizzare IDependencyResolver per questo. Puoi trovare molte soluzioni in giro per questo.
  • MVC3 offre un ottimo supporto per gli attacchi CSRF. In Monorotaia dovrai svilupparlo da solo usando una combinazione di aiutanti e filtri.
  • MVC3 supporta le viste di pre-compilazione in modo da ridurre al minimo gli errori prima di pubblicare il sito. ma non è possibile farlo con la visualizzazione nvelocity in Monorotaia poiché vengono interpretati
  • MVC3 html codifica automaticamente qualsiasi stringa. In Monorotaia devi sempre chiamare un aiutante per questo.

Quando esce Monorail 3 sarà interessante vedere cosa supportano. Guarda https://docs.google.com/document/d/1AkeeJPh8kZQKtnHN3RDR3v-UfG7zt9wCL0jMiualUqI/edit?hl=en&authkey=CN7U99YN&pli=1 che è una proposta di valore per Monorail 3 di Hammet.