Why Laravel gives us Absolute Control
People sometimes ask us “How does Absolute Control compare with WordPress/Umbraco/Joomla/Drupal/Sitecore/Kentico/etc ?”. Which for us, can sometimes be a difficult question to answer. The reason is, we never set out to build Absolute Control as a replacement for any of these systems and in many ways, this would be comparing apples to oranges.
This is what really kickstarted the development of Absolute Control, we wanted each site we develop to be as individual as our clients. Quite often the traditional CMS model got in the way of this. We found that you need to think about and structure your application according to the standards and foundations of that particular platform. We wanted unrestricted freedom, unburdened by the common constraints of a system designed by committee over several years. Being able to begin from a blank canvas every time means we can create a better end product. Our goal has always been to reduce the gap between design and build, without making compromises. For us, there is a deep level of integration between the brand and the website.
So, why Laravel? Well, for starters we have always been strong advocates of open-source, and believe strongly in the benefits for both developers and end-users alike. There are a wide variety of open-source web frameworks and CMS solutions out there, so this is already a well-trodden pathway. Laravel is a particular open-source success story, since launching in 2011 it has acquired over 60k stars or likes on GitHub. There are currently over 600,000 sites built on the Laravel Framework. Laravel draws inspiration from other popular web frameworks like Rails, Django, and ASP.NET MVC, but is built in PHP, one of the most widely used and established languages for web development.
We wanted Absolute Control to be as open as possible and run on any platform, so no special server configs or licenses. We know our clients all have different hosting needs and it was important for us to have this flexibility in the way Absolute Control sites can be hosted.
One of the things that drew us to Laravel was its modularity. Each component of Laravel is a “module”, an independent little package of code. These packages are managed by a package manager application called Composer. Composer manages a project’s dependencies, to ensure compatibility between modules. It’s an established software development pattern that works well and has proven to be effective.
We chose to structure Absolute Control in the same way, by building in modules. Over the years we have developed many modules we use daily in Absolute Control for much of the common, boilerplate functionality that constitutes some of the core features of our web applications. But we are also able to develop completely custom modules, which are individual to our clients. The ability to independently manage and combine modules is what enables us to create completely bespoke user experiences. It blurs the boundaries between the framework and the content management of the website and allows us to continually evolve the site.
The popularity of a web development framework largely depends on the developer community surrounding it. Developer communities play a key role in solving questions and publishing use cases for the frameworks, fixing loopholes, and optimising frameworks. It has a really strong community that consistently rolls out plugins and modules. The Laravel community continues to grow and we are seeing more innovative, cutting-edge packages flooding in. The Laravel community plays a big part in keeping the framework current and bringing new products and integrations to the platform.
Without naming any names, some open-source CMS packages are renowned for having poor security standards. This is usually owing more to the plug-in, or extendable architecture of these applications and varying coding standards and commitment to standards. The plug-ins themselves are usually the source of the vulnerabilities. Sometimes they can be a quick way to bolt on additional functionality to your app, but it can come at a cost. We’ve personally experienced enough significant, site-breaking issues with some of these platforms to drive us away from them.
Laravel features many built-in protection features like security against cross-site scripting, SQL injections, cross-site request forgeries, and more. And also benefits from the way that its development community consistently works on releasing security patches. Easily implementable thanks to the Composer package manager. Upgrade pathways are always well documented, allowing applications to be easily maintained, kept up to date, and secure.
Partly owing to our open-source roots we are keen to uphold the “Free as in freedom” ideals that were established in the early days of the free software movement. The term “free software” can sometimes be a bit misleading, it is a matter of liberty, not price. The idea of free software is that regardless of how you acquire the software, whether you pay for it or it is supplied for free, you maintain the right to make changes to the software.
For us, this means no lock-ins for our clients. If a client wishes to take the development of a site into their own direction, they have the freedom to take their custom-built Absolute Control modules and continue to build, maintaining all the great benefits of the Laravel ecosystem. We have worked to develop a solid, continuous deployment solution, which allows for zero-downtime deployments. This allows Absolute Control to be run on the traditional, open-source LAMP (Linux, Apache, MySQL, PHP) or LEMP (Linux, Nginx, MySQL, PHP) stacks, amongst other configurations. Thanks to the open-source nature of these applications, these types of servers have become widely available, especially with cloud hosting providers. This makes Laravel a viable cost-effective platform for all kinds of web solutions.
Ultimately we chose a platform that suits our needs as an integrated marketing agency. A platform that helps us bring custom workflow development to clients, that isn’t catered for in the off-the-shelf solutions. For us, Absolute Control has always been based around the client’s needs, and this extends to the future development of their application.
Laravel has always been the number one choice for Absolute as our web application development framework and we use it daily. If you would like to know more about Absolute Control or Laravel development for your for your next digital project, please get in touch.