Whenever you’re working on a new web development project, regardless of scope, there comes a time when you must figure out exactly how you’re going to do this. What platform are you going to build the platform on? Which technologies and tools will you rely on to realize the project’s goal? The decision is rarely a simple one, even when there’s a detailed specification to make it easier to recognize potential issues. If a short turnaround time and lower costs are a driving force, then it makes sense to rely on an existing open-source content management system which will give you a strong foundation to start from. Of course, you don’t need me to introduce you to the basic CMSs currently available, but from WordPress, Joomla!, Drupal or Magento, which one would be a good all-rounder to rely on?
Chances are that you’ve already read the title of this article, so you’ll be unsurprised to learn that I’m a fan of Joomla!, so I’m going to give you several reasons why this CMS is a better option than it is often given credit for, with the power and flexibility to run all sorts of projects. Ready to go? Then let’s start with:
1. Joomla! is fast and scalable
In the course of investigating your CMS options you may have spent a bit of time checking out some benchmarks to give you an idea of performance differences between them, such as – Who is the slowest? . Reading that write-up you might be discouraged from using Joomla! or WordPress. The average backend metrics in this case show that Joomla! is much slower than Drupal, but most of these tests were conducted on older Joomla! versions that didn’t boast PHP 7.x support; after the release of Joomla! 3.5 included this support the performance increase in Joomla! has been significant, so long as your hosting allows your site to use the latest version of PHP. I previously investigated the benefits to load times provided by incorporating PHP 7 into Joomla! in my Testing Joomla 3.5 and PHP 7 article . What we discovered is that Joomla! and PHP 7 combine to give excellent performance with much less memory used; the default front-end page initialization consumed only 8.49 MB of memory.
What’s more, Joomla! scales up really well in terms of content such as articles, categories and especially registered users. Your plans may start off as relatively small-scale, but the nature of the internet means you could find your site suddenly expanding its userbase, and you should be prepared for that eventuality. Should you wish to allow people to register (which means collecting some user-data) or create content then it makes much more sense to go with a platform that can meet the potential demand, since as people register your database will keep getting bigger and bigger. For Joomla!, it makes no difference whether you’ve got three registered users or 300,000.
2. Joomla is not just a CMS; it’s a framework too
It’s not widely-known among developers who aren’t Joomla!-focused, but the Joomla! name actually refers to two different products; the CMS itself, and the Joomla! PHP framework on which the CMS is built. This framework is a collection of useful libraries and packages that are well-known from the Joomla! CMS, but without the overhead found in the Joomla! Content Management System. The Joomla! Framework is great for building command-line tools which are often necessary when running large-scale projects; this is extremely useful for job schedulers like cron, and the Joomla! Framework may help you to build RESTful services and create integrations with 3rd party services.
3. Joomla is extendable
I remember when I first saw Mambo – that’s the predecessor to Joomla! for you young-uns – I just couldn’t understand the difference between modules, components and mambots (similar to a Joomla! plugin). After the release of the first version of Joomla! the distinction became clearer and much easier to understand for regular users. Now, Joomla! allows for the creation of three different types of extension, each for a slightly different purpose:
Components, modules and plugins
Most big web projects will deal in some way with custom development, either changing the default behavior of the CMS or adding new features specific to the project. With Joomla! it couldn’t be easier thanks to the full range of extensions available for creation, each targeting a different area. Starting with components, the biggest brick in the custom development foundation; with this we can create new views, database structures and options for back-end and front-end as well. With modules we can easily widen our options for content presentation, even when it requires some kind of super-custom form. Of course modules may be used for more than that, since they can be linked with external sources and much more. Plugins are the most advanced ones but the easiest to write at the same time; by using the Joomla! API you can create your own plugin with just a few lines of code, then hook it into every single Joomla! event as needed, like login user, before/after render content etc…it’s a huge amount of flexibility, and with these three types Joomla! is open for third-party code and offers unique opportunities in almost every aspect of site development; don’t want to use the default captcha plugin? No problem, you can just download different one from Joomla! Extensions Directory or write a brand new one. Don’t like the default editor? There are many custom ones which you can install with one click to ease you into content creation.
For larger, unique projects, you’ll want the flexibility to add personal touches everywhere to ensure your site stands out from others built on the same base, and with Joomla! you can override all generic views. Of course you could recode this from scratch, but what’s the point when this CMS gives you such a powerful overrides engine? With it you can modify the output of core and custom components and modules without writing extra code, and all you have to do is to copy the original view and modify it for your own purpose. It couldn’t be easier!
One of the biggest Joomla! advantages is its large and diverse templates market. Of course we can’t compare it to the huge amount of themes available for WordPress, but there are some major differences between WP themes and Joomla! templates that gives Joomla! the edge. First off, WP themes are in most cases very simple, focused on styling the base generic view without any additions expanding the layouts or features. Often, theme creators sell single products with limited guarantees in terms of future updates, customization or technical support apart from basic documentation. In Joomla! markets the best templates come from templates clubs where creating this kind of product is at the core of their business, with ongoing technical support and updates, not just to work with newer versions of Joomla! but also incorporating bugfixes or new features; you may even get help with minor custom changes. Joomla! templates from these sources are often tightly-focused compared to the broad, generic WordPress market thanks to the availability of powerful extensions that provide a massive amount of features. Look at extensions such as JomSocial and SolidRes, which offer features you’d be hard-pressed to find in an equivalent WordPress plugin; this allows for templates to be perfectly suited to a particular industry, rather than general blogging layouts that are common to WordPress themes.
5. Joomla is a community
Joomla! is more than just a CMS or framework; its community is uniquely passionate, close-knit and knowledgeable, with meetings happening every year in many local events like Joomla! Days as well as the main Joomla! World Conference, which brings it all together. As well as the social aspect, it’s big, but not too big; big enough to ensure that answers are always just a click away, but small enough that individual voices are not lost in the din. This makes the Joomla! community a great place to learn and share your knowledge, as well as contribute to Joomla’s wider success.
Convinced? Then get started with Joomla! today!
These are just a few of the reasons that makes Joomla! worth investing time into; once you’ve got the hang of it you’ll find it’s suited for all manner of projects and has the scalability to work with sites of all sizes. If you’re ready to take the plunge, getting started is very simple. Joomla! is released under the GPL license, free and available for everyone. If you want to start from scratch you can grab the latest release from the joomla.org website, or if you’ve already got an idea in mind for a site you can look at picking up a template that matches your needs. Both templates and those from most other Joomla! developers will include a quickstart package you will install Joomla!, the template and all content from the demo layout, which means you’re just a few clicks from having one of the websites from our templates directory .
- All images comes from http://startupstockphotos.com and are under CC0 License.