We have developed a suite of applications using .NET MVC and are planning to migrate to an open-source platform (due to cost, maintenance, talent, exit strategy, etc.).
We are planning to build web applications (instead of web sites) using Twitter Bootstrap and KnockoutJS (possibly EmberJS but that has a higher learning hurdle). We'd like the following, what platform would you recommend?
We've looked into CakePHP, Zend Framework, NodeJS so far. Any suggestions among these or other suggestions?
Cheers, Dean
Asp.net mvc 3 works pretty well on mono (and it's not about creating tables as objects, wtf?!) . If you refer to ORM or active record, any platform has them. The only cost with .net is windows hosting, everything else can be free. If you can run mono on a linux server, you solved the problem.
If your team has experience with asp.net why don't you continue leveraging it? Experienced developers are expensive and php is not like c#. Yes php is easy, it's also easy to write crappy code especially when you are not very used with the platform. Maybe php developers are cheaper than .net ones, but I think the value of a developer doesn't consist in what programming languages she knows.
At least personaly, I find it the most easy to develop with asp.net mvc as compared with php. VS is an must-have tool (and no PHP IDE matches it), C# has features php can only dream of and .net mvc is a very easy, elegant framework. For me, trying to do something serious in php is just pain. My productivity just drops with at least 50%, it's just wrestling with the mud. And I started with php, I've written my own mvc framwork in php (who hasn't...).
Plain and simple, if your team is .net based you'll have a lot of headaches when you'll move to php. And I have a feeling they won't be cheap.
You ought to consider a Ruby On Rails stack with Backbone.js+jQuery as your front end JS library.
I've been using KnockoutJS for awhile now, and while I really enjoy the MVVM pattern, it doesn't lend itself to larger front-end projects without the addition of several other JS libraries. I've yet to try Backbone.js, though, so feel free to go ahead with Knockout.
Next to Asp.net MVC 3, which is what my company uses, I'd say Rails has the widest support and fullest feature set.
Stay away from PHP if you can: http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design
I've programmed for several years in PHP and it doesn't hold a candle to either Rails or Asp.net MVC.