WordPress or Rails? It Depends on What You’re Building

wp-vs-railsI recently had someone who knew that I worked with both Rails and WordPress ask me which is the better choice for a new site he was building. Of course, my immediate response was, “that really depends on what you’re trying to build.” I then had him describe his project. The site he was building was intended to allow for the writing and publishing of various articles and spec sheets for a particular kinds of machine engineering. In his case, WordPress was definitely the better option, and I told him so.

The reason why the choice was obvious here was that the site he was building wasn’t going to be scaled into a massive enterprise, and he basically just wanted an established, user-friendly admin interface (read “content management system) to run everything through. This was pretty much the definition of what a WordPress site excels at. In his case, choosing Rails would have been a much more expensive, and a much more drawn-out choice – because he wouldn’t have been able to do it himself, he would have had to hire a developer, who would then have had to custom-build a user admin interface for him, etc. Ultimately, all that would have been really unnecessary.

So if this is one case example, what is the general rule that can be gleaned from it? Well, in the simplest terms, if what you’re building can best be described as a “website”, then WordPress is almost always the better option. If, on the other hand, what you’re building is better described as a “web application”, then Rails might be you’re better choice. I say “might” because, again, it depends on the specifics of the application. But if you need an end-to-end, full stack web applications framework, then Rails is an ideal choice. If you need user signup, login, logout, authentication functions and a really secure e-commerce framework, etc, then, again, Rails is a great choice. And if you plan to really scale up, then once more, Rails is a great choice.

Sometimes specific examples do a better job of describing what the two technologies differently. News publications like CNN and Time use WordPress for their sites, as does Disney for their Star Wars main info site. Shopify, Groupon and Bloomberg all use Rails. Maybe thinking about what those sites do differently will help you get a sense of the differences. If it’s “newsy”, then WordPress is great. If your site is all about getting information out to the public, then WordPress is almost always the better option. Other CMS’s work too, but WordPress has emerged over the last few years as the clear winner; and that’s evident when you look at the footprint WordPress has on the Web in 2016 – it’s massive.

Rails is great for complex e-commerce sites and sites that involve massive amounts of user interaction and user-based content creation, and thus need speed and scalability. You can achieve the same frontend with WordPress, but when you need speed and scale – as well as maintainability – then you’ll want something like Rails because of its application-oriented architecture. A reason why Rails is so popular with developers is because, even when you’re building something new, there are thousands of little functionality pieces, called “gems”, that can be easily added to an application as it’s built. Interestingly, WordPress has also excelled for a similar reason – the huge number of plugins available that allow you to quickly add functionality to your site.

Of course, there is some cross-over. There are times when it might be debatable which is the better choice. WordPress also clearly has intentions to keep extending its reach. Remember that WordPress began as a simple blogging platform. Years ago it really wasn’t even on the same footing as the Joomlas of the world. All that’s changed. Today it’s clearly the best CMS option available. It’s extensible and stable and very user-friendly. It will continue it’s march towards being more of a full framework.

Still, it is not Rails. Nor does it really intend to be. Again, if you’re building the next great social media interaction application, then you’d choose Rails over WordPress – clearly. But for many other kinds of sites, WordPress is the better option. Don’t bother buying a Ferrari when you need a dependable vehicle to get you to work each day; it’s just not necessary. And don’t forget, your visitors/audience/customers won’t even see a visual difference, in terms of the look and feel. So don’t take the Ferrari metaphor too far. We’re talking back-end functionality here – what your site does, not what it looks like.

So this all comes down to context, really. Be clear on what you’re building. And if you’re not clear, definitely work the vision process before committing to a particular web framework. If you’re imagining an application that needs scalability and speed, then Rails is one of the best application-based architectures available. But if you’re never going to need those kinds of elements, then stick with a well-worn content management system. And of the ones currently available, WordPress stands heads and tails above the rest.

Posted in Musings, Web Development Tagged with: , , , ,