The best way to learn a technology is to do (pracice) the techinque. Be it painting, architutre, programming or building an application (app) - getting hands in the clay is the way to go.
But to excpect a new art student to make a portrait is stupid. There are too many details and it get's overwhelming. And soon bad results take away the enthusiasm. Unfortunately, most programming books ask new users to make portraits before teaching them basics. Basics isn't about syntax or philosophy of a programming language but building the app.
We foucs on basics that get you off and running.
Good tools are indespensible for good artists. They don't really change or transform your art but aid you create better art by letting you focus on meaningful details.
Frameworks are indespensible tools of the programming world. Ruby on Rails is one such framework, it aids you to build your apps faster by automating many things. Learning a framework will get you started on real work faster than learning a langua