My adventure with Ruby on Rails (RoR) Web Application Development one began almost year ago. It took me 11 months to get comfortable enough with RoR that I could build almost anything I want. You may have read posts where someone learned t program ROR in a month, or three, or six. What I’ve found in all cases is that they either already had at least one of the following: a degree in CS, already had experience programming many years ago, had help from a training program or tutor, and programmed full-time. So if you can program full-time and have experience or help, you can learn in 3-6 months. If however you are learning to program part-time, it might take you a year. It took me almost year but I got sidetracked with other projects and most weekdays I only spent an hour on RoR. Maybe I could have achieved the same level of mastery in six months with more time per day and consistency. Your available time, past experience, and access to help determine how fast you will learn to program.
I didn’t have much help when I learned. I first used the Michael Hartl Learn by Example tutorial to learn RoR. Because it was out of date, I wasted maybe a month hacking through the book. But Stack Overflow became me best friend. If you have a problem, the questions has probably already been answered there. I usually use Google and then use the related posts in the right sidebar to get more information. I also went to a couple of SkillShare courses here in New York. They were fine but two classes don’t change your programming life and because I used a PC instead of a Mac the method for consuming an API didn’t work for me in the second course. But the experience I have hacking the PhP and CSS of the dozens of websites I’ve created helped with the front end portion of the web development.
After hacking WordPress sites for three years now, I can say that Ruby on Rails is more intuitive than PhP in almost every way. The PhP based WordPress content management system (CMS) is still the best and most cost effective way to build a basic website. But if you want to create a new or custom web application that does something other than blogging or a simple e-commerce store then RoR is by far the best way to build it. Once you know what you are doing with RoR, you can build minimum viable product, test it with live users, then iterate in days or weeks employing the “Lean Startup” methodology of Eric Ries and Steve Blank.
Web Application development is arguably the best entrepreneurial opportunity available for individuals to bootstrap and new business from scratch today. Ruby on Rails (RoR) enables beginners to create an application prototype in days or hours. One person can build a fully function web application that interfaces with users and external data sets. This is Kryptonite to the enterprise software packages that cost six figures or millions to customize and learn. You can build a piece of software that can be If you want to build your own software application for your own startup, business, or job, RoR is the easiest language to build a working application or prototype quickly and it is completely open source and free.
Here are the best RoR resources I have used online. I have personally used all the resources and recommend this material to anyone who wants to get up and running quickly.
- Ruby on Rails Tutorial-Learn Rails by Example by Michael Hartl-I bought the first edition of the physical book but ended up using the free online version much more because it was much more current. And while my initial experience working through the first edition was extremely painful because it was hopelessly outdated (as detailed in my “Creating Web Applications with Ruby on Rails” post, I tip my hat to Michael Hartl for a radically improved second edition. All the numerous problems I experienced with the original book have been resolved. I worked through 90% of the book and didn’t find a single error. His use of Twitter Bootstrap is a really nice addition to this new version. However, I do recommend that if you are a RoR newbie, you take the following advice:
- While test driven development (TDD) is the best way to perform application development, it can be difficult and slow to implement as a newbie. If you use this resource as a first book to learn Ruby on Rails, I highly recommend that you skip TDD as it is detrimental to getting your application running and the code in the book is incorrect in too many areas. You will save days skipping over TDD so you can experience the joy of creating a powerful web application (Twitter app) in rapid fashion.
- Web Applications with John Ousterhout-This is a free online course that provides videos, course slides, resources including a 200+ page CSS PDF, and assignments that will provide you with a working web application at the end. This is an excellent course although it is getting a little dated at this point.
- Learn Ruby the Hard Way-If you like getting your hands dirty with drills and learning the skills to build equations, this is a good resource to get you started. Did I mention the entire book is posted free online.
- Rails Casts with Ryan Bates is an excellent resource for using gems to perform specific tasks in Ruby. Resources on the site include screencasts and the actual code you need to implement the screencasts on your own site.
- Ruby Toolbox is a comprehensive catalog of Ruby and Rails plug-ins, gems, tools and resources for Ruby developers with a scoring system to help find you the best resources for your project.
- One of the most interesting online Tutorials I’ve found is written by Dan Nguyen. While it is still rough I like how documents his ongoing scraping, compiling, data analytics on his projects page.