There’s a little flurry of activity going around comparing Castle MonoRail to the Web Client Software Factory (WCSF). Here’s a synopsis.
- David Hayden, who admittedly is very familiar with WCSF and not very familiar with MonoRail, touts the future of WCSF and the concerns about the lack of resources working on MonoRail in order for it to compete long-term.
- Scott Bellware talks about evaluating MonoRail for an enterprise application, and he mentions his horrible experience setting up and comprehending WCSF.
- Hammett, one of the key Castle Project people who admittedly is not familiar with WCSF, talks about the need for WCSF to compete with MonoRail, not the other way around.
Where do I stand? Before answering, I need to explain my history with web development, ASP.Net, and MonoRail.
I started doing web development in the late 1990’s coding by hand and using ColdFusion on the server-side. I migrated to ASP and, ultimately, to ASP.Net, as most people did.
Since the beginning, I’ve had a love/hate relationship with ASP.Net. I love the .Net Framework, C#, and Visual Studio .Net. I hate ViewState, complex web controls that do unpredictable things, and the difficulty injecting JavaScript into ASP.Net web pages (id="ctl00___ctl00___ctl00_ctl00_bhcr_t___TitleBarSearchText", anyone?).
When I stumbled across MonoRail some time in 2006, I liked what I read, but didn’t have the time to explore it further. Towards the middle of 2006 I was working on my own Model-View-Presenter web architecture that was simple but effective, and even started transitioning my only claim to fame, CSFBL, to it. Then, I decided to give MonoRail a try.
I never turned back.
MonoRail is everything I wanted. It provides a simple yet powerful Model-View-Controller architecture. It avoids things like ViewState and bulky web controls. It’s a breeze marking up web pages and adding JavaScript to them. It allows me to work with the tools I like (such as my own model layer, Prototype, and Scriptaculous) without getting in the way.
As for WCSF, my experience with it was similar to Scott Bellware’s — I was frightened by the weight of it from the start, and it didn’t alleviate my existing WebForms issues. It simply didn’t stack up to MonoRail’s powerful simplicity.
Having said that, how does MonoRail compete with WCSF? I think MonoRail’s "weaknesses" are its strengths. It doesn’t try to do everything; instead, it does enough things just right. It’s scalable and super-fast. It has a reasonably short learning curve, which is more impressive considering the fact that it is lacking in documentation in some areas.
Hayden’s comment that "the MonoRail Project just does not have enough resources" doesn’t pan out. MonoRail is already an excellent, stable framework, and it didn’t get that way because its resources were lacking. There’s a big difference between "enough" resources and "not enough" resources; more does not mean better in this case. Look at Prototype or Scriptaculous; both are among the most widely-accepted JavaScript libraries around, yet neither has the backing of huge development teams with billion-dollar corporations behind them.
I’m on the MonoRail bandwagon, and plan to be for a long time.
Leave a reply to Arvind Kumar Cancel reply