Today WP Tavern announced that BackPress is coming back from the dead. For those of you unfamiliar with BackPress, it’s a collection of PHP scripts (or a library, or a sort of framework if you want) for building web applications. On top of that the syntax is quite similar to the WordPress APIs, since it’s a “simplified” version for building web applications with classes and collections of functions that you can find in the WordPress core as well.
Now, the project has been abandoned for quite some time, and most of the code is no longer usable. It has been updated in WP Core during the course of a thousand iterations (or more), but if you dig deeper you’ll find classes and functions that you’ve been using in WordPress for a long time.
JJJ and Sivan want to resurrect BackPress and make it up to date with current WP, which I find really fascinating.
I’m not sure what the plan is exactly – whether it’s fetching a version of WordPress and stripping it down to a framework, or improving every single module since it’s up to date and works like a lightweight version of WordPress. But it reminds me of ExpressionEngine and CodeIgniter, the Open Source framework being the core of ExpressionEngine. It also reminds me of Rails and the way it started, and various forks such as the Backdrop CMS being a lightweight form of Drupal (of sort).
I love WordPress myself and I’ve spent enough time dealing with frameworks in PHP, Java and Python, and the ability of reusing a ton of CRUD features, authentication and much more is a bliss if you’re building a lot of projects with a common internal structure. But some of our projects don’t use a good chunk of what WordPress offers either.
I’ve been working on two different plugins trimming down WordPress – disabling some of the APIs, simplifying the menu structure and everything that we don’t use a lot and could be disabled with hooks or simple conditional statements. The WP API will change a lot of things in the long run, and developers will keep using the WordPress Core without having to deal with a lot of bloated code for specific use cases.
BackPress is the backbone behind bbPress and GlotPress, as well as other community projects. It’s powerful, but pretty old and limited now, and bringing it back to life can change a lot.
While I know that some of the active WordPress developers don’t find BackPress to be a suitable project and everyone looking for a light and flexible framework should just head to Laravel, FuelPHP or something else, I would gladly use BackPress if it includes the WordPress APIs in a highly decoupled manner, allowing you to leverage the power of the Core without having to attach tens of thousands of lines of code for features you don’t use. Also, the WordPress dashboard (and overall admin panel) is overly complicated, and while it was super straight forward for clients 7 years ago, the majority of the simplified SaaS projects and simple CMS have changed the reality.
WordPress is no longer easy. And people no longer need PressThis (have they ever?), need the Comments or even use the posts at all. The Media API is not flexible for document management. The user flow is not decoupled enough for various cases. And there’s simply a lot going on in a single WordPress request, which is often an overhead.
7 years ago people thought that WordPress is a simple blogging tool. We hired a new junior frontend developer this month who was building sites with Joomla and different frameworks since he had no clue that WordPress is usable for real projects. But now Wix, Squarespace, Tumblr even let you build a simple business site in a way that’s much more intuitive. Enterprise users still prefer Java or .NET, or Rails for stability and security. And the middle tear have different needs, which are not always doable with WordPress out of the box.
While I love WordPress and I don’t plan switching away over the next 3-4 years, I would love to use BackPress in some of our projects. We have several applications that could utilize the WordPress database and the core APIs but don’t need the template engine, the admin dashboard, some of the core features that come with a standard WordPress install.
Running a heavy application with the WP-API right now is not straight forward, mostly due to the way WordPress works in general. Various bots hit sites through the XML-RPC API, iterate with WP-Cron, the admin-ajax.php script or hit the standardized login form. While all of those have a solution, it’s not integrated in a standard WordPress install. And the more we trim, cut, remove and detach here and there, the more obvious it is that a simplified “framework”-alike version of the platform would be a great asset for many WordPress developers.