I’ve started learning Ruby on Rails after reading a book about ruby. But I was soon disappointed by the fact that I wasn’t learning ruby, but ‘rails’, which is not the same thing for me.
So, I’ve decided to go without rails for a little while. Having experience in web development I did choose to try the Ramaze framework, which I really like. One strange thing happened though. Once started with Ramaze, in need of some document I’ve found some screencasts on ‘The Pragmatic Programers’ called ‘Classy Web Development with Sinatra’. I’ve bought both screencasts, the first screencast is a really good small introduction to Sinatra. I’ve then realized that Sinatra is really great to create an API or a quick prototype of an application. So I’ve decided to prototype my ‘youtube niche’ application with Sinatra. Later on, my application became bigger and I felt It was wrong to continue using Sinatra for that, mainly because of the freedom (ie: lack of structure in this scenario), so I went back on Ramaze. The wonderful things that happens was that the models were still working without modification, the template require only really small modifications to work and the controller part was not too hard to modify to get working on my now new framework (mostly updating request params usage, renaming methods and putting them in separate files). Then my app became bigger and bigger. Ramaze was doing the job right and easily. But I’ve quickly realized that I was missing some facilities from the Rails framework. Shame on me, I know enough of Rails to know that I miss some stuff. The webapp is still in a working prototype phase, but I’m not gonna polish it to make a release…
I’m not turning my back to Ramaze nor Sinatra. In fact, I’ve promised myself to use Sinatra the next time I need to create an API or a web service. And for sure Ramaze is a good choice for small website/webapp, because it’s way lighter that Rails, so it can be run on a shared web hosting more easily. I know that a VPS is cheap nowadays, but sometime you just want to try stuff on a cheaper Dreamhost account.
The thing is, I have a lot of free time these days, so I’m experimenting. My next project may not be in Ruby, even if I really like it. Because I’ve been seeing an ex lately…