The ocean of web programming is full of versatile technologies including Ruby on Rails. It is a sought-after framework that powers Github, Dribbble, and many other famous names.
Different web developing companies including Railsware London have selected it as a pivotal technology for their projects. The engineers proficient in this tech stack enjoy high demand in the market, and the number of people willing to join the community of Rubyists keeps growing.
The framework offers many attractive hallmarks like the Model-View-Controller architectural pattern and the convention over configuration paradigm. Moreover, the web app building process is usually faster compared to alternative technologies due to the time-efficient model of work. Regardless of the reason for deciding on RoR, any engineer has to come through particular stages of mastering the technology.
What to begin with
We could have advised to take on Ruby at first. However, a beginner engineer should gain insight into the three pillars of front-end development at the outset. These are:
- HTML – a language for structuring the page and its content using tags. The recommended sources for learning include Jennifer Robbins’ HTML5 Pocket Reference, HTML QuickStart Guide by the publishing firm ClydeBank Media LLC, and so on.
- In some books, introduction to HTML is combined with CSS – a language that describes the way to display the elements written in a markup language. Jon Duckett’s HTML and CSS, as well as Mark Myers’ A Smarter Way to Learn HTML & CSS are decent references to form the background.
Books are not the only source of knowledge in the 21st century. Therefore, online courses should also be taken into account.
The underlying language
Front-end technologies are the appetizer before the main course, which is Ruby. In the digital world, this term denotes an object-oriented programming language rather than a gemstone. Since Rails is built atop its working principles, learning Ruby is crucial.
Theoretically, one can skip learning the Ruby fundamentals and move directly to the framework. Nevertheless, the lack of the required expertise will reveal at a more or less complicated issue with the code. It is essential to discern that RoR is a sort of Ruby extension, which makes the creation of web apps easier due to a collection of pre-written code.
Books, online courses, and video tutorials are at disposal of any beginner-engineer aimed at RoR. Dipping into the Ruby world full of news and articles is also welcomed. As for the publications, attention should be paid to David Black’s The Well-Grounded Rubyist (its cover picture looks weird, but the content is expected to be fascinating), John Elder’s Intro To Ruby Programming, and Sandi Metz’ Practical Object-Oriented Design in Ruby.
It is also essential to combine gaining theoretical knowledge and hands-on approach. Programming skills need to be polished up, and practical implementation is the best way to do this.
Now the dessert. The knowledge acquired prior to this step should facilitate mastering Ruby on Rails. Free relevant information can be found at the official Rails Guides and the Blog. An insight into some of the video courses won’t hurt too. As for the best RoR books, the work by Sam Ruby (what were the chances that a person with such name would prefer another language to master:) called Agile Web Development with Rails and Michael Hartl’s Ruby on Rails Tutorial should not be neglected on any account.
Similar to the language, there is a bunch of publications dedicated to the technology, and it’s always a challenge to choose the best one. Those who are tired of books and wish to have fun learning can enjoy a game called Ruby Warrior. It allows you to write code and move up from level to level gradually increasing the knowledge.
YouTube is also a place where engineers can find relevant content to increase their RoR expertise. The most famous channels are GoRails (over 8K subscribers) and Drifting Ruby (over 5K subscribers).
The Odin Project is another free and fun solution for Rails-eager. It contains useful information about the whole project cycle starting with getting feet wet and up to some advanced topics (routing, layouts, metaprogramming, etc.) to address with RoR. Beginner-engineers can also polish their front-end skills using this full stack curriculum.