WPTavern: Just Write: A Client-Side React App for Writing and Editing WordPress Posts
WordPress developer Jason Bobich has created an open source client-side React app called Just Write that provides a decoupled editing experience for WordPress. Bobich said he built the app in 10 days to explore the possibilities of React and the WP REST API.
Although it’s still a work in progress, the app has a demo where curious testers can manage posts from any WordPress website that’s secured with HTTPS and has the JWT Authentication plugin installed. Alternatively, testers can click on the “play in the sandbox” to bypass authentication.
Once logged in, the user sees a dashboard with the most recent posts, a deliberate design decision that Bobich made to “motivate the user to do one thing – to just write.”
The editor includes support for Markdown and a simple preview with a sticky toolbar at the top. Just Write also allows the user to edit their profile and personal information in a dropdown at the top of the screen.
WP REST API Currently Poses Complicated Hurdles for App Developers
After the REST API was merged into core, the time seemed ripe for developers to build a proliferation of different writing experiences for users. However, working with the API still has many hurdles for application developers, limitations that Bobich said he became acquainted with while developing Just Write.
“For anyone wanting to build a practical application like this, the first glaring issue is around authentication,” Bobich said. “WordPress has no way to securely authenticate from outside of the WordPress admin. So expecting any average user to set up oAuth or JWT with a third-party plugin is a bit of a reach.”
Bobich also encountered issues working with media and saving content the WordPress way (which allows shortcodes to get parsed before
wpautop()). The application is not yet ready for real, practical use but would require even more API calls to do things like get ahold of categories and tags or add the ability to create new ones.
Bobich said he thinks these limitations are the reason why there aren’t yet more applications built with decoupled editing experiences. Yet, in the new era of Gutenberg, Just Write’s alternative writing interface offers a simplicity that some users may prefer.
“As the WordPress admin continues to grow and become more complex, some people get excited and others moan and grown,” Bobich said. “But building something like Just Write shows us that there’s more to WordPress than just what we see. There’s more than a menu full of plugins and a new editor built in React that we may or may not like. WordPress can be what we want. It can fit our own needs or any client’s. And this all comes from the potential ability to decouple the editing experience.”
As WordPress has evolved to accommodate different user types from blogging, websites, and niche applications, Bobich said he thinks the next logical step is for developers to begin creating admin interfaces catered specifically to users’ individual needs.
“Gutenberg marks an important turn in the evolution,” Bobich said. “For those that were clinging to the simplicity of WordPress and blocking out some of the other noise, this might not be something they end up liking… or maybe it will?
“But the bigger point is that what we see there in the admin doesn’t have to be it. I hope people will be braver than me and really set out to build these different alternatives. If I can polish my React skills and build that myself in 10 days, I can only imagine what others can do.”
WordPress developer Jason Bobich has created an open source client-side React app called Just Write that provides a decoupled editing experience for WordPress. Bobich said he built the app in 10 days to explore the possibilities of React and the WP REST API. Although it’s still a work in progress, the app has a demo where curious testers can manage posts from any WordPress website that’s secured with HTTPS and has the JWT Authentication plugin installed. Alternatively, testers can click on the “play in the sandbox” to bypass authentication. Once logged in, the user sees a dashboard with the most…