“Building with JavaScript in the Customizer” at WCUS 2017

At WordCamp US 2017 I gave a talk on “Building with JavaScript in the Customizer”. I was happy to have the opportunity to share the technical details on the Customizer’s architecture and JavaScript API, which saw many improvements in 4.9, in addition to being able to share the Customizer’s new user-facing features during State of the Word.

The video has been posted on WordPress.tv:

Some photos taken during my talk:

Here are the slides:

I want to convert the talk into a series of blog posts to dig into more of the details and provide more examples, but I probably won’t get to that until 2018.

Mel Choyce’s Recap on WordPress 4.9

Whereas my recap post about WordPress 4.9 focused mostly on the new features and enhancements, my co-release lead Mel Choyce just published a great post that gets into more of the process aspects of the release, including the key contributors:

WordPress 4.9 Released

I think that 4.9 went really well by having essentially three co-release leads: Mel Choyce leading design, myself leading the development, and Jeff Paul leading project management as deputy release lead.

WordPress 4.9

For the past few months I’ve been co-leading the WordPress 4.9 release with Mel Choyce (and Jeff Paul too). I’m really excited about all the new features and enhancements we’ve built which will now be rolling out across 29% of the Internet(!).

WordPress 4.9 “Tipton”

In particular I’m excited about the powerful new capabilities being added to the Customizer. Now you can draft changes to come back to later while also scheduling them to be published at a future date.  The Customizer also now features autosave revisions, changeset post locking, customization drafts, and more. These changes were a long time in coming. For more than two years we’ve been working on these features in the context of the Customize Snapshots feature plugin where we’ve developed the infrastructure and UI for changesets in the course of service delivery for our clients at XWP. In WordPress 4.7 the changeset infrastructure from the plugin was introduced to core, and now in 4.9 the UI has also been introduced, after many design iterations.

I’m also particularly excited about the improvements to the Customizer JS API in 4.9. It is now much more pleasant to develop applications in the Customizer using JavaScript, where the JS API is much more of a first-class citizen on par with its more popular PHP API. Since the Customizer is WordPress’s first single-page application, JavaScript has always been key. However, the PHP API has been the primary way that developers would interact with the Customizer, where all of the PHP API calls get translated into JS API calls when the Customizer loads. Now with 4.9 developers should feel much more inclined to target the JS API directly without having to use with the PHP API abstraction. Ultimately, if you want to make scalable applications in the Customizer, you must use the JS API. I’m going to be talking about building with JavaScript in the Customizer at WordCamp US this year (in a couple weeks).

There are several other things I’m really happy about in 4.9, including the integration of CodeMirror into the code editing interfaces (Additional CSS, Custom HTML widget, theme/plugin editors) and the many improvements to widgets, including adding media/embeds to the Text widget and a new gallery widget.

Thanks to XWP for sponsoring my time to be part of this release.

I’ve written about all of these improvements in detail over on Make/Core. Since I don’t post much here on my personal blog, here’s a roundup of the 4.9 posts I’ve published there:

New Features and Enhancements with Customizer Changesets in 4.9

Improvements to the Customize JS API in 4.9

Widget Improvements in WordPress 4.9

Code Editing Improvements in WordPress 4.9

Introducing the Gallery widget