http://travistidwell.com/presentations/notdrupal
Created by Travis Tidwell / travist / @softwaregnome
Drupal is an amazing tool. "It can do everything"!
... but that is kind of the problem.
"I need a web application that does _____."You say...
"Yeah, Drupal can do that!"
"Yeah, Drupal SHOULD do that!"
Let's start using the right tools for the right job!
Drupal is and was intended to be a Content Management System.
"Just because you have content to manage, does NOT mean you need a Content Management System."
Drupal is really a Content Workflow Management System.
Drupal makes sense when your system is concerned with managing content workflows between multiple users.
"The majority of Drupal websites should not have been built with Drupal."
Let's take a look at http://www.drupalshowcase.com
These are the majority...
What should I use instead?
Static Site Generator
https://www.staticgen.com/
http://wintersmith.io/
http://yeoman.io/
npm install -g yo
npm install -g generator-metalsmith
yo metalsmith
I created a project that combines
Wintersmith + Nunjucks + Bootstrap = Juckstrap
npm install -g generator-juckstrap
yo juckstrap
You can build a brochure website in an afternoon.
The web is moving to "API first" methodology
Drupal's response to that is the "Headless Drupal" movement.
Using Drupal as a backend API server to front end applications and Mobile apps.
Symfony allows for easy API development.
But even with that do you still need Drupal?...
Depends on what your mobile app needs to do
Cases when you really don't need Drupal as a backend.
When does it make sense to use Drupal?
// Require the application.
var app = require('express')();
// Get the users endpoint.
app.get('/users.json', function(req, res) {
res.json([
{ first: 'Travis', last: 'Tidwell'},
{ first: 'Joe', last: 'Smith' },
{ first: 'Sam', last: 'Roberts' }
]);
});
// Listen to port 4000
app.listen(4000);
I look forward to the day when...
Drupal SHOULD do everything!
Go forth and build something cool...