So there's been a lot of hype about Ruby over the past several years. For those of you who are interested in programming and programming languages, you heard about it right from the start, as its beautiful syntax and ease of use lured many programmers into its use.
While Ruby is wonderful, it wouldn't be what it is today without the existence of Ruby on Rails. This web framework posed the first real threat to PHP. Rails was powerful and agile, and helped web devs create incredible web apps with incredible ease. The generators that came along with this gem made it possible to get a completely functional website up in a matter of hours, rather than days. That was incredible.
I used Rails on and off, switching between it and CakePHP. I didn't really understand Rails' routes and wanted something like CakePHP's
bake functionality which creates an entire scaffold with styling and everything. I didn't object to the un-RESTful CakePHP nature of using just
POST requests, as I didn't need the RESTful functionality for any of the sites I was creating. I used Rails for a couple projects, but it always felt like I was coding more than was necessary.
I started working at Think Topography this summer and was tasked with building the new Ithaca Hours mobile web app that would facilitate the use of Ithaca Hours. My boss had always used Rails and suggested that I use Rails for the API end of this project. It seemed like the best choice, given the requirements of the project, and so it began: I dove back into Rails.
Once I wrapped my head around routes and the devise/warden authentication framework, I was truckin'. I was making huge progress on this API and learning gobs of information along the way. I was loving Rails and appreciating its incredible power. I was writing tests in rspec, which was a joy when combined with factory_girl.
I recently worked on a project for Moët & Chandon USA that was built upon the CakePHP framework, and I was not nearly as excited about returning to this framework as I expected to be, given my incredible comfort with the language and the framework.
But my work at Think Topography has changed me -- I'm a Rails guy for sure.