React is a good choice for the broader Drupal community. Many other PHP-based Open Source projects have gone this route, which opens up new avenues for us to share concept and code with a larger audience.
And lastly: Drupal desperately needs a better Editor interface. A framework like React will allow us to build the interfaces we've always dreamed of: fast, intuitive, with excellent usability.
At Amazee Labs, we have been building web experiences with React and GraphQL for over a year and have many more React projects in the pipeline.
We’ve learned a lot from these projects in the past year. In the spirit of all things open source, we’d like to share some of our best practices and lessons learned with the community. To this end, we are excited to announce two projects that Amazee Labs will develop and support, with the goal of moving Drupal, and it’s community, forward in this exciting new direction.
The first of these projects is the Drupal Decoupled App, our own Starter Kit for all new decoupled projects. It is based on React, GraphQL and Drupal 8 and includes everything you need to start adecoupled project, including:
- Example React components
- Storybook integration
- Build framework based on Webpack
- Server-side rendering Node.js server
- Drupal 8 with pre-configured GraphQL module
- Documentation for how to run this locally with the power of amazee.io local Docker development
This is what we use for all new projects and we will continue to maintain, using Amazee best practices, on a regular basis. Whether you’d like to test out a fully decoupled Drupal site based on React and GraphQL or you're ready to start a new project with React, this repository has the resources to help.
The second project we want to share is a Drupal GraphQL Module. This can also be found on Drupal.org. This module allows any Drupal 8 installation to expose and manage its content via GraphQL. It has a fully automated Schema generator and can be used out-of-the-box after installation. The module includes the GraphQL Explorer and GraphQL Voyager, which allow you to quickly learn and test the GraphQL API.
At Amazee we know that open sharing of knowledge, resources, and code not only makes us better developers but, more importantly, it makes us a stronger and more well-informed community. So, we are excited to announce initiatives to share our experience and knowledge with React far and wide.
Our offices in Austin, Zurich, and Cape Town actively organize knowledge-sharing at their respective Drupal User Groups and we will continue to expand our reach by offering React and GraphQL training at DrupalCon and Drupal Camps. We will also continue to produce high-quality technical blog posts and other valuable content on these subjects. In fact, you can read our series of posts on GraphQL and React:
- Introduction to GraphQL
- Drupal and GraphQL with React and Apollo
- Drupal and GraphQL - Batteries Included
- Extending GraphQL: Part 1 - Fields
- Extending GraphQL: Part 2 - Types and Interfaces
- Our React Learning Journey
- Next Steps for GraphQL and Drupal
We are excited to see the possibilities of Drupal and React already in action and the projects this technology will inspire. We'd love to see how React has already inspired you. Share in the comments the React and Drupal projects you are working on!