SlideShare a Scribd company logo
Why use
decoupled Drupal
Андрей Смирных
Андрей Смирных
Full Stack Web Developer
About my experience in Drupal
and related Technologies
Decoupled architecture
Андрей Смирных - Why use decoupled Drupal
Implementations
● Fully decoupling
● Component-driven fully decoupling
● Progressive decoupling
Fully decoupling
Fully decoupling
Fully decoupling
Fully decoupling
Fully decoupling
Component-driven decoupling
Component-driven decoupling
Component-driven decoupling
Component-driven decoupling
Component-driven decoupling
Component-driven decoupling
Component-driven decoupling
Component-driven decoupling
Benefits
● Optimistic feedback
● Smoother interactivity
● Non-blocking user interfaces
● Fault tolerance
● API layer, many-headed back-end
● Decoupled teams
Possible problems
● SEO
● Layout and display mode management
● Content preview
● UI localization
● ACL
● XSS and CSRF protection
● Performance troubles
Do you really want this?
CMS
CMF
Decoupled CMS/F+
Progressive decoupling
Progressive decoupling
Progressive decoupling
Progressive decoupling
Progressive decoupling
Progressive decoupling
Progressive rendering
BigPipe
BigPipe
BigPipe
BigPipe
BigPipe
BigPipe
Progressive decoupling and
Drupal 8
● Dynamic Page Cache (core)
● BigPipe (1.0-beta2, proposed for Drupal 8.1.x core
inclusion)
● Built-in RESTful API for all content (core)
● RESTful displays in Views (core)
RESTful problems
● Round trip to the server for each related entity
● Custom API endpoints for any problem
GraphQL
● Simplified server implementation
● Client-specified queries
● Hierarchical, field-level granularity
● Backwards Compatible
● Expose fields by arbitrary code
● Strongly-typed
● Uniform mutations
GraphQL query example
GET /graphql?q=
{
user(id: 1) {
name
friends {
name
}
}
}
instead of
GET /users/1
+
GET /users/1/friends
GraphQL and Drupal 8
https://www.drupal.org/project/graphql (1.x-dev)
Андрей Смирных
Full Stack Web Developer
Андрей Смирных
Full Stack Web Developer
as@wodby.com
https://github.com/hrdcdr
Золотой спонсор:
Спасибо!
При поддержке: Серебряный спонсор:

More Related Content

Андрей Смирных - Why use decoupled Drupal