What does Drupal 8 do that Laravel does not? What key functionalities, that Drupal ships with, do you need to build from scratch in Laravel? And how would opting for Laravel benefit your specific type of project? In short: Laravel or Drupal 8?
“It's like comparing apples to oranges” some might say since one's a framework and the other one a CMS.
Even so, if it's unclear to you what are their particular use cases and their built-in features, you won't know whether it's a CMS or a framework that best suits your project type, right? That best serves your project-specific needs:
- to be super fast
- to leverage a solid, off-the-shelf content management system for publishing different pieces of content on the website
- to feature an easy to scale database
- to support multisite
- to tap into robust user and content management features that are already implemented
- to be built on top of a solid framework acting as a reliable back-end application
- to leverage a highly intuitive admin user interface
- to be 101% secure
- to leverage a mixture of server and client-side logic
Now, keep your list of project requirements and constraints at hand to evaluate these 2 technologies' pros and cons against it:
1. Drupal 8: Top Benefits, Main Drawbacks, and Specific Use Cases
If a robust user and content management system is critical for your project, then Drupal 8 makes the smartest choice. It's that “thing” that Drupal excels at that, which would take you a whole lot more time to do in Laravel.
And it's not just its robustness that might “lure you in”, but the level of convenience that it provides: a lot of the essential features and functionalities that you might need are already built-in.
Moreover, you can easily manage them and custom-tune them via your admin interface...
By comparison, you'd need to build these functionalities, from the ground up, if you chose to go with Laravel.
- you can rest assured that your website runs on a particularly robust, Symfony-based CMS
- there's a huge, dedicated community backing it up
- you get to create various content types, for different parts of your website, assigned with different roles; unlike basic CMSs, that enable you to write... posts and to create new web pages
- you can set up different editorial workflows and assign specific user roles, with fine-grained access control
- you can always further extend its CMS-specific functionalities: extensibility is one of the strongest Drupal 8 benefits
- you do need a team of Drupal experts (senior-level preferably) to keep an eye on your Drupal 8 website/app and keep everything properly maintained
- you can't get away with a “get it up and running and... move on” type of philosophy; Drupal 8 is a more of a long-term commitment: there's always a newly launched promising module to consider adding on, a new update to run...
Specific Use Cases for Drupal 8:
- large-scale projects that depend on a robust and reliable content management system; one that withstands an intense, ongoing process of creating, editing and publishing lots of fresh content
- Laravel or Drupal 8? Definitely the later if it's a multi-site, multi-language web project that you plan to develop; not only that it streamlines content publishing across your whole network, but it significantly speeds up localization thanks to its server-side caching capabilities
It means that no matter the place on the globe where that your users might be located, they get to access your web pages and have them loaded... instantly.
2. Laravel: Pros, Cons, and Project Types that It's Best Suited For
Laravel stands out as a highly reputed, powerful PHP framework.
- maintainability is one of your biggest concerns
- you're looking for a robust framework
- you need to carry out your project fast enough
- you need a framework that ships with all the latest functionalities
... then Laravel is what you need.
- a fast-growing, devoted community
- you can easily integrate LDAP authentication
- it leverages the Model-View-Controller architecture
- it's just... fast
- provides you with a great admin user interfaces
- it “spoils” you with intiutive, beautifully written code
- it ships with a heavy “toolbox”: scan through and pick the most suitable one(s) for your project
- in-built code for social login and sending out emails
- everything you might need to set up during the development process is right there, already integrated into your code: cron jobs, database queries, routes...
- more often than not identifying performance issues isn't that straightforward
- upgrading to the latest version of Laravel can turn out to be quite a challenge: be prepared for “buggy scenarios” and for the need to rewrite code
- you can't just jump straight to Laravel: learning the basics of OOPS first things first is a must
Specific Use Cases:
- your project needs a back-end application (rather than an off-the-shelf CMS)
- when the benefits of the MVC architecture (faster development process, suitable for large-scale projects, multiple views, etc.) are critical for the given project
- whenever you need to mix client-side with server logic
- whenever time is the main concern for you: you just need your project developed super fast
3. So... Laravel or Drupal 8?
Now, I'm sure that you already anticipate my answer:
The choice depends strictly on your project requirement and objectives.
On your own hierarchy of priorities in terms of features and functionalities.
And depending on these key aspects, that should be clearly defined, one technology will benefit you over the other.
So... what type of project are you looking to build?
Photo by Raquel Martínez on Unsplash