I have been a WordPress Theme developer for well over a decade now. I started using WordPress back in 2005 and made my first theme somewhere around 2009. Since then I have made over 200 custom build themes for client sites and around 20 themes which were publicly released on WordPress theme repo.
WordPress has primarily been a PHP driven Software. Thousands of theme and plugins that are made for WordPress are all made using PHP with some JS and that too mostly jQuery.
With the Launch of Gutenberg aka Block Editor, WordPress has now embraced the JS Framework World. Gutenberg is made using ReactJS which is way different that jQuery.
With jQuery, you did not had to install npm or manage dependencies or do anything special whereas with React you have to learn all those things now and that is where the theme developers have been stumbling around.
2 years ago all that you needed to develop for WordPress was a a LAMP/MAMP/WAMP stack, IDE and a browser and you could do anything. Whereas now, if you want to develop an add on for Gutenberg then you have to install npm, webpack and few other things to even write a “Hello World” script.
The Block Editor
Gutenberg launched with much fanfare. Lots of people hoped it would change the way we build websites and it surely is going to do that but it was launched way too early when a lot of things were barely working. If you have been familiar with the history of WordPress then you would know that things generally did not break when a new version of WP launched and in most cases features were heavily tested and then only would launch publically.
The problem with Gutenberg has been that the people who made it thought it would be used to write blogposts with fancy layouts but the public pitted it against the likes of Elementor and other page builders which have been in industry for quiet sometime. That obviously was a recipe for disaster.
Although the third party add-ons that are being built for Gutenberg do try to bring in some parity between the block editor and the other page builders, the end user still expects the core to do all those things instead of installing another plugin to get some extra customization options.
The Theme Developer Dilemma
Theme developers over the years had found a clever way to release great looking design in their theme using the Page template and Theme Customizer feature. They could create options in the Customizer which would output the content in a certain way without the end user needing to tinker with the color and font-family and size much. This was an easy way to release different variations of theme without much input from the end users. All that end user had to do was add their own content and images.
With Gutenberg, it’s now a blank slate and with Full Site Editing showing up on the horizon, themes are going to get the axe sooner or later. FSE is also going to ditch the Theme Customizer, widgets and all that a theme dev is going to have a is a CSS file, a JSON file with few HTML files. Do what you can do with it.
FSE or Full Site Editing is where an end user can edit/customize entirety of their websites using the Block Editor. That sounds like a great ideas but did anyone ask the end user whether or not they would want to do that.
As a theme developer who has been releasing themes publicly one of the things that make or break your theme is the Theme Demo. Majority of users who are looking for a theme for their next site choose a theme based on the Demo of the theme. That is why themes on ThemeForest with 100s of prebuilt pages clock in more sale. You can build the fastest theme there is on the planet but if you do not have a great looking demo, you won’t get that first set of downloads that pushes your theme to higher level.
With the Customizer method, a theme dev could set a pre-defined section which would render exactly like the demo even when content inside it is changes but with FSE, that is all gone. It’s all up to the user to try and build the layout block by block. That is going to be pretty frustrating to a lot of users.
It already is frustrating to users who have been building for WordPress for a number of years.
One of the things that I hope Gutenberg Developers would do is to create a method to define a design layout that theme developers can use to import preset layouts in the block editor. Pattern Library comes close but it only works for certain cases.
Another thing, I hope we get some way to create custom block using PHP without using third party plugins like ACF or MB Blocks, this would bring back lots of PHP devs who gave up developing for WordPress because they could not learn ReactJS.
I am still coding for WordPress and would hope to code for another decade but now its either you adapt to this brave new world where anything that can break will break or fade away.
And, Learn JS Deeply because WP is going that way whether you like it or not.