Ruby on Rails, or referred as Rails, is a web application framework that was created by David Heinemeier Hansson in 2004. Ruby is an object-oriented program language that uses the framework Rails. Like most coding frameworks it has pre-built libraries and a standard file architect that you must follow.
Ruby on Rails is used to create websites faster, write cleaner code, and is very flexible.
If you have been exploring web development, you have probably run into topics on forums or Quora about Ruby on Rails. Even major sites have started implementing some of their development on Rails, like Twitter and Basecamp.
What You Can Do With Ruby
It not what you can do with Ruby that is different, most server side languages can all accomplish the same tasks. Why Rails is different it takes some of these tasks and makes them easier to do. It has a huge community with gems, which are coding scripts to help with tedious work.
It can eliminate some of the consuming tasks that come with all websites. Such as handling database connections and your template file structure. It is suitable to handle a high volume of content inputs, database management, and storage.
As some of the most argue advantages of Ruby on Rails is development time, which saves money. There are other areas that it can become quite useful.
- Framework – With Ruby on Rails, you have the ability to use their robust framework. It gives you popular libraries to get started quickly and efficiently.
- Clean Code – It takes less code to do simple tasks. Because of this, you have less code to read and sort through while managing or jumping into a project.
- Flexible – Keeping an object oriented programming language keep things organized. Making changes easily to modify and improved after the initial release.
- Community – Huge community base to help with any questions or give any advice. Combined with thousands of "gems" and plugins, plus an in-depth documentation.
- Cost - With a start up cost of $0, excluding your web server cost.
- Security – Rails framework has some security features built in to protect you from SQL-injections and XSS attacks. If there are other threats that need to be addressed, there are additional plugins available.
- Learning Curve – Learning a new programming language there is always a learning curve. Depending on your personality this could be a drawback or an advantage depending on how quick you can pick it up. By industry standard, it has been classed as a hard language to learn.
- Processing – Ruby on Rails is a fast framework, but compared to applications that are coded in Java, PHP, or C it falls a little short.
- Hosting – Not all web hosting companies have servers that support Ruby on Rails. It is recommended to check with your web hosting provider before committing. If you have a VPS server or dedicated server, you should be able to installed it yourself.
- Trend – Ruby on Rails has become very popular in today's market. As this is great for jobs and careers, it doesn't necessarily mean that your project needs to use It. Evaluate your goals then decided if it’s a good fit.
Learning Ruby on Rails
Note: If you don't know HTML or CSS, you need to start there as these two languages are the backbone of web development.
There are hundreds of ways to learn Ruby on Rails, from YouTube videos, to online training courses. Since there are mixed reviews about the learning curve to Ruby on Rails, try a few different methods and stick with the one that is work for you.
Having a testing environment is a must when learning a new language. You need to be able to see what the instructor is doing and do it yourself. Once you get some of the basic commands down, try making some of our small set of applications.
Try to mimic a feature from another site can be useful. This gives you a clear path on what you want to accomplish but you need to think and figure it out. It may be tempting to install some gems and plugins once you are starting out. It may be beneficial to create everything yourself to help familiarize yourself with the commands.
To become a great coder you need to code, code some more, and code some more.
Learning Ruby on Rails for Beginners
Learning a new coding language can be fun and frustrating at the same time. The resources below are some popular choices to get started:
Install Ruby on Rails
One of Ruby on Rails strong feature is that it can be installed on any type of server. Linux, Windows, or Mac all has fairly easy setup instructions.
For Windows and Mac, you can use a downloaded installer to do all the work for you.
On a Linux server, there are a few more steps within the command prompt to get your going. You need to verify you have Ruby and SQLite installed before you install Rails. You will probably need to install Ruby, as most Linux Operating System do have SQLite ready to go.
To install Ruby you can run the following commands:
sudo apt-get install ruby-full
sudo yum install ruby
Once that is complete, verify you have both Ruby and SQLite are ready.
It should print "ruby 2.x.x" and a version number for SQLite "3.x.x". If you see both it's time to install Rails by using the gem install command.
gem install rails
Verify that Rails have installed correctly.
If you see "Rail x.x.x" then you are now set to explore the world of Ruby on Rails.
Some Ruby on Rails Examples
You may be wondering if there are any "big websites" that are using Ruby on Rails. Well...yes. There are many websites that you are visiting every day that have been built with Ruby on Rails.
Here are a few of them:
Basecamp - A web based project management and collaboration software that has over 10,000 companies using it.
Dribble - A digital portfolio system for artists and designers to show off their work.
Fiverr - The $5 dollar marketplace used by all types of industries.
GitHub - Home to developers that need to collaborate their development projects. Widely used by the open source community.
Hulu - One of the most popular streaming TV episode and movie platform on the internet today.
Kickstarter - Crowdsourcing support to help artists, filmmakers, designers, and other business ventures get started.
Scribd - Huge library of books, audiobook, sheet music, comics and other documents available online.
ThemeForest - A massive e-commerce library of website templates, scripts, and other design elements for web developers.
Twitch - Live video streaming service specifically for gamers. Over 100 million unique viewers per month.
Just looking at these sites, you can see how powerful Ruby on Rails can be and how far you can push it. These sites deal with millions of users and terabytes of bandwidth per day without skipping a beat.
CMS Built With Ruby
If you are ready to get going with Ruby on Rails but still can't start from 0. There are multiple Content Management Systems that have been built with Ruby on Rails that you can install and get using today.
All of these are completely free open source platforms that all have been updated and maintained.
Ruby Developers & Careers
With Ruby on Rails becoming popular for a lot of start up companies, the job market for them is also on the increase. Doing a quick search in Indeed, you will see that there are thousands of jobs available from coast to coast. Popular areas include the more "tech" cities like New York, San Francisco, and Seattle.
The national average salary for Ruby on Rails Developer is $102,000 a year.
Future of Ruby
By the numbers, Ruby on Rails is a web development language that is going to continue to grow. It has a strong history of development, a large increasing community, multiple learning sources, and a strong job market.
There isn't any reason not to look into Ruby on Rails and add it to your coding portfolio.