Learning to code? Learn Enough is based on the idea that you don’t have to learn everything about tech to get started—you just have to learn enough to be dangerous. This is the eighth in a series of posts introducing the main Learn Enough tutorials. You can also read the previous one or the next one.
The Ruby on Rails Tutorial is the 800-pound gorilla of Learn Enough. (Indeed, it weighs in at well over 800 pages.) As such, the Ruby on Rails Tutorial isn’t really a Learn Enough tutorial per se. Instead, it’s the culmination of the core Learn Enough sequence: lessons from every prior Learn Enough tutorial are applied somewhere in the Ruby on Rails Tutorial.
The result is a comprehensive introduction to web application development, and the resulting skillset will put you in a great position to get a job as a web developer, start a career as a freelancer, or found a company of your own. If you already know how to develop web applications, the Rails Tutorial will quickly get you up to speed with Ruby on Rails.
Since the launch of the first edition in 2010, the Ruby on Rails Tutorial has been the leading introduction to web development with Rails (Figure 1). And while it does use Rails specifically, the focus throughout the tutorial is on general skills that are useful no matter which specific technology you end up using. Once you understand how web apps work, learning another framework can be done with much less effort. That being said, the framework of choice—namely, Ruby on Rails—has never been a better choice for learning web development (Box 1).
Ruby on Rails (or just “Rails” for short) is a free and open-source web development framework written in the Ruby programming language. Upon its debut, Ruby on Rails rapidly became one of the most popular tools for building dynamic web applications. Rails is used by companies as varied as Airbnb, SoundCloud, Disney, Hulu, GitHub, and Shopify, as well as by innumerable freelancers, independent development shops, and startups.
Although there are many choices in web development, Rails stands apart for its elegance, power, and integrated approach to web applications. Using Rails, even novice developers can build a full-stack web application without ever leaving the framework—a huge boon for people learning web development for the first time. Rails also gives you flexibility going forward—for example, serving as a great back end if you want to build a single-page application or mobile app sometime down the line.
Due in part to this philosophy, Rails has remained so stable at its core much of the Rails Tutorial has been the same since the third edition, launched in 2014. The things you learn in the Rails Tutorial won’t go out of date soon.
And yet, Rails continues to innovate. For example, the Rails 6 release includes major new features for email routing, text formatting, parallel testing, and multiple-database support. A big part of Rails 6 is being “scalable by default”, which means that Rails scales no matter how big your app gets. All this while maintaining rock-solid dependability—indeed, the wildly popular developer platform GitHub, the hugely successful online store-builder Shopify, and the collaboration tool (and very first Rails app) Basecamp all run their sites on the pre-release versions of Rails. This means that new versions of Rails are immediately tested by some of the largest, most successful web apps in existence.
Not bad for a little side project cooked up by a freelance Danish web developer way back in 2004. What was an edgy choice then is an easy choice now: with its proven track-record, productive feature-set, and helpful community, Rails is a fantastic framework for building modern web applications.
The principal teaching method of the Ruby on Rails Tutorial is building real working software through a series of example applications of increasing sophistication, starting with a minimal hello app (Figure 2, Section 1.2), a slightly more capable toy app (Figure 3, Chapter 2), and a real sample app (Figure 4,2 Chapter 3 through Chapter 14). As implied by their generic names, these applications focus on general principles, which are applicable to practically any kind of web application. In particular, the full sample application includes all the major features needed by professional-grade web apps, including user signup, login, and account management. The final version of the sample app, developed in Chapter 14, also bears more than a passing resemblance to Twitter—a website that, coincidentally, was also originally written in Rails.
There are multiple ways to get the Ruby on Rails Tutorial. All the different formats cover the same basic material in slightly different ways.
- The Ruby on Rails Tutorial online course subscription or ebook (including three free sample chapters).
- Print edition: The print edition is nearly the same content as the ebook available from railstutorial.org but with the advantage of a physical format. (I say “nearly” because I’m constantly tweaking little things based on reader feedback, so the version I maintain is always a little more up-to-date.) By the way, if you’ve already read the book, please consider leaving an Amazon review, which would be much appreciated!