We can hear anywhere that Drupal is a CMS, good for anyone, anyone can use it easily to build a website. Unfortunately, that’s not correct.
Why can I say that?
This is my experience from 20 years coding as a programmer, 13 years working as a Web Developer on many platforms, 9 years working as a Drupal Developer; making more than 100 projects done for many clients around the world with different business types for both new projects and existing projects from other development companies; working with many developers from fresher to senior, architect, director; training many Drupal developers, supporting them to finish the projects after the years.
Drupal is a truly wonderful platform with many robust features. It is designed to combine many separated concepts, put and control them together to build a website/application easily by the developers who understand Drupal enough and correctly.
To build a website/application by WordPress, Magento, we need to learn how to use WordPress, Magento, follow it and we’ll have a website for that purpose. In the worst case, we still have a basic result. For example, with WordPress, it is a presentation website, blog website, landing page; with Magento, it is an ecommerce website.
However Drupal is totally different. It’s not really a CMS (Content Management System) like WordPress, Magento. Someone calls Drupal as a CMF (Content Management Framework), but that’s not really true either. Drupal is actually a Framework in the skin of a CMS. That’s an advantage but that’s also a big disadvantage for anyone, event developers.
Let me write here briefly about the difference between CMS and Framework in my experience and opinion:
When do you choose WordPress for your website?
When you choose a Magento for your ecommerce website?
When you choose a Framework like Symfony, Laravel, Zend, … for your website/application project?
- You must be a developer first
- If you’re the person who take responsible for make that project done, you must be a technical architect or a high level/high experience about that Framework,
- You understand about the project, and your knowledge and skill can give you enough solution to solve that project by that Framework,
- You have confidence that you can use that Framework to solve all problems for that project.
When you choose Drupal for a project?
In summary: Drupal is a wonderful platform, but how and who can use it to build a complete website/application is not simple. Non-developer can’t. Normal developers can’t. You need a Drupal developer, a good Drupal developer does that for you.
Drupal is only able to become a user wide platform like WordPress when we have a good Robot in the middle layer to convert from Humans actions to Framework logics. That is a longer story, Drupal community is still trying to solve, I am also trying to solve it in my own game "SIBU.AI"