.netasp.net-mvcfubumvcalt.net

What are the main differences between ASP.NET MVC and FubuMVC?


A developer I know just showed me FubuMVC and there was some question whether or not we should attempt to use it on a real live project or not. The current design choice so far has been ASP.NET MVC.

What I'm interested in finding out is:

What are the core differences between ASP.NET MVC and FubuMVC?

What are the gains/loses with either framework?

Is FubuMVC ready for prime time?

Which of these two would you use on a new project?


Solution

  • @maz It depends what your application is going to do, its timeframe, its criticality, etc.

    First, I'd encourage you to mess around with both. Neither is better or worse than the other overall, they are different and each have significant strengths and weaknesses that you should consider.

    At this point, ASP.NET MVC is more mature and has had more testers and eyeballs looking at it. So if you are doing any sort of serious project (i.e. you're getting paid for it), I would encourage you, at this point, to use ASP.NET MVC as it's going to "ship" sooner and be more supported.

    (UPDATE [26 Feb 2011]): FubuMVC is now being used by several companies and teams in mature, production apps that have had several major released versions based on FubuMVC. While the documentation is still lacking somewhat, the quality of the framework is now well established as production-worthy)

    If you're starting a hobby project (i.e. personal blog, personal/family photo album, etc) then I'd invite you to pick up FubuMVC and start playing with it. Keep in mind that this point it's basically a hobby of mine, Jeremy's, and a few others so there's no guarantees on timeline, etc. It hasn't really been publicly announced (it's leaked out, for better or worse) so there hasn't been a flood of contributions yet. I'm hoping as it matures and we get to the first milestone then announce it to the wide, wide world, contributions will ramp up.

    In the end, using either will likely encourage better development practices over, say, ASP.NET WebForms and getting familiar with the one will make it easier for you to pick up the other one rather quickly.

    It really comes down to the criticality of the project you're working on, so choose responsibly.