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
Symfony
Score 10.0 out of 10
N/A
Symfony is a PHP framework from French company SensioLabs.
Drupal is head-and-shoulders above WordPress in terms of extensibility and community support, in great part because it is completely open-source. I would recommend it in almost every case over WordPress. (WP is only better if you already know that system well, and your end …
As mostly all Drupal fellows says: "I came for the code quality and stayed for the Community". Drupal has a huge community that cares about the code quality, testing and engage developers to follow best programming practices. This improves both Drupal quality and your …
We've compared Symfony to Laravel, Zend, Drupal, and Silex (as well as to pure PHP) and it was so far the most convenient tool for enterprise scalable products. Among all compared, Laravel was next in line in terms of the convenience and ease. Drupal used to be popular, but now …
Symfony has become such a standard that many frameworks which previously may have been seen as competition, are actually adopting Symfony components to allow them to focus more on what makes their solution unique. Drupal 8 has replaced much of its low-level internal code with …
Overall, I would give my rating of Drupal a 7/10 because there is an easy user experience for those without a website background but there is some technology work required to build more website capabilities that aren't as user-friendly. Drupal is specifically well suited to update content (like changing Relationship Manager cards when there is employee turnover), post announcements (putting up a holiday banner to let our customers know the dates we will be closed over Thanksgiving, Christmas, etc., and creating a sophisticated website hierarchy of pages (for our firm, several dropdowns depending on if you're looking for personal banking, business banking, investment banking, about us, etc.).
Any small project which you want to have ready in a couple of hours would be probably a bad candidate for using Symfony. Even the most seasoned senior developer can easily spend hours or days creating a small MVP with Symfony. While Symfony's learning curve isn't necessarily bad and will depend a lot on the architectural knowledge of the developer itself, because of the modularity required by Symfony you will need to spend a significant amount of time coding. If you are looking for a quick project, perhaps this framework isn't the best solution. Robust applications can benefit from Symfony's architecture. I have participated in projects on different industries including lead generation, marketing and even some micro-services for other industries which use Symfony. Because of how thorough the framework has been architected, you will have a reliable solution.
It has excellent security features and consistent updates.
It allows for extensive customization with the integrated themes and core code, especially when you first install it. This allows our dev team to get creative with marketing initiatives.
There is a large online community of Drupal users that consistently help answer any questions and issues
Sonata Admin for Symfony is very versatile and we've used it for both the admin part of our website (even created a landing page constructor using it) and for the ERP system we've developed for inside use.
It is easy to learn if you know PHP and the community is quite large so you can easily find experts to help you with issues.
It's good for high-load projects. We have used it for the back-end of a custom affiliate marketing system that currently processes over 180 million requests per day.
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.
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.
As a team, we found Drupal to be highly customizable and flexible, allowing our development team to go to great lengths to develop desired functionalities. It can be used as a solution for all types of web projects. It comes with a robust admin interface that provides greater flexibility once the user gets acquainted with the system.
It can be a little complex at the begining comapred to some other frameworks, but this gives very good structure and makes it bulletproof for scaling actually large applications. The framework is built in a way that you can start simple and bring incremental improvements to make sure your app responds to traffic, demand, and growing usage.
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.
There is a lot of community support but because Symfony is so flexible and unopinionated, there are too many ways to do things and if you lock yourself into one way, most of the advice online will not work for you.
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 can be more complex to learn, but it offers a much wider range of applications. Drupal’s front and backend can be customized from design to functionality to allow for a wide range of uses. If someone wants to create something more complex than a simple site or blog, Drupal can be an amazing asset to have at hand.
Symfony has become such a standard that many frameworks which previously may have been seen as competition, are actually adopting Symfony components to allow them to focus more on what makes their solution unique. Drupal 8 has replaced much of its low-level internal code with Symfony components. Laravel utilizes much from Symfony and builds on it. CakePHP was my preferred framework over Zend and CodeIgniter, but now I typically prefer Symfony or Laravel depending on the type of application and complexity of what I'm doing.
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.
One negative thing to point out of Symfony is how painful it is to migrate legacy or relatively old projects from previous versions of Symfony into newer versions.
Symfony projects are usually reliable and provide the results you need.
Performance can be an issue sometime depending on the kind of project you are working on. Symfony can have some issues with cache.