Gutenberg on Mobile

The mobile team has been looking at Gutenberg lately, and while it’s too soon to have a detailed plan, we thought we’d share an update on where we stand so far.

We want to support Gutenberg on the mobile apps. And for Gutenberg to be successful in the apps, we believe we must strive to support the full experience, and not a limited feature set. We believe Gutenberg and the concept of blocks has the potential to reshape the way people customize and extend WordPress, and the apps should be a core part of that experience. Getting this right opens up a level of extensibility on mobile that we have never been able to support with the existing plugin infrastructure.

To make this a reality, we have been experimenting with React Native the past weeks, and we keep doing research on what we’re going to need to build this. Our plan is to adapt Gutenberg to make its primitives run both on web and native platforms, then have some platform-specific components, like Aztec for RichText, or our own Media pickers.

We are still in the process of discovering what changes will be necessary, but so far we know that:

  • Blocks will have to rely on a given set of known primitives that are implemented in all platforms if they are to be mobile compatible, instead of using plain HTML.
  • We need to find a solution for styling. CSS is a given on the web, but not on mobile.
  • Blocks should not access the DOM directly, since React Native doesn’t use the DOM. There might be other JavaScript limitations.

Beyond technical limitations, Gutenberg and block developers will have to consider that their UI will run on different platforms and screen sizes, and use a design that works across all of them. We’ll hopefully provide a tool set to help block developers make their blocks mobile compatible.

There are still a lot of unknowns, but we are very excited about this project, and its potential to bring the apps closer to core and allow for much more customization than is possible today.

You can expect to see some discussion happening on the Gutenberg and gutenberg-mobile Github repos, and we’ll make another post here once we have a clearer roadmap. If you have any questions or want to get involved, you can discuss here or find us in the #core-editor and #mobile rooms in Slack.