Drupal is a free, open-source content management system written in PHP that competes primarily with Joomla and Plone. The standard release of Drupal, known as Drupal core, contains basic features such as account and menu management, RSS feeds, page layout customization, and system administration.
N/A
Laravel PHP Framework
Score 8.7 out of 10
N/A
Laravel is a free, open source web application PHP framework.
Drupal requires less to no coding abilities to spin up sites. Even if someone is preparing to develop sites that require technical know how then Drupal provides role based systems to seperate developers from content writers. Drupal 8 and 9 now have a vast array of plugins. Now …
Although Drupal is not the most used, it has great performance and is more used in professional projects. It allows us to expand without starting from scratch.
Well, I'm definitely biased, I've been working with Drupal for 12+ years, and I can say it's appropriate for any size/scale of a project, whether it's a small catalog website or a huge corporation. If I want to dial it down to a specific use case, Drupal is best what most customers/clients that have high-security standards, and need to have extensive editorial experience and control over their website's architecture. Due to its core design, Drupal can connect with each part of its own and any external third-party resources quite easily. For a less-suited scenario, I might say that if you don't have enough budget to get proper work done, sometimes just using WordPress with a pre-designed theme might sound better to you, but if you have the budget and the time, always go with Drupal
Laravel is ideally suited for fluent PHP developers who want a framework that can be used to both rapidly prototype web applications as well as support scalable, enterprise-level solutions. I think where it is less ideal is where the client has an expectation of using a certain CMS, or of having a certain experience on the admin side that would perhaps be better suited to a full CMS such as Drupal or WordPress. Additionally, for developers who don't want to write PHP code, Laravel may not be the best solution.
Content Types... these are amazing. Whereas a more simplistic CMS like Wordpress will basically allow you to make posts and build pages, Drupal 8 gives you the ability to define different types of content that behave differently, and are served up differently in different areas of the website.
Extensibility... it scales, ohhhh does it scale. They've really figured out server-side caching, and it makes all the difference. Once a page has been cached, it's available instantly to all users worldwide; and when coupled with AWS, global redundancy and localization mean that no matter where you're accessing the site, it always loads fast and crisp.
Workflows... you have the ability to define very specific roles and/or user-based editorial workflows, allowing for as many touchpoints and reviews between content creation and publication as you'll require.
Security and new release notifications are a hassle as they happen too often
Allowing them to write PHP modules is a big advantage, but sometimes integrating them is a small challenge due to the version the developer is working on.
Significant learning curve. You cannot be an expert in a week. It takes many experimentations to properly understand the underlying concept. We ourselves learned it by using it on the job.
Too much to soak in. Laravel is in everything. Any part of backend development you wish to do, Laravel has a way to do that. It is great, but also overwhelming at the same time.
Vendor lock in. Once you are in Laravel, it would not be easy to switch to something else.
Laracasts (their online video tutorials) are paid :( I understand the logic behind it, but I secretly wish it would be free.
The eloquent ORM is not my recommendation. Let's say you want to write a join, and based on the result you wish to create two objects. If you use Laravel to do automatic joins for you, Laravel internally actually makes two calls to database and creates your two object rather than making one join call and figuring out the results. This makes your queries slow. For this reason, I use everything except eloquent from Laravel. I rather write my own native queries and control the creation of objects then rely on Laravel to do it. But I am sure with time Laravel will make fewer calls to DB.
The time and money invested into this platform were too great to discontinue it at this point. I'm sure it will be in use for a while. We have also spent time training many employees how to use it. All of these things add up to quite an investment in the product. Lastly, it basically fulfills what we need our intranet site to do.
It's a great CMS platform and there are a ton of plugins to add some serious functionality, but the security updates are too complex to implement and considering the complexity of the platform, security updates are a must. I don't want my site breached because they make it too difficult to keep it up to date.
Drupal itself does not tend to have bugs that cause sporadic outages. When deployed on a well-configured LAMP stack, deployment and maintenance problems are minimal, and in general no exotic tuning or configuration is required. For highest uptime, putting a caching proxy like Varnish in front of Drupal (or a CDN that supports dynamic applications).
Drupal page loads can be slow, as a great many database calls may be required to generate a page. It is highly recommended to use caching systems, both built-in and external to lessen such database loads and improve performance. I haven't had any problems with behind-the-scenes integrations with external systems.
As noted earlier, the support of the community can be rather variable, with some modules attracting more attraction and action in their issue queues, but overall, the development community for Drupal is second to none. It probably the single greatest aspect of being involved in this open-source project.
I was part of the team that conducted the training. Our training was fine, but we could have been better informed on Drupal before we started providing it. If we did not have answers to tough questions, we had more technical staff we could consult with. We did provide hands-on practice time for the learners, which I would always recommend. That is where the best learning occurred.
The on-line training was not as ideal as the face-to-face training. It was done remotely and only allowed for the trainers to present information to the learners and demonstrate the platform online. There was not a good way to allow for the learners to practice, ask questions and have them answered all in the same session.
Plan ahead as much you can. You really need to know how to build what you want with the modules available to you, or that you might need to code yourself, in order to make the best use of Drupal. I recommend you analyze the most technically difficult workflows and other aspects of your implementation, and try building some test versions of those first. Get feedback from stakeholders early and often, because you can easily find yourself in a situation where your implementation does 90% of what you want, but, due to something you didn't plan for, foresee, or know about, there's no feasible way to get past the last 10%
Drupal is community-backed making it more accessible and growing at a faster rate than Sitefinity which is a proprietary product built on .NET. Drupal is PHP-based using some but not all Symphony codebase. Updates for Drupal are frequent and so are feature adds.
Supporting unit testing is bigger plus point in Laravel than any other framework. Developing with Laravel is much easier. Other frameworks have value in market, but Laravel has taken the lead in popularity among PHP developers in recent years. The large community supports you if you have problems. Using Laravel, integration became easy with third-party libraries, but it was costly too.
Drupal is well known to be scalable, although it requires solid knowledge of MySQL best practices, caching mechanisms, and other server-level best practices. I have never personally dealt with an especially large site, so I can speak well to the issues associated with Drupal scaling.
Drupal has allowed us to build up a library of code and base sites we can reuse to save time which has increased our efficiency and thus had a positive financial impact.
Drupal has allowed us to take on projects we otherwise would not have been able to, having a further impact.
Drupal has allowed us to build great solutions for our clients which give them an excellent ROI.
Laravel allows us to rapidly prototype and build complete, scalable applications internally, which saves us time and allows us to have internal tools that fit out precise needs. We use Symfony for a similar purpose, but Laravel is an even higher-level framework that we find saves us substantially more time when building many types of web applications.
Laravel solves many of the underlying concerns of building a large application (such as authentication, authorization, secure input handling) in the right ways. It saves us from handling those low-level concerns ourselves, potentially in a way that could take a lot of time or sets us up for issues in the future. It's tough to assign an ROI to this, but I'm sure it has prevented issues and saved time, which both have an impact on our financial situation.