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.
Acquia Cloud Node.js and Drupal Application Services
The Node.js service includes:
- Node.js development and production runtime infrastructure environments
- Acquia Cloud User Interface for continuous delivery and deployment
- Drag and Drop functionality to easily move code from Dev to Prod
- Blank Git repo that includes npm start that users can clone to start developing locally
- The ability to manage teams and permissions for both Node.js and Drupal developers
- The ability to connect and optimize Node.js applications with decoupled Drupal
- Ability to add multiple environment variables that can be utilized in a Node.js application at runtime
Common Node.js Use Cases
- Access to leverage thousands of Node.js modules with NPM
- Run standalone Node.js applications for real time communications like chat servers, analyzing statistics or analytics, and numerous data-streaming application scenarios
- Create proxy layers between clients and Drupal, for enhanced security and performance
- Optimize decoupled Drupal apps with improved speed, SEO, and proxying capabilities
- WebSockets support for performant, low-overhead, two-way data transfer to clients
Some Applications best suited for Node.js
A majority of projects that use Node.js lean on its inherent strength: real-time or asynchronous functionality. So typical project cases revolve around the ability to maintain this single threading in a non-blocking way. A common example would be a SPA (single-page application) website that uses a combination of multiple views or API endpoints without the need for a page refresh.
Other common examples of this functionality include:
- Dynamic API Factory
- Real-time or data streaming
- Chatbots / Chat clients
- Messaging over WebSockets
Headless CMS and Node.js
Continuous Delivery and Cloud Deployment
Acquia Cloud CD provides continuous integration and delivery devops tools for Node.js and Headless Lightning, including CD Pipelines and CD Environments. Acquia Cloud and Cloud CD make it easy to test and provision applications and environments across development, staging, and production.
Acquia Cloud makes it easy to provision and manage Node.js applications and environments.
Acquia Cloud make it easy to support continuous integration and deliver.
- Node - Shorthand terminology for node.js
- Single-page application (SPA) - A website experienced in a single page, which can be navigated without the need for page reloading
- Non-blocking - A node.js operation that does not wait for I/O to complete
- Asynchronous - Processes that work independent of each other in an non-sequential manner of execution
- Stateful - An application that tracks state of interaction based on previous input from the user
- Ember.js - Framework focused on the model–view–viewmodel (MVVM) pattern.
- Angularjs - Framework focused on both the model–view–controller (MVC) and model–view–viewmodel (MVVM) workflow
- Vue.js - Progressive framework for building user interfaces focused on a lighter footprint than other frameworks listed above
Decoupled Tutorial Overview
Interested in testing a completed Decoupled Drupal Application?
You can learn how to build this application architecture with a pre-built application with Node.js and Drupal on Acquia Cloud.