My background is .net 2.0 development using web forms. Before I was laid off I was looking into MVC which I enjoy very much. I have a few clients that I am consulting for and I now have to make a decision to either stay the course with ASP.NET MVC or switch to ruby rails or cakephp/codeigniter.
If I choose ASP.NET MVC I would have to upgrade my skills to C# 3.5, get familiar with DDD/TDD, IoC and the different ways I can build my models (Entity Framework, LINQ to SQL, SubSonic). All this seems very daunting and time consuming even though I already have a .net background. On top of that I feel like the majority of clients I ran into so far already have a non windows hosting setup so I would have to sell them on moving to a Windows hosting platform.
If I choose Ruby Rails I would have to learn a new language all together. I also hear it is not that Windows friendly. On the other hand it also seems that Ruby Rails is promoting the “one” and best way to do things. The Model part is already built in to Ruby so instead of researching and choosing your way to build your model Ruby already chose and implemented the best way for you. The Ruby Rails plugin library is also a big help to develop more quickly which is something the ASP.NET seems to lack at the moment.
The PHP route is similar to how I described Ruby above.
I have been thinking about this for some time now and I can’t for the life of me make a decision. Can anyone please chime in and steer me in the right direction? Has anyone been in a similar situation? I really would like to learn one thing well and focus my time and energy on helping my clients.
Please don’t turn this into a Ruby vs ASP.NET MVC vs CakePHP thread but rather look at it as I have one month to get up to speed on ONE framework. Given that time which framework do you think I would get the most bang for my time in the short run? How about the long run?
Thanks in advance.