Updated on 14 October 2017
Drupal is a Content Management System (CMS), but the community prefers the Content Management Framework term because of its versatility and the wide range of use cases it can cover.
We will stay in the PHP world to answer this question.
- A blog, a single language site with a few pages. Consider Wordpress, also read this post from Dries Buytaert about the State of Drupal in 2017 "Drupal is no longer for simple sites".
- A simple website with Developer Experience inspired from Drupal 7. Have a look at the Backdrop fork of Drupal. If you come from Drupal 6 or 7 the list of modules should look familiar.
- An e-commerce website. Consider Magento, or give Drupal Commerce a try.
- A community building site? Try Drupal Open Social.
- A decoupled frontend like React, ELM, Ionic, Angular, ... that needs a backend? Try Drupal Contenta or Reservoir or just install the Drupal core with JSON API.
- An application focused on business logic. Consider Laravel.
- A solution that plays well with CiviCRM (e.g. webforms for events or mailing list, contact to user mapping, ...), an award website, a crowdfunding platform, a umbrella association website, ... . Your criterions are multi-user based, multilingual, web service capable, evolutive, secure, enterprise level and stable. Well, you are definitely on the right place to start with Drupal 8.
Drupal makes the difference with other systems on the following points.
They are exposed from a persona perspective.
The project manager
Never get stucked again. If your Drupal projects grows in terms of features and data model, Drupal has the flexibility of a good friend.
- Fully multilingual
- Community features
Fine grained permission system and publication workflow.
- Third party integration
With web services, spread your content on several channels or applications (Drupal frontend, React, Apple watch, ...). It also allows you to integrate it with third parties applications (CRM, ERP, …).
The Drupal Security team is working hard to keep the Drupal core and contributed projects secure.
Your project can also grow in terms of traffic and content, Drupal comes out of the box with progressive solutions of caching.
For small projects, just enable the page and blocks caching + the CSS/JS aggregation in two clicks. For more advanced projects, use cache tags, lazy builder or a Varnish proxy. For performance, have a look at the Big Pipe module that is now stable in core.
Content authoring and workflow
Out of the box FCK WYSIWYG editor, Media handler, content revision, publication workflow, scheduled publication, … All that you can imagine as an author is just waiting for you.
Drupal comes out of the box ("in core") with a responsive administration UI and frontend theme, Responsive images and Breakpoint modules.
- Divitis and classitis free
These are (almost) things from the past. Drupal comes with clean semantic markup out of the box.
- The new user-facing core theme initiative
- Wonderful API’s for developers
Probably one of the biggest strength of Drupal: the Developer Experience (DX).
There was almost a U turn between Drupal 7 and 8 and the amount of work to get there was *huge* (link to pillars), but wait we are now on 8.4.x and Drupal 8 is becoming really mature on a developer perspective. Read more over Drupal API's
- A talented and welcoming community
Another biggest one : ). The place doesn’t matter: the issue queue (link), IRC (link), Slack (link), Drupal events (internal link), there will always be someone to help, even if you are a beginner.
- Based on well adopted standards
One of the main criticism of Drupal 7 were the Drupalisms (custom solutions and jargon).
Drupal now is off its island and based on vendors like Symfony, Composer, PHP Unit, ...
- A predictable and progressive release cycle
- Web services
The Drupal core provides a RESTful Web Services module. The JSON API standard is also covered by a contributed module that comes with zero configuration.
- Content and configuration migration helpers
Continue reading on Drupal.com:
If you start a new project or still have a Drupal 6
Drupal 6 is not supported since it's End Of Life announcement.
You may have heard that Drupal 7 is more easy to implement, but consider the new release cycle in Drupal 8 that will be sustainable between major versions.