If there’s one thing the Internet can always be counted on then it has to be the polarizing effect it brings out in people. Go onto any site, any forum, any social network or even any blog and you’ll find people either vigorous defending something like it was the reincarnation of the messiah or viciously attacking it as if it were a suggestion of Hitler’s. Things are no different in the web industry world either. People endless debate the merits of certain approaches, certain styles of developments, whether or not designers should be able to code and, of course that time old classic, which development language or framework is best. I guess it would be rude to buck the trend.
I’m going to try and refrain from going too deeply into the technical merits of developing either with PHP or Ruby on Rails because, frankly, I think they’re much of a muchness plus quick searches around the net will reveal far more in-depth explanations of their mechanics than I can ever relate in a single blog post. Some people call RoR a slow, some people say PHP is archaic, I think these things are petty considerations as the reality is they are both similar enough in terms of their technical offerings. Ruby 1.9 is almost just as fast as PHP now whilst PHP is constantly being updated and has an abundance of good frameworks to chose from. Unless you’re either incredibly intelligent or a complete pedant, I don’t think their operating foundations are really going to have much of an impact on you. So instead, lets look at the considerations that really matters like, y’know, the higher level business stuff.
Why pick PHP?
PHP is the development environment of choice for most web agencies and for good reason. Aside from it’s open source nature (which RoR also boasts), it’s incredibly well established and by far the most popular web language on the net. This simple fact gives a tremendous number of advantages to companies such as a huge variety of off-the-shelf CMS’ to pick from, cheap and abundant hosting and a large, well supported community. Developers are also easier to find and cheaper than their Rails equivalents which means it’s easy to quickly find freelancers to work on projects when required.
PHP is the development environment of choice for most web agencies and for good reason.
Perhaps the biggest reason to go for PHP though is that certain clients love it. Well, the ones who’ve hired a consultant to help advise them on their new incredibly expensive web site anyway. These are the people who think an open source CMS is the only way to go and to present any other option would leave you dead in the water. The advantages and disadvantages of open source CMS’ is a discussion for another day but at least by developing with PHP you’re more likely be familiar with that favourite one the client has their eye on.
I guess at the end of the day if you’re looking to compete in a traditional web agency environment then it’s going to be very difficult to develop with anything other than PHP. It’s well established, versatile, easy to find developers for and something a lot of clients are familiar with, especially when it comes to open source CMS’, all factors which will ultimately help you win more work.
Why pick Ruby on Rails?
Compared to PHP, RoR is relativity new, especially in the sense that it’s only started to really pick up a following and gain traction in the last two or three years. But oh what traction it’s gained. With some of the biggest and most profitable sites in the world built using it (i.e. Groupon, Twitter, Hulu etc) and entire seminar and conference events dedicated to why it’s so potent at generating tangible business benefits, Rails really is the perfect environment for building web apps and agile systems that need to be quick and cost effective to scale.
I think it’s fair to say that the popularity RoR is exploding right now
Likewise there’s a lot to love about the workflow that RoR supports natively. I promised I wouldn’t go into the techy stuff but simple things like database migrations, excellent testing utilities, straightforward integration with automated deployment mechanics like Capistrano, and a standard development conformity across all projects (compared to the dozens of frameworks available in PHP) mean you’re development cycle is going to be slicker, faster and less error prone. To put it bluntly, you can build things more rapidly in RoR than you can using even the most comparable framework in PHP which, in turn, lowers your development costs and increases your quality. Now that certainly is something to take notice of.
I think it’s fair to say that the popularity RoR is exploding right now and demand for it’s use (not to mention for experienced developers) is rather massive as more and more companies start to realise the benefits it can bring in terms of speed of development, agility and the ability to quickly get products to market. Also, whilst it doesn’t have the array of open source CMS’ available to make it as appealing as PHP to a lot of web development agencies I have no doubt that’s an area of Rails we’ll see grow over the next few years.
Why not pick both?
At the end of the day, most companies are too deeply entwined with a particular development environment to consider switching to another and most developers too single minded in their support of a particular programming language or framework that it’s often impossible to get anyone to look twice at an alternatively solution. Which is a shame really as both PHP and Ruby on Rails have a lot of fantastic aspects going for them in very different ways. So why not master both technologies and use either when appropriate? Why must we chose one or the other and stick with our decision until death? Surely being technically agnostic is the most beneficial place to be?
Surely being technically agnostic is the most beneficial place to be?
I suppose if I were forced to to respond to my own rhetorical question then, which is right for your company, Rails or PHP, the answer would have to be both.