I've been interested for some time in this whole idea of decoupling Drupal and decoupled architectures: collecting links, ideas, videos, and anything that I considered useful. Here is my list. I hope you find something useful, maybe not :-).
Question: Decoupling Drupal… Wait, What? Why? When?
In a few words, decoupling is good because:
- It unleashes cutting edge front-end technologies.
- This is important because these front-end technologies are constantly accelerating -- CMS’s can’t keep pace.
- There is also lots of front-end work that does not necessarily need to change when upgrading a CMS.
- Which all adds up to: less friction between front end and back end.
Question: What is all this hype about?
Everyone seems to be talking decoupling, but what is this really about?
Ok, here is a quick introduction to decoupling:
- https://www.acquia.com/drupal/decoupled-drupal
Here's another one: Decoupling explained:
- https://drupalize.me/tutorial/decoupling-explained?p=2360
What is decoupling? According to Dries (from 2018):
- https://dri.es/how-to-decouple-drupal-in-2018
Let’s not forget the marketeers: here's a guide for them:
- https://www.phase2technology.com/blog/decoupled-drupal
Why is decoupling becoming so popular?
- https://pantheon.io/decoupled-cms
How about an entire ebook on the topic?
- https://www.acquia.com/resources/ebooks/how-guide-headless-and-decoupled-cms
Still hungry for more? Lullabot has written a lot on decoupling:
- https://www.lullabot.com/topics/decoupled-drupal
Question: Right, understood, but, when should you decouple?
Our friends at Lullabot give you some clues:
- https://www.lullabot.com/articles/should-you-decouple
Chromatic shares some ideas: when to do it, why do it, and what are the benefits?
- https://chromatichq.com/blog/decoupled-drupal-what-you-need-consider
Dries shares his When, Why, and How ideas in this webinar:
- https://www.acquia.com/resources/webinars/dries-buytaert-shares-his-view-decoupled-drupal-when-why-and-how
Also good to know: What problems you may encounter (true as of September 2018):
- https://www.lullabot.com/articles/decoupled-hard-promblems-routing
It’s also not just about going fully decoupled. Progressive decoupling is a middle ground that can help you benefit from both worlds, while you avoid painful / stressful “all in” kind of transitions.
Here's a great introduction to progressive decoupling from Eastern Standard:
- https://medium.com/@easternstandard/progressive-decoupling-with-drupal-8-and-reactjs-9a6fcdee1c51
Matt Davis (Mediacurrent), Preston So (Acquia), and John Kennedy (Acquia) discuss the practice behind the theory of progressively decoupled Drupal here:
- https://events.drupal.org/neworleans2016/sessions/take-drupal-next-level-javascript-and-progressive-decoupling
- Video: https://www.youtube.com/watch?v=McowKqqxaFU
Question: Ok, you don’t expect me to do the entire job, do you? Show me the tools!
Ok, I have convinced you. What next you say? Well, it would be good to start playing with some code. And no, there are actually a lot of good tools already out there to help you start quickly. For example:
Contenta:
- https://github.com/contentacms
ContentaJS:
- https://github.com/contentacms/contentajs
Waterwheel:
- https://github.com/acquia/waterwheel.js
Reservoir:
- https://github.com/acquia/reservoir
Headless Lightning:
- https://github.com/acquia/headless-lightning
The Vue.js decoupled kit:
- https://github.com/steveworley/decoupledkit-vuejs
Question: Ok, give me some examples
The Polymer REST API toy:
- https://github.com/burczu/polymer-rest-api
A presentation: React + decoupled Drupal:
- http://prestonso.github.io/decoupled-drupal-react/#/3/9
A Facebook REST tutorial:
- https://facebook.github.io/react/tutorial/tutorial.html
A D8 example:
- https://medium.com/@Userium/headless-drupal-build-a-drupal-8-api-with-a-reactjs-front-end-e43bf0fb94db
- Code -> https://github.com/userium/Drupal-8-API---ReactJS-frontend
Question: Wow, just a bit slower please! Give me some tutorials.
Sure. Are you, maybe, into React?
- https://www.sitepoint.com/getting-started-redux/
React plus Drupal:
- https://www.droptica.com/blog/how-use-react-drupal/
Drupal + React:
- https://www.millwoodonline.co.uk/blog/getting-started-with-react-and-drupal
Drupal for React developers:
- https://reactfordrupal.com/tutorials/drupal-for-react-developers/
Waterwheel:
- https://dev.acquia.com/blog/decoupling-drupal-with-waterwheel-for-ember-and-react/26/06/2017/18381
Live coding at Baltimore Drupalcon:
- https://www.youtube.com/watch?v=WVbGYipxCuI
How about something for a Vue.js fan?
Vue.js + decoupled Drupal:
- https://www.drupal.org/docs/8/modules/decoupled-blocks-vuejs
Drupal And Vue.js: Playing Together To Craft Rich Web Experiences:
- https://blog.heliossolutions.in/cms/drupal/drupal-vue-js-playing-together-craft-rich-web-experiences/
How to build Single Page Application with Drupal 8 and Vue.js:
- https://opensenselabs.com/blog/tech/how-build-single-page-application-drupal-8-and-vue-js
Getting data from APIs in Vue.js + axios:
- https://alligator.io/vuejs/rest-api-axios/
- https://stackoverflow.com/questions/41234463/how-to-access-an-api-with-vue-js
Want a book about Vue.js?
- https://leanpub.com/vuejs2
Or, are you more of an Angular person?
Drupal 8 plus Angular:
- https://medium.com/@chainfrog/data-visualization-using-open-source-web-tools-a-glimpse-of-the-future-using-a-practical-example-1ead08a65f2
A video from DrupalCon Baltimore about Drupal and Angular2:
- https://events.drupal.org/baltimore2017/sessions/decoupled-drupal-and-angular-2
Here's a compilation of links inside a compilations of links… but this contains a lot of Angular references:
- https://groups.drupal.org/node/432938
Question: I’ve heard that decoupling is not just for the web?
Sure, Alexa, show me some stories:
- https://events.drupal.org/baltimore2017/sessions/drupal-alexa-and-big-mouth-billy-bass-walk-bar
Question: Ok, what Drupal modules are out there right now?
Commerce flyout:
- https://www.drupal.org/project/commerce_cart_flyout
Decoupled Router:
- https://www.drupal.org/project/decoupled_router
A plugin to preview your posts:
- https://www.drupal.org/project/jsonapi/issues/2992833
Decoupled Blocks, a javascript-framework-agnostic, progressive decoupling tool:
- https://www.drupal.org/project/pdb
- https://events.drupal.org/dublin2016/sessions/decoupled-blocks-drupal-8-progressive-decoupling-your-favorite-javascript
Question: What about SEO?
- Sure: https://www.volacci.com/blog/headless-drupal-seo-what-marketers-need-know
Question: Can I preview my articles in a decoupled architecture?
- Certainly: https://twitter.com/morenodotnet/status/1035979360560443392
Question: Do you have something about decoupled commerce?
- Of course: https://www.drupaleurope.org/session/road-headless-drupal-commerce-future
Question: Ok, let’s be serious: Who is decoupling in 2018/2019 (nearly)?
Well, here are some stories:
The Future of the CMS: Decoupled Architecture:
- https://youtu.be/7WfQ5gVCYhY
A DrupalCon Nashville session:
- https://events.drupal.org/nashville2018/sessions/decoupled-drupal-hard-problems
Acquia’s ebook:
- https://www.acquia.com/resources/ebooks/decoupled-cms-101
Decoupled commerce in React:
- https://lisbon2018.drupaldays.org/sessions/decoupled-drupal-commerce-react-native
- Streaming: https://www.youtube.com/watch?v=2VLMWn-uH7c
And some case studies:
Princess Cruises:
- https://www.acquia.com/resources/case-study/princess-cruises
A Weather.com story about innovation and decoupled architectures:
- http://www.mediacurrent.com/multimedia/video/forecasting-innovation-weathercoms-emerging-technology-story
Powder:
- https://www.acquia.com/resources/case-study/powdr
And some insights into this project:
- https://dev.acquia.com/blog/a-deep-dive-into-a-decoupled-drupal-8-project/31/07/2017/18501
Wilson's Sporting Goods:
- https://www.acquia.com/resources/case-study/wilson-sporting-goods
Pac-12 Networks:
- https://www.acquia.com/resources/case-study/pac-12-networks
State of Georgia:
- https://www.acquia.com/resources/case-study/georgiagov
Legacy.com:
- https://www.drupal.org/case-study/decoupling-legacycom
Notting Hill Genesis:
- https://www.acquia.com/resources/case-study/notting-hill-genesis
NBA case:
- https://www.youtube.com/watch?v=4GvOdhm_eog
Lastly, if you are a book person as I am, my colleague and friend Preston So has published a book about decoupling:
- https://www.amazon.com/Decoupled-Drupal-Practice-Architect-Architectures/dp/1484240715
That’s all! Happy decoupling! :-)