A longer post
Ruby on Rails is immensely over-hyped. With the rise and rise of all the 37signals products, RoR has had more and more exposure and now everybody seems to be doing it. I pick the tools based upon the value it will add to my business, not because other people are doing it. If Rails is so brilliant all the developers that continue telling me it’s the best thing since sliced bread would actually be working on projects rather than spending time on blogs and forums preaching Rails.
Hosting can be an issue
Hosting really isn’t an issue now as I have my own server, but when I needed to choose between CodeIgniter and Rails, I chose CodeIgniter because pretty much every host supports PHP. (Thats not the only reason why I chose CodeIgniter though)
It offers nothing new
A group of Rails developers (the ones from point #2) believe that Rails is the holy grail of Web Development and nothing else can compare. But this isn’t the case. Rails is simply a tool, it’s not the best and not the worst. But Rails doesn’t do anything better than any other language or framework out there, it’s just a different approach. There’s nothing that really makes it stand out other than the idealistic morals of many Rails developers and the 37signals products.
There’s too much noise
Part of the reason why I chose CodeIgniter over Rails was that the CodeIgniter community feels quite strong and they’re all very friendly on the forums. There’s a number of people who I see frequently on the forums and notice those as strong CodeIgniter’s. But there’s so much hype around Rails that I’d get lost in all the noise. When I released The Authentication Library I had thousands of referrals from the CodeIgniter forums and The Authentication Library was downloaded over 1,000 times from my server. I just couldn’t do that if I was a Rails dev. Not enough people would see my post and use the library to warrant releasing it!
Advanced PHP Developer > New Rails Developer
I would much rather be an advanced PHP Developer, broadening my skill set and the types of jobs I can apply for rather than simply being a new Rails developer and only being able to apply for the most basic of jobs. It just doesn’t make sense to limit myself in this way.
There are more PHP jobs than Rails jobs
I am a freelance web developer, if there aren’t any jobs then I’m not going to make any money. So why would I use a tool that would restrict the amount of jobs I could apply for? That doesn’t make sense to me, and even if it was the best tool on earth, if the jobs aren’t there I don’t want to know. We’re in a recession now I and really wouldn’t like to be a limited Rails developer. Just take a look at the monster listings for PHP and Rails. 284 PHP jobs and 42 Rails jobs.