MonoRail vs ASP.Net
Dru Sellers is posting about some doubts he recently had about using MonoRail. He posted a part of a conversion that we had about it yesterday, and then Ben Scheirman responsed with:
IM is not really the medium to express complex thoughts, and I thought that it may be helpful to expand a bit on the subject.
I am currently working on a very big project that uses ASP.Net Web Forms model, and there isn't a lot of fancy UI stuff in there, and I still suffer from the model that ASP.Net tries to make me work in.
- ViewState is a problem that we lost days on. Mostly because we are doing a lot of dynamic control generations, and we sometimes got the viewstate from the previous page into the new page, causing much havoc. But also because it just plainly so different than the way that the web works.
- It highly encourage the PostBack model.
- Simple things are not simple. Take for example needing to do something like disabling links on certain rows in a grid because of their state (capture the RowDataBound, get the cell by its numeric index, find the right control, disable it).
- Complex things are complex. Page life cycle issues, nested child controls initialization order, events firing order, view state corruption issues when building multi-view controls, etc.
- It is not fun to work with.
It got to the point where for my demo, where I need to present a simple hierarchy of messages, I tried at first to do this in ASP.Net, but stopped when I realized how complex this is going to be, and wrote a little demo that did it all in WinForms. Using WinForms, it took me half an hour to get to 70% of what I wanted, using ASP.Net WebForms, it would take me a day.
Frankly, at this point, I am not going to do any ASP.Net WebForms work unless I am paid for it, and I am going to push hard to make sure that any incoming web projects will use MonoRail.
When asked, I listed the following as things that make MonoRail hard to embrace:
Not Microsoft - some people sees that as a con, not me
Potshot: At least this way I know that it will not have a hard dependency on the office 2007 beta 3 refresh 1. And it will continue working if I install IE7 on the server machine.
Not something that everyone knows.
But, it is very easy to learn how to start, and it doesn't punish novices by letting build something in completely the wrong way. The learning curve is very smooth, as well. And frankly, if you can't learn MonoRail without a 400 hours course that will chew the material for you, I don't want your on my team.
Tool support not that great
If only I could get Brail syntax highlighting in Visual Studio... I don't even need intellisense, I am not doing anything complex in the views. For that matter, I usually edits my views in SharpDevelop anyway, so this isn't that big of a deal.
No 3rd party controls
There aren't any 3rd party controls for MonoRail that I know of. But, it can (easily and painlessly) use all the HTML controls that are out there. No I'm not talking about <input> ;-). I'm talking about everything that the non-ASP.Net world uses, which is more than powerful enough to create beautiful sites.
No designer - a plus for me.
I am not using the designer at all, mostly because it is horrendously slow and like to put stuff like style="height=29px" which are a killer to remove afterward.
Comments
Xanax norx needed one day fedex overnight delivery.
Marc-Andr?? Cournoyer’s blog
Comment preview