I am quite a newbie in web development world. My friends and myself are planning to write a new web-app (as a side-work). We have a little experience in PHP and heard and read a lot about Ruby on Rails.
What do you gys suggest RoR or PHP(with a framework like symfony or cakePHP) ?
Our priorities are :
1. Quick development time.
2. Hassle free development and deployment.
3. cool-looking UI.
4. lower learning curve.<p>Thanks,
Vineet
Personally I've gone with RoR and haven't looked back.<p>That said, its your project and there are no right or wrong answers. RoR and PHP would both fit your 4 priorities.<p>Let me know if you want to bounce so more questions off me. tiwatson at gmail
My personal preference is the KohanaPHP (kohanaphp.com) framework. It's a PHP5 dependant MVC framewor with lots of libraries / helpers and reasonably good documentation.<p>When V3 comes out later this year it should compete easily with RoR in terms of speed versatility and so forth (from what I have seen)<p>Ultimately it depends on what your doing: I have prototyped fairly complex sites with ease in a day using Kohana. Im told RoR is pretty good at that too.<p>I usually recommend PHP for big projects - but I suspect that is because I have barely touched RoR and so am biased :)
May I ask you to expand on your questions?<p>1. PHP & RoR both offer "quick" development time (timed to what, though?)<p>2. Define hassle-free development? As for deployment, surely that's in your hands as to where you want to deploy? PHP has wider deployment (usually available with Apache-based server hosting)<p>3. The UI has little to do with the underlying, server-side technology (if I understand your question; besides, "cool-looking" is very subjective)<p>4. Lower learning curve than what?
Vineet,<p>ROR makes a certain class of application very easy. Others not so much. If you are building an application with a limited number of data models where having 'user' vs 'admin' distinctions isn't very important, then you can get up and running with ROR very quickly. If you are building a more traditional application where there is a distinction between end users who consume and administrators who create, then Djanjo would probably be a better fit.<p>For the types of applications that I create for my job, neither is very good as the number of data models, large amount of business rules etc are beyond what most frameworks are designed to make easy.
if it's just a one off and you have some experience already in php, then sticking with that might be a good plan.<p>if you see this as an ongoing evolution and want to explore a framework and language that has some incredibly elegant approaches to the distinct problems and challenges faced in most web applications, then getting into rails could be a game changer for you in the long run. what tends to happen in rails is that the gruntwork goes away, and you're left focusing just on what is unique to the tech you're building. additionally, rails imposes architecture that helps an app over time actually become more and more focused, and accessible, rather than more spaghetti-ish.<p>once i got into rails, and over the fairly mild initial learning curve, it has been like working with a fine caligraphy pen vs a leaking ballpoint.