The Future of Drupal

 

Michael Schmid - Schnitzel

Predicting the Future

Year 2000

according to people in 1900

1900?

 

  • 1850: Lightbulb

  • 1880: Radio

  • 1885: Car

The Future of Drupal?

 

 

 

Personalization

 

 

Containers

 

Microservices

Decoupled

Personalisation

 

What?

  • Layout, Content, UX adapted based on visitor
  • Age, Location, Device, Behaviour

Why?

  • We are individuals
  • More $$$
  • Accessibility

The hard parts:

  • No page view is the same
  • Testing, Debugging
  • Data quality

The killer feature

  1. Michi wants to buy drone parts
  2. Michi isn't sure if he should buy them
  3. Michi leaves the shop site
  4. Michi visits Facebook
  5. Michi gets an offer on Facebook for exactly that part

Drupal?

  • Cache Tags in Drupal 8
  • Everything Context aware

Decoupled

  • Headless
  • JavaScript Frontend
  • Isomorphic

What?

  • Browsers can run JavaScript
  • Implement Rendering in JavaScript
  • JSON, XML, REST, GraphQL, etc.
  • Data processing still in Backend

Why?

  • Faster, no pageloads anymore
  • Offline capabilities
  • Separate development cycles

But:

SEO? Accessibility?

  • JavaScript also runs on the server
  • First request is prerendered
  • Morphing into full JS app

Isomorphic!

The hard parts

  • Implement everything
  • "Logic" in Frontend
  • Admin Interface?
  • Angular, Ember, React, etc, etc, etc

The killer feature

  • Two development streams
  • Frontend testable without a single line of backend code
  • Isomorphic

Drupal?

  • REST in Core
  • Contrib: Full GraphQL support
  • Contrib: Angular, Ember, React

Microservices

What?

  • Split up of complex applications into smaller parts
  • Parts communicate via APIs
  • Internet of Things!

Why?

  • Maintenance and testability of smaller parts is much easier
  • Smaller is easier to understand
  • Smaller parts easier replaceable

The hard parts

  • Where do we split up
  • 10 tools, 10 programming languages, 10 Coding Styles
  • Local development harder

The killer Feature

Webhooks, Deployments

The killer Feature

Webhooks

Deployments

Drupal?

  • Internally already decoupled (Symfony, Twig, etc.)
  • Core & Contrib: Consume and Expose Content via APIs

Containers

Docker

What?

  • Images of Hosting environments
  • Locally implemented and tested
  • Run everywhere
  • Can die and restart very fast

Why?

  • Customisability happens by the person that needs it
  • Fully testable
  • Portable

The hard parts:

  • Knowledge about hosting required
  • Not your regular Hosting company
  • No short fix on production
  • Persistency

The killer feature

  • Test your production code in the exact same environment on your local

Drupal?

  • Hosting companies start to support it
  • Docker Images by the community
  • Local Development environments in Docker

The Future:

Personalised websites with JavaScript Frontends based on Microservices and hosted on Docker

WTF

Don't worry:

  1. It will take time - You can learn
  2. Drupal has support for everything
  3. You are at the right place!

Life is a playground

Let's play and learn together

Made with Slides.com