This question may asked so many times. I google about it and got lots of discuss generally. After reading all of them, I go to
a conclusion is choose the framework which your understand to it is the most. But we are willing to lean new language or framrwork to make our app better.
So we need some advices to determine which framework we should go with. So I'm posting here, hope
someone can give some advice from real experience when working with ROR and some PHP Framework.
We are developing a web application (it somehows like a file management sytem with multi users, drag and drop user interface,..). Our application is really a back-end for a system which runs on embedded device. We
are in progress to determine a "good" framework for our need.
1. Build a business web application.
2. Easy to maintain, update.
3. Easy to scalable.
5. Easy to separate test& live environment.
6. Great performance. (We have like 1000 devices is getting data via our)
7. Easy to deployment.
8. It already has a many components/modules for general purpose such as: ACL, Authentication, Uploading, Picture processing,...
9. Have a great community behind the framework to support for it.
10. Unit testing.
One thing I notice, code in Ror is very short. To do the same purpose, we can just use some line of code in ROR compare
to PHP. This is better for us. Also we want to use AGILE method in our project. The reason is our product keeps
changing to meet to the need of customer. So I think AGILE method is better than for us than WATERFALL method.
For #7 and #9 RoR falls behind.
Concerning deployment, I'm sure it's just because I don't understand deployment yet but it's just much different than simply uploading a file and checking in a browser.
Concerning community support, you'd think RoR was dead if you go by the activity on their forums.
Concerning testing and maintainability I'd say RoR wins but everything else is just about equal.
I'm very new to RoR though so don't listen to me. Of course this is probably the only reply you'll get in the Ruby forum so there you have it.
Well, there you go.
The Rails community is in fact very active.
Deployment with Capistrano could not have been easier. In fact, many PHP projects use Capistrano for deployment.
No where near PHP or .NET. Not even close.
PHP = upload files; done. .NET = upload files; done.
Yeah, #7 and #9 RoR falls behind. I didn't say it was bad or poorly implemented, it just falls behind PHP or .NET in those areas.
Rails is a framework, please don't compare a framework to an entire language (PHP) or an entire platform (.NET). Ruby might not have the community size PHP has, but Rails definitely has one of the larger communities amongst all web development frameworks.
Deployment is not about uploading files.
Whatever you say, sunshine.
I'm a .NET guy, and no, it is typically quite a bit more than deploying files.
Anyhow, rails really got deployment right, or at least worked over the nightmare of really deploying a rails app by hand. See heroku.
Now, the whole "just throw mongrel and mysql instances at it to scale" is a more interesting issue . . .