Developing web apps with Rails is not easy. Learning Rails is not easy either. There are a number of issues that make it less user friendly that other development stacks. But why is that exactly?
I’ve based most of this article on my own experience while learning Rails, and from the responses of others in a similar position attempting to work through the book/course I wrote/tutored.
The first issue when learning Rails is an obvious one. It’s not intended for people new to web development.
If you are not familiar with the idea of the MVC pattern, and that there are common problems you’ll come across when building any web app, then Rails is definitely not for you.
If you have back-end development experience with another development stack (such as PHP) Rails can still have a steep learning curve.
Okay, so what makes learning Rails so difficult?
There are a number of things. First, where do you start? Even installing everything you need can be tricky, and if you’re on Windows, trickier still depending on the method you use.
Second, I now firmly believe you cannot be effective with Rails until you know Ruby to a reasonable level of competence. Without a solid Ruby foundation, Rails feels a bit like a bunch of commands typed into the command line and some… magic.
Third, you can’t just throw your app up on a server and see how it looks (for production, you can run your app locally) . You have to deploy it. And that means you either need some serious Linux sys admin experience – or you get used to Heroku very quickly.
There must be a way to learn Rails…
I’m not saying there isn’t. I’m saying it’s hard. Here’s some things I’ve tried that have certainly helped.
Get Agile Web Development With Rails 4 The book is available here and I highly recommend it. It’s helped me a lot and I still refer back to it constantly when developing a Rails app.
Code School Get a Code School subscription and spend time on the Ruby path. The learning style doesn’t help everyone but it’s worth a shot.
Build apps Try building some simple apps. Even re-create your own site using Rails. Basically like learning anything new, the more you use it, the more you’ll get used to it.
Be guided by the Rails Guides Spend time (lots of time) on the official Rails Guides. There is a surprising amount of information there.
Not for newbies then…
As I’ve said, Rails is not suitable for people new to web development. That might sound like a bold claim, but it’s true because there are just too many concepts that you have to grasp. And you need to learn a programming language at the same time.
Start with something simpler, and then progress to Rails. Even then, be prepared for a battle, learning Rails is hard.