Simply put, the World Wide Web is the greatest software and distribution platform in history. As former Google CEO Eric Schmidt once put it, “Don’t bet against the internet”.
Because of this, learning the basics of how web apps work is an essential part of tech literacy. Thus, the final step in the Learn Enough sequence is learning to make professional-grade, dynamic web applications.
In particular, even if you plan to specialize later, it’s important to start with “full-stack” web development. This involves learning how to make a full web app, from the “back-end” database all the way to the “front-end” HTML delivered to the browser.
Which brings us to the key question: Which technology is best for learning web development?
At Learn Enough, we believe the answer is the free and open-source web framework known as Ruby on Rails—often called “Rails” for short.
Ruby on Rails, which (surprise!) is written in the Ruby programming language, has a number of features that make it ideal for learning web development:
- Rails comes as an integrated whole. Rails allows you to learn full-stack web development without ever leaving Rails.
- Rails has a large community. For example, this means “Googling the error message” almost always turns up something useful.
- Rails teaches a highly desired skill. There is so much great web software to write that there’s a perennial shortage of skilled web developers.
- Rails itself is in hugely in demand. An enormous variety of companies hire Rails developers—from GitHub to Twitter, from Disney to Airbnb.
Resist the “new hotness”
Notice that “It’s the new hotness” isn’t on the list above.
The “new hotness”—that is, whatever technology “stack” happens to be fashionable at the moment—is generally a terrible place to start, especially for beginners.
For one, the “new hotness” changes all the time.
“Are you using the MEAN stack? That’s so three years ago.”
“The MERN stack is the way to go!”
“You’re still using React? We switched to Vue.js.”
You get the picture.
Moreover, the “new hotness” often takes a mix-and-match approach to web technologies: Mongo or PostgreSQL for the back-end, Angular or React or Vue.js for the front-end. This leads to a profusion of acronyms like “MERN”, “MEAN”, “PERN”, “MEVN”, etc.
This is a huge problem if you just want to learn web development: the pieces don’t hang together well. Because mix-and-match components weren’t specifically designed to work together, lots of things can go wrong that don’t go wrong with an integrated system like Rails.
Indeed, Rails creator David Heinemeier Hansson made exactly the same point in 2017, and it’s just as true today.
In our view, the best approach is to learn how web apps work first, and then apply your knowledge to the “new hotness”—and even then, only if necessary.
In contrast to the mix-and-match stacks, Rails hangs together well. It’s a “batteries included” framework that comes with everything you need to write a complete full-stack web app right out of the box.
You can even swap out one layer and use another. For example, instead of using Rails to render HTML to your users, you can use something like React or Vue.js for the front-end. Or you can switch your back-end database from PostgreSQL to MongoDB.
But you should do such things only after you’ve learned how to do things the easy way, and when you’re sure you need to make the change.
Moreover, once you know how web apps basically work, picking up a different web development stack is much easier. For example, we’ve head reports of Rails developers getting up to speed on the related Phoenix web framework in under two weeks. That’s fast!
Web development is big & getting bigger
There’s basically no end to the number of problems software can solve. As Internet pioneer Marc Andreessen has put it, “Software is eating the world.”
This means that learning to make web applications is one of the smartest investments you can make.
This is true even if you never write applications yourself. Indeed, many non-developer readers of the Rails Tutorial have reported how useful web-dev knowledge has been for communicating with their tech teams.
“Demand for Ruby on Rails is Still Huge”
Even though focusing on a particular technology stack is generally a mistake, it’s certainly never wrong to learn skills that are in high demand.
In this vein, blogger Yoel Blum asked the question, “Is Rails Still Popular in 2018?”
His initial answer was “no”. But some commenters questioned his methodology, which involved things like counting the number of questions at debugging sites like Stack Overflow.
The commenters pointed out that users of a mature, battle-tested technology like Rails would understandably generate many fewer questions than the many confused users of the “new hotness”. (Like we said—the new hotness is a bad place to start.)
Upon further investigation, based in part on what employers were actually looking for, the same author concluded a few months later that “Demand for Ruby on Rails is Still Huge”.
Yup. You can learn a full-stack framework that’s perfect for beginners, and get a job using that exact framework if you like.
In fact, one of the biggest complaints about Rails is that Rails developers are “expensive”.
If Rails developers are “expensive”, what does that mean for YOU, as a Rails developer yourself?
The leading introduction to Rails
Of course, not all introductions to web development are created equal.
With Learn Enough, you get access to the best of the best: the Ruby on Rails Tutorial, which has been the #1 introduction to Rails ever since its launch in 2010.
Created by Learn Enough cofounder Michael Hartl, the Ruby on Rails Tutorial is an 800-page book and 15-hour video series that walks you step-by-step through the creation of a professional-grade web application.
As Rails creator David Heinemeier Hansson once wrote:
3rd edition of @mhartl’s much celebrated The Ruby on Rails Tutorial is out in draft: http://news.railstutorial.org/rails_tutorial_3rd_edition/ — looks like a great upgrade!
And a few years back Wikipedia founder Jimmy Wales was asked what his favorite book was. His response:
It changes often. At the moment, it’s [the] Ruby on Rails Tutorial by Michael Hartl. :)
So you know you’re in good hands.
With Learn Enough, you get to learn the best integrated framework for building web applications from the best source in the business.
Get started now to take the first step toward mastering this essential technical skill.