Ten years ago, Ruby was the developers’ darling, and Ruby on Rails was all the rage. In the past few years, rumors of their critical condition have been circulating. On Quora, Reddit, or Stack Overflow, dozens of posts are asking, presuming, predicting, or otherwise blatantly stating that the Ruby on Rails framework is dead.
As of 2018, both Ruby and Rails are still around, powering thousands of websites. Is the framework really obsolete? Should developers and businesses give it up? We’ll try to sort through it all, starting with possible reasons for Rails’ demise.
Technologies do have a natural lifecycle. Is Ruby on Rails dying due to old age? It’s now 13 years old, but so are its top rival Django and Symfony. The technology continues to be enhanced. The latest version, Rails 5.2.2, has just been released.
A technology can’t survive without people. That doesn’t seem to be the case of Ruby/Rails either. Web developers love it, and they have formed a loyal, diverse, and active community with a strong focus on automated testing and high quality of software. Look at GitHub to see the activity taking place. Developers and teams craft new libraries, create ample documentation, troubleshoot problems, and share knowledge. That means help with complex projects and quick bug fixes, which translates into speed and better quality and security of the products. Why would that developer community let their favorite technology die?
Others point to Twitter whose backend was initially written in Ruby. Twitter dropped RoR after becoming a social media giant. Does it mean the original choice was a mistake? No, because it helped them develop into what they became. It’s OK to select a technology stack according to the current needs only to let it go afterward. It’s actually wise to emulate Twitter: launch with RoR, and when/if your app becomes viral, scale it to match the growing load or move onto another platform once you have the funds.
Regarding the current fashion for single page applications, Rails is not opposed to it. It just prefers not to use SPA. (If you need to, there are at least three ways to use SPA with RoR.) That may be a reason why boot camps that teach ‘technology trends’ have given up Rails, at least for a while. Does it mean it has fallen out of favor? If Airbnb, GitHub, Hulu, Shopify, and SoundCloud continue using Rails, it may be a sign that it is still doing pretty well.
According to BuiltWith.com, RoR is currently being used on a total of 1,457,780 live websites. (That’s three times as many as the number of those using Laravel.) 500px, Basecamp, Bleacher Report, Bloomberg, Couchsurfing, Dribble, Genius, Goodreads, Groupon, Indiegogo, Jobster, Kickstarter, Lumosity, SketchUp, SlideShare, Square, Themeforest, Twitch, Urban Dictionary, UserVoice, WhitePages, Yammer, Yellowpages, and Zendesk are some of the brands developing with Ruby/Rails. It remains among top web application frameworks, and tech startups and businesses that run on lean innovation continue relying on it.
After all, the essential Ruby on Rails features and benefits are still at businesses’ disposal. The use of the Model-View-Controller architectural pattern improves the maintainability and facilitates decoupling and testing of the apps. Active Record (the Model) facilitates the creation and use of business objects whose data requires persistent storage to a database. The Rails’ convention over configuration paradigm and a wide range of ready-to-use plugin solutions save the web developers’ time and effort.
Moreover, there are at least two Ruby on Rails applications which are likely to ensure its long life and progress.
Technologies used in the development of an ecommerce platform will determine its performance, stability, and security. When choosing the framework, it’s crucial to consider the following factors and requirements:
Spree is another modular and API-driven Rails ecommerce solution. It’s supported and continuously updated by an active community. Developers love its flexibility and extensibility, and businesses benefit from its short time-to-market and scalability.
Additionally, Rails is useful with features connected with custom pricing algorithms, product descriptions, and photos uploads and image resizing, which online shops do a lot. More about Ruby on Rails content management in the following chapter.
Along with a handy way to upload and handle various images, blog posts, articles on static pages, music, and videos, a good content management system must be easy to use and navigate. RoR has several popular solutions that comply with these demands, including the following open source content management systems:
Alchemy is a powerful and flexible framework that empowers you to build your own CMS. Professional developers love it because they can build web applications in a short time frame with well-written documentation and it’s possible to integrate with Spree. Content managers enjoy Alchemy’s user interface because it’s intuitive and easy to use.
Alchemy’s unique approach to managing content guarantees that it looks consistent and won’t be occasionally broken: it prevents content managers from tampering with and breaking HTML layouts. Alchemy also features the popular TinyMCE Richtext Editor used by many CMS.
It’s a blog engine with excellent documentation which helps create a personal or corporate blog within minutes. Locomotive supports HTML layouts, snippets, and real-time editing. Users can manage assets like images, JS, and CSS files. They first need to develop the website and add content types locally, and after that push changes to the production site and manage the content on the website. Locomotive CMS is the only hosted solution listed here.
This has been the top Ruby on Rails CMS for a long time thanks to advanced functionality. Refinery is simple to implement and easy to use, has a slick user interface and built-in image editor, and supports Amazon S3 cloud storage. Numerous extensions provide features ranging from Elasticsearch support to contact forms, calendars, and image galleries. Refinery can be banded together with any Rails application but is especially useful for ecommerce.
Spina is a simple CMS. It won’t let you manage multiple websites in the same admin panel but has some small yet useful features, e.g., the ability to add a redirect URL for an article. There’s a friendly interface for managing user types and permissions, adding posts with images, and multilingual support.
Using a ready Ruby on Rails CMS saves time. Thanks to SEO instruments, Spina and others can improve the search engine rankings and visibility of your web pages to guarantee better traffic and ROI.
We have seen no significant evidence of Rails’ impending death. Opinions of people who wish to promote favorite technologies by ‘railing’ at others don’t constitute a trend. Something being ‘trendy’ doesn’t mean it’s the only way to do things. Something being ‘mature’ doesn’t mean it’s deprecated either. Users don’t care whether the tech stack behind a product is ‘cool.’ They care about a fast, intuitive, and secure website or application — which can be positively achieved using the Ruby on Rails framework.
Though many technologies have emerged, Ruby on Rails remains strong. Every version receives multiple improvements. The Rails support community is vast and reliable. Many web developers call Rails the ‘Swiss army knife’ and would prefer it as the primary technology for new projects.
RoR is excellent for startups or anybody who wants to launch an MVP or even complex sites on time and on budget. It’s robust and scalable, can be implemented with any JS library, and provides many out-of-the-box solutions for easier and faster development. The intuitive and straightforward Ruby code facilitates development and saves time. If you’re making a web or enterprise app, you can spend less time testing and launch a quality app before your competitors do. In the highly competitive market, the ability to adapt existing features to requirements or introduce new features on the fly is essential. Rails can help with that too.
Rails ecommerce frameworks like Solidus and Spree enable businesses to launch robust online shops rapidly. Whether you’re building an online store, a personal or corporate blog, or a news service with RoR, you can integrate one of the Rails content management systems for handling all the images, content, and files. Alchemy CMS greatly simplifies editing for content managers. You can use Refinery with a Spree-based online store to manage product descriptions, and Locomotive to deploy a blog.
Ruby on Rails may be tired competing with Django, Laravel, and newer technologies, but is surely not dying. The market for Rails, consisting primarily of web startups, looks very good. Chances are, the technology will be relevant for a long time, and the best is yet to come.