Wondering if you should learn Ruby over more common programming languages like Python or JavaScript? Ruby is still one of the most popular programming languages in the world due to its portability, flexibility, and ease of use. Ruby (and the popular Ruby-based framework Ruby on Rails) powers many of the web and e-commerce applications you use every day, including Twitch, Soundcloud, Airbnb, and Instacart. We'll show you some of the creative ways developers use Ruby, and hopefully inspire you to start your own Ruby coding projects!
Web-based Applications
It’s highly likely that you use Ruby on Rails-based web apps every day.
Ruby on Rails is a popular open-source web development framework built on Ruby that powers hundreds of thousands of web applications. Some notable examples are Ruby on Rails, including Hulu, Twitch, Goodreads, Fiverr, Github, Bandcamp, Airbnb, and Square. These are not small names, and many developers continue to code new and useful web applications in Ruby.
- You’ll even find social media apps written in Ruby on Rails, including Mastodon, Diaspora, and Socify.
- Crowdfunding platforms Kickstarter and Indiegogo are hugely popular Ruby on Rails-based websites.
E-commerce
Online commerce and Ruby go hand in hand.
The Ruby on Rails framework can handle accounting, customer relationship management (CRM), marketing tools, inventory tracking, payment processing, order processing, and shipping, which makes it perfect for online stores. Many popular e-commerce sites run on Ruby on Rails, including Shopify, Solidus, and Spree.
Task Automation
Ruby makes it easy to automate tasks on computers and networks.
A popular example of Ruby’s automation prowess is Chef, a DevOps application that streamlines application installs and configuration. In addition to powering enterprise apps, you can also write quick Ruby scripts yourself to perform backups, sort through photos, download podcasts, prepare reports, and other tasks that are too cumbersome to do manually.
Smartphone and Tablet Apps
Ruby can be used for back-end mobile app development.
One of the most popular Ruby implementations used to create Android, iPhone, and iPad apps is RubyMotion, which supports developing Ruby apps for iOS, Android, and even macOS. Ruby isn’t extremely common for mobile app development, as Java, Swift, and Kotlin take the lead. However, learning Ruby can absolutely have you developing mobile apps in no time and submitting them to the App Store and Play Store.
Web Scraping
Ruby can extract data from websites and parse the information.
Web scraping has multiple uses, including market research, competitor analysis, brand monitoring, and lead generation. Ruby programmers can create web scraping apps in Ruby to scrape content from the web and turn it into useful information that can be analyzed in any format.
Desktop Applications and Command-line Tools
Ruby is a simple way to write programs you run from the terminal or command prompt.
If you’re a macOS user, you’ve probably used Homebrew to install software—Homebrew is built on Ruby, as is Metasploit—a popular security framework used for penetration testing.
Database Interaction
You can use Ruby to connect to and query databases.
There are Ruby gems (libraries/modules) you can install that allow Ruby to connect to SQL, MySQL, Oracle, MongoDB, and just about any other database out there.
Data Processing
Data scientists can use Ruby to parse, analyze, and store data.
While not as popular for data science as Python, Ruby can be useful for cleaning, transforming, and validating data. Using a combination of the Ruby on Rails framework and Python gives data scientists simple, stable, and efficient solutions for performing machine learning computations.
Game Development
You can write cross-platform 2D games in Ruby.
Imagine writing an entire game in just a few lines of code—this is possible with Ruby! You can use Ruby gems like Gosu or Ruby2D create basic games that will run on Linux, macOS, or Windows. Check out https://www.ruby2d.com/showcase/ for examples of simple games designed with the Ruby2d gem.