After Matt Mullenweg blogged about the decision to ditch React for Gutenberg and core WordPress development, Facebook pulled an about face and changed the license. It was a shocking move, and some suspect WordPress’s decision was an impetus for the change.
Now it leaves us wondering what it means for choosing a JavaScript framework for core WordPress usage. And on Tuesday, there was a fruitful discussion on the topic that included team members from the most popular JavaScript frameworks under consideration: React, Preact, Vue, and Polymer.
First off, it’s really nice to see these folks showing up to help out with a conversation about the future of WordPress like this; and they all gave really good insights. You can read a summary of the meeting by Adam Silverstein on Make WordPress.
There is no consensus yet, though one would presume that the path of least resistance would be to continue on with React. Also, if Facebook were to pull another reversal move, it’d be easier for someone or some group to fork react in its current form and continue on. But it’s possible that React won’t be the answer.
One possibility that was discussed Tuesday and seems to have some interest from developers involved is to try and abstract projects from frameworks as much as possible, and instead create custom web components that are interoperable with many frameworks. I do not understand enough to describe exactly how this may work, but there’s at least one interesting ticket for it.
My initial question was the same as the one posed by Mizner, who commented on the chat summary: “Can someone explain how building in an agnostic way doesn’t end up with potentially loading React, Vue, Preact, etc. all at the same time?” The answer by Gary Jones was basically that the frameworks are light and likely cached in browser, so it wouldn’t be a huge deal if they were all loaded, but also noted that some best practices may emerge over time:
Of course, the better solution is to reduce the number of frameworks being used – this seems like an area where plugin development best practices will evolve to make use of the latest version of frameworks, and potentially from a common source, for more comprehensive caching.