ClassicPress: Alternative to WordPress without Gutenberg & React.js

Gutenberg Editor

There’s a major shift in WordPress with Gutenberg. It’s an ambitious project lead mostly by the people at Automattic to change the WordPress TinyMCE editor, in a radical way. It brings a new paradigm – a so-called “Block” to WordPress. Each component such as Paragraph, Image, or Headings is now a block built with React.js.

Gutenberg Editor

However, the use of React.js has sparked some hot debates within the WordPress community, highlighting problems like licensing in which many argue that it’s not compatible with GPL, hence urge to use an alternative.

So, in this post, I am going to introduce you to ClassicPress, a great alternative to WordPress without Gutenberg and React.js. Let’s read on to know more.

Why do we need a WordPress Alternative anyway?

React.js and the Block concept will spread across the WordPress administration area, even though React.js’ learning curve is quite steep. At the moment, it is only replacing the classic TinyMCE editor. Next, this change is going to replace the Customizer as well as the Admin interface entirely.

For developers, businesses, and indie developers, this change is going to affect in a big way. They’ll need to spend a huge budget to retraining their clients as well as regularly update their themes or plugins to be compatible with Gutenberg.

The entry-level developers are going to be hit the hardest. What was once an easy change and fix with a few lines of a snippet, will soon require a leveled up skill in JavaScript to do the same in WordPress.

These are just a few among many frustrations stemmed by the Gutenberg push. In response to this, some people in the WordPress community have taken a quite strong action seeking out a new platform.

Introducing ClassicPress

ClassicPress is an initiative led by Scott Bowler and a handful of contributors as an alternative to WordPress without Gutenberg and React.js, (at least for the moment). In fact, ClassicPress team has already planned version 2.0.0 of the project where it’ll begin to roll out new changes and features.

classicpress

ClassicPress practices a more democratic way of letting the community decide the project’s direction. There are a few interesting ideas proposed by the community, for example:

Minimum PHP version should be 7.0

WordPress was started when PHP was still at Version 4 and OOP (Object Oriented Programming) only existed in PHP5. If you dig into the source code you will find it full of legacy code. Given the size of the project and the number of users, it won’t be easy for WordPress to drop support for the older PHP versions.

ClassicPress, being a new project, has plenty of flexibility for change. In fact, it has already set PHP5.6 as the minimum PHP to support. Supporting newer PHP versions will provide ClassicPress a performance boost, a better security, as well as an interesting differentiator from the developer’s point of view.

Add API for additional required plugins

A great idea taken from a modern dependency manager such as Composer and NPM. This feature will allow developers to define dependency for their plugins and themes. So, for example, when a user installs a theme, it will automatically install the other plugins that the theme depends on.

Remove XML-RPC

XML-RPC is an outdated specification that allows outside applications such as a mobile and desktop app to interact with WordPress. WordPress now has its own JSON API that makes using XML-RPC irrelevant. On top of that, the xmlrpc.php endpoint poses some vulnerabilities.

Another interesting thing I found in ClassicPress is that you can find or submit new features proposals as well as vote for them in the Petitions page and the active community will surely respond to your suggestions.

What’s next?

ClassicPress, at the moment, is still in its early stage. The team and the contributors are currently developing version 1.0.0 and already have a plan for version 2.0.0. The development is done with Git and published as a Github repository.

As compared to SVN, which WordPress is still using to manage the Core project repository, using Git will make it easier for developers to contribute to the project with “Pull Request”, just like the way to contribute to a modern open source project these days.

Being a fork and inheriting a familiarity from the most popular CMS, ClassicPress has the potential to be as popular as WordPress in the days to come. It can also grow to be its own entity by introducing its own features that may never happen in WordPress.

It’s nice to have a useful alternative to WordPress and I will be watching the project closely.