The Future of Drupal
Michael Schmid - Schnitzel
Michael Schmid
@Schnitzel
CTO Amazee Group
Predicting the Future
Year 2000
according to people in 1900
1900?
-
1850: Lightbulb
-
1880: Radio
-
1885: Car
The Future of Drupal?
Personalisation
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
- Michi wants to buy drone parts
- Michi isn't sure if he should buy them
- Michi leaves the shop site
- Michi visits Facebook
- Michi gets an offer on Facebook for exactly that part
- Michi buys drone part
Drupal?
- Cache Tags in Drupal 8
- Everything Context aware
Decoupled
- Headless
- JavaScript Frontend
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
Server Side Rendering!
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
- Server Side Rendering
Drupal?
- JSONApi & GraphQL Modules
- Contenta:
Angular, Ember, React, Vue, ...
Microservices
What?
- Split up of complex applications into smaller parts
- Parts communicate via APIs
Why?
- Testing and maintenance 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
What?
- Images of Hosting environments
- Locally implemented and tested
- Run everywhere
- Can die and restart very fast
Why?
- Customizing 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:
- It will take time - You can learn
- Drupal has support for everything
- You are at the right place!
Life is a playground
Let's play and learn together
The Future of Drupal - DrupalSouth 2017
By Michael Schmid
The Future of Drupal - DrupalSouth 2017
- 1,650