At the web development firm where I work, one of our specialties is building custom web applications. Our tool of choice is Ruby on Rails.
So what exactly is Ruby on Rails?
Ruby is an open-source programming language designed for simplicity. Ruby is a popular language due to its intuitive nature; Programmers already familiar with industry standard programming languages such as C++, Java, PHP, and Perl report an easy transition into Ruby.
Rails is a server-side application framework written in Ruby. It puts emphasis on (and makes it easy to stick to) software engineering patterns such as convention over configuration, red-green-refactor (the motto of test-driven development), and don’t repeat yourself (also known as the DRY principle).
The two work together as Ruby (the programming language) on Rails (the framework in which the language is contained).
Why is Ruby on Rails our go-to for web applications? Here are its two biggest strengths:
Speed of prototyping
Rails utilizes convention over configuration (CoC) to simplify the decision-making process when starting a new web application development project. Sticking to the guidelines allows developers to “spin up” a project more quickly and efficiently.
Ruby has a rich library with built-in methods for intuitive programming, enabling developers with knowledge of similar languages to quickly grasp it. With Rails, multiple developers can jump into projects and get acquainted easily.
Pretty exciting stuff, huh? Well, it is for us nerds, and now you have a basic understanding of the latest tools and methods that should be used if you decide to move forward with your idea for a web app.
One last tip; Always ask about the technology behind the web app proposal a firm has given you, and be suspicious of any vendor who is using an older (and almost certainly more labor-intensive) web app dev tool than the current industry standard open source tool (open source meaning free to use).
Contact Regan Smith at email@example.com if you have general questions about Ruby on Rails as it applies to web app development.