|
|
|
ASP .NET MVC vs Monorail Castle Project
By Ryan Doom on Saturday, December 08, 2007

Scott Guthrie has an excellent set of blog posts about the new ASP.NET MCV framework and it has me geeked. Here are his top posts to see the direction Microsoft is going with their MVC platform: Rob Conery the creator of SubSonic and now part of the Microsoft ASP.NEt team also has some posts about Microsoft's MVC framework
These blog posts have got me fired up about ASP .NET MVC’s framework because after I spent a couple days doing some Ruby on Rails – Actionpack I was able to see the real power of the Model View Control principles and could really see how it speeds up development time and also makes it easy to follow TDD practices and ensure you are unit testing everything.
Since I have been on an MVC kick I also have done some research on the Castle Project - Monorail and I have been trying to weigh the strengths and weaknesses of each.
Let’s review some features Castle Project – Monorail- Has been in the works since 2003, appears to have a good following and works
- Uses a solid ORM – nNhibernate, and I like how you design your classes that generate your Database, rather than designing your database to create your classes.
- Has scaffolding for quick and dirty CRUD
- Supports viewing engines: NVelocity, Brail & ASP.NET Forms
- The Formhelper is very cool, their helper classes seem to be pretty advanced
- They use Log4Net which is a great .NET logging library
- Uses Javascript libraries that are easy to work with such as script.aculo.us
ASP .NET MVC- Scott Guthrie and Rob Conery are hardly working on it so I know it will be great, but will it be great with its first release?
- ASP .NET Ajax is painful – however, Rob has been doing some MVC with JQuery which is great, because that library is fabulous and I don’t think anyone is eager to do MVC with the ASP .NET Ajax, or web forms viewing engine.
- I’m glad to see that they are supporting more than web forms as their viewing engines, not just ASP.NET forms.
- Right now there is no ORM of obvious choice; the thing I like about RoR & Monorail is data access is done the same in all apps, there is a standard. With ASP .NET MVC we are going to see a million different was to access data – including many ways from MSFT alone. ADO .NET, the new MS Entity framework, LINQ to SQL, Subsonic (?), etc.
- Looks like MS is putting some brains and effort behind this. On Scott’s blog he says they will be supporting this now and in the future, that is giving me some confidence to get behind it.
Overall, I am leaning towards the ASP .NET MVC framework over Monorail the Castle Project but I would like to hear some other thought from users who have been using Monorail for awhile, and how they think the ASP .NET MVC framework will go. | Comments | ByPeter Corcoran @
Monday, June 16, 2008 11:43 PM |
I've been reviewing both of these frameworks for a little while now, and I've been fascinated! I'm starting to see a great benefit not just MVC but design patterns in general. I'd recommend reading Martin Fowler's PoAAA book, Jimmy Nilsson's Applying DDD and Patterns, and look at what Eric Evans is doing with DDD. Great stuff.
In terms of Microsoft, they've left the ASP.NET MVC pretty open to do what you need. According to Scott's blog you can switch out or write your own view engine, so I'm sure you could use Castle's implementation of nVelocity, and for ORM you could use Castle's ActiveRecord (which sits on nhibernate). There is another project called ActiveWriter that allows you to map your DB visually. Cool stuff.
I personally am working on a MVC Facebook app which I've had a bunch of success on. |
|
|
ByRyan @
Monday, June 23, 2008 10:35 AM |
Hey Peter, the ASP MVC framework is very cool for sure... but the biggest problem I have with it is that I don't think it is very convention based yet. Its not like RoR or Symfony or even Monorail where there are lots of examples of the standard/ideal way to organize your application. I could fire up my MVC app, connect in Castle Windor & ActiveRecord or I could use Structured map, rhinomocks, maybe use Nunit for testing prehaps I would have used Linq or Entity Framework maybe even use Subsonic... the thing with the ASP MVC that is odd is they recommend to choose whatever you want. I like how Symfony, Monorail and RoR are setup. There is the way everyone does it... but they set it up where you can still do it your own way or use different tools if you want. As opposed to how ASP MVC is going, I feel they give you a shell and you can pick 1 of 100 ways of doing it. Right now Developer X is going to be doing things much different then Developer Y.
I prefer with MVC that they set the stage with a convention. |
|
|
Click here to post a comment |
|
Software development and sales blog |