Joomla is a powerful yet simple solution for building all kinds of websites. Despite Joomla’s humble beginnings, it’s quickly evolved into a full-fledged web platform used for massive projects.
Development methodologies in the Joomla community haven’t evolved as much unfortunately. If you’re going to be creating complex applications with Joomla, then you need to get serious about it.
Allow us to introduce you to the Joomlatools Platform, a modern Joomla stack that helps you get started with the best development tools, easier configuration and an improved folder structure.
12 Factor App methodology
Much of the philosophy behind the platform is inspired by the Twelve-Factor App methodology created by Heroku for building web apps (they know a thing or two about building complex software).
The methodology is all about codifying the best practices for building web apps with the main goal of improving work on a growing codebase.
Improved directory structure
- Administrator and site files are clearly separated under the
config/directory allows for multiple environment configurations instead of the single
- Core elements are moved to the
- The Composer package directory.
- The Platform moves all public files into the
web/directory, which prevents sensitive files from being exposed.
├── app │ ├── administrator │ ├── components │ ├── language │ ├── modules │ ├── site ├── config │ ├── environments │ ├── configuration.php ├── lib │ ├── libraries │ ├── plugins ├── vendor ├── web │ ├── administrator │ ├── templates │ ├── index.php │ ├── images │ ├── media │ ├── templates │ ├── index.php ├── composer.json
Slimmed down codebase
We removed everything that’s not required for the codebase to work in order to increase performance and security. The content management specific components (content, categories, media, finder) have been moved into separate repos that can be installed using composer.
Deleted code is bug-free code.— Sindre Sorhus (@sindresorhus) April 14, 2015
This results in a codebase which is 75% lighter without losing the core features we work with every day.
For a complete list of everything we (re)moved you can check the 1.0.0 release changelog.
The platform runs almost 50% faster using the same example data. And there’s more: we added a session autostart option which prevents the platform from creating a session cookie for guests. This in turn makes it possible for web accelerators such as Varnish Cache to work out of the box. Taking the page performance down to a mere 4ms!
On the list of the 1.1 release are a bunch of exciting features and enhancements, multi-site support, improved logging support, database migration support, … and a brand new administrator user interface!
For the complete list of issues check the 1.1 milestone on GitHub.
Dive right in!
Head over to our Getting Started guide and start building your next web application! In combination with our Joomlatools Vagrant box, Joomlatools Console and Joomlatools Composer tools, you have a powerful Joomla development suite at your fingertips.