Resources for becoming a web developer with Ruby on Rails by learning online
Web development courses
- Gotealeaf.com: Their curriculum is perfect for learning to become a web developer. Their instructors and TAs are very knowledgeable, hard working and helpful.
- Michael Hartl’s RailsTutorial (Quite hard if you have never programmed before, but popular and free without videos)
- Baserails takes a very practical approach. You quickly build web apps (like an Etsy clone) by following their tutorials, but a lot of concepts will remain fuzzy as they don’t introduce you to the basics.
- Codecademy’s Ruby on Rails Track is quite new as of May 2015 and I haven’t taken it yet.
- Web Application Architectures class from the University of New Mexico via Coursera.org is very well done, but recommended to have coding experience before starting the class.
Learning Ruby
- Gotealeaf.com’s Introduction to programming with Ruby and their workbook with more excercises.
- Codecademy’s Ruby track
- Chris Pine’s Learn to Program
- Zed Shaw’s Learn Ruby the Hard Way
- Very helpful cheat sheet about the Ruby syntax
- David A. Black’s The Well-Grounded Rubyist
Learning Object Oriented Ruby
- Gotealeaf.com’s Object Oriented Programming with Ruby and their work book with plenty of excercises.
- Tutorialspoint offers a quick overview on OOP with Ruby
For intermediate and advanced Rubyists
- Eloquent Ruby by Russ Olsen.
- Practical Object-Oriented Design in Ruby: An Agile Primer by Sandi Metz.
Learning HTML,CSS, Javascript and jQuery
##Some thoughts:
- Codecademy’s tracks are great introductions and they force you to actually type code to move forward. They are usually not too hard.
- The problem with books is that they quickly become outdated and I would think that you can only appreciate the books after you have covered the basics and have gained some practice programming.
- I would build a good foundation in Ruby before moving on to Rails. You won’t be able to fully understand Rails and appreciate the “magic” without knowing Ruby and Object Oriented Programming.