Chris Hutchinson has ideas for a better WordPress.
Imagine a world where WordPress is lean, fast, and efficient. In this world, WordPress has just one task: to manage your content.
>And he lays out his ideas for what WordPress would look like. His list is largely what it actually looks like, minus the REST API and he’s not a fan of the PHP underlayer. But I like his thoughts on why WordPress isn’t great for theming:
You might have spotted that I haven’t included any theming functionality in the above list, and with good reason. After building a number of websites and apps using WordPress and the REST API, I’ve come to the conclusion that WordPress isn’t the best tool for handling layout and presentation. Not only is it restrictive in terms of functionality, but it also limits the people who can work on it, as only PHP developers are able to decipher even the most well-structured WordPress theme. Other developers are often left out in the cold.
Yet again, the RESTful API comes to our rescue. Thanks to its simple JSON output, we’re able to use JavaScript to its full potential, using ReactJS or AngularJS to craft beautiful and fast front end experiences, taking advantage of many of the new HTML5 browser APIs that have become available over the past few years, including localStorage and more recently, service workers. Even better, we don’t have to use jQuery.
So he built Twenty Sixteen as an app of its own, using React.
This app (note: no longer a ‘theme’) — built over 24 hours — uses ReactJS and the React Router open source project, and consumes all data via the WordPress REST API. As the current version of the REST API doesn’t support additional data such as menus and custom fields, I’ve used plugins to fulfil that requirement. The app uses localStorage to cache requests, meaning that navigating the site feels almost instant. Data is reloaded shortly after the initial request for the page, ensuring the content is always up-to-date.
While only a skeleton structure of the full Twenty Sixteen theme, missing many key features — due to time, not technical limitation — it is clear that not only is it possible to create these great experiences, but also very quick. The potential of sites built using this architecture is considerable, and only time will tell what imaginative ideas the developer community will come up with.
Chris has good ideas. I don’t think they are all practical (he would like to see WordPress rebuilt in Node for example 🙂 ) But, that’s okay, because he’s thinking outside the box and building stuff, and that’s awesome. Check out his full post, as I only shared some of his ideas.
Responding to the theming passage, I would add the following, familiar-sounding point:
… it also limits the people who can work on it, as only JS developers are able to decipher even the most well-structured React app.
Just saying. ☺