I first learnt Rails, and am now learning Sinatra. There has always been a lot of talk on what should be learnt first as a beginner. With certain observations, I quite agree to the fact that the journey must ideally begin with Sinatra. A couple of reasons why I say so.
- Rails, the framework by itself makes a lot of assumptions. As you begin to code, you tend to overlook certain pieces without understanding how it even works all together!
- On the flip side, while building Sinatra applications, you can focus more on the architecture and tooling.
- You have more control over your code in Sinatra. You can skip the conventions that Rails provides, and build your own design tool.
Thus, when you move on to Rails after learning Sinatra, you better understand how and why things work. Having said so, this is no where in comparison on what is better.
What you choose depends on what you are going to work on. Sinatra is apt for small, light weight, micro applications. While, if you are looking to build a comprehensive model driven application, Rails is what you should look into.