Prerequisites to learning Ruby on Rails



There is not shortage of books, bootcamps, courses on the internet that claim to be able to teach you Ruby on Rails in less than anywhere between 1 month to 3 months.

There are many books that give a good introduction to Ruby on Rails and make it very easy for beginners to understand. However when I started learning Ruby on Rails none of these books mentioned the prequsites to learning Ruby on Rails. They just assumed that I already knew it all. Below I’ve listed a few things that if you actually want to learn Ruby on Rails really fast you should learn fast. It will probably take you anywhere between 1-3 weeks to learn to the below material. However in the end it will allow you to be able to learn Rails much much faster.

HTML: RoR is nothing but a framework built on top of Ruby that creates a bunch of HTML dynamically. If you do not know HTML you should stop reading and learn HTML. The thing to focus on is learning the basic tags such as <h1>, <p>, <div>, <span>. Also very important is to learn the <form> tag. The form tag is responsible for passing data from the user to the server.

CSS: Makes your HTML look nice & pretty. It stands for Cascasing Style Sheets and it commonly referred to styles or stylesheets. They’re all refering to the CSS, dont let that confuse you. The gif below shows what happens when we remove all CSS on google.com. Notice that the content is the same, all the links, the “Google search” button, “I’m feeling lucky” are still there. The only thing that is missing is the signature Google page look which was created using CSS.

CSS vs No CSS

CSS can be incredibly powerful and mastering it can take time. There are front-end developers who spend years just mastering CSS. However for learning Rails the follwing CSS concepts are enough along with some basic selectors.

  • Class vs Id (probably the most common thing that trips people)
  • The CSS Box model
  • CSS Floats
  • Bootstrap Framework (Allows you to make reasonable looking websites with little effort)

cssbasics.com has a reasonably good tutorial.

JavaScript: I would say that you can probably skip learning the JavaScript language itself, but knowing What JavaScript is used for is important. In the below gif the sidebar on TheVerge.com is created using JavaScript. Once I disable JavaScript the sidebar stops working. JavaScript is also used on autocomplete boxes like on Google’s search page. The simplest usecase of JavaScript is using it in showing those sub-menus when you hover over it in the navigation bar.

Javascript vs No Javascript

Ruby: Yes before you start Ruby on Rails you should probably learn the ruby programming langauage itself. If you dont know object oriented programming its vitally important that you learn a little bit about Ruby. If you know already know something object oriented like Java, C# or C++ I would still highly recommend learning just plain ol Ruby. Why? because although conceptually very similar to other object oriented programming langauges its syntax is very very different from Java or C++.

Beginners and Programmers coming from other languages should start by going through the interactive tutorial at rubymonk.com.

HTTP (GET vs POST) is the underlying protocol when it comes to the internet. It has 2 different types of calls, learning the difference between each makes learning Rails much faster and easier. This should be familiar to anyone coming from a web programming background, but for hardcore C++ and Java people this might be new territory.

Unfortunately I still haven’t found a suffeciently good explaination geared towards someone who is unfamiliar with web programming. However to start this might be something. The Definative Guide to GET vs POST

Woah! So much before I learn Ruby on Rails?

Yes! and this is just the beginning. Learning Ruby on Rails is a journey that is literally never ends. Because Rails changes so fast, as a developer you have to constantly keep on the top of the framework or you’ll become irelevent. You could dive head first into Rails but from first hand experience I can tell you that learning the above technologies first will siginificantly speeden up your learning process.

Conclusion

Being a Rails developer is not for everyone. If this is something that you want to spend time learning, it can be extremely rewarding. Rails developers are highly sought after and some of the coolest companies in the world are built using Rails. You’ve probably visited them without knowing that they were built using RoR.

comments powered by Disqus