Journey towards a performant web editor

TLDRThis post presents different performance improvement and monitoring techniques that can be used in any React/Redux application.Akin to the React Concurrent mode, it also introduces an async mode for Redux applications where the UI can’t be windowized. WordPress 5.0 included a new block-based content editor. The editor is built as typical react/redux web application with …

Embrace the modularity

The WordPress block editor is based around the idea that you can combine independent blocks together to write your post or build your page. Blocks can also use and interact with each other. This makes it very modular and flexible. But the Block Editor does not embrace modularity for its behavior and output only, it …

Let’s start building JavaScript plugins for WordPress

With Gutenberg, we made the choice to use JavaScript heavily in order build the UI of the editor, not because we’re nerdy hipsters but essentially because it is the perfect fit to address the UI and UX challenges of a heavily interactive interface in the browser. As a consequence, we’ll start to see a shift in …

Efficient client data management for WordPress Plugins

Manipulating Client Data in highly interactive screens in WordPress (essentially the editor page in WordPress pre 5.0.0) is not the easiest task to do for plugin authors. As much as WordPress provides a large number of functions to access and manipulate data server side, it fails at providing a consistent way to access and manipulate …

WordPress is evolving and you should care

Do you know WordPress, this tool that powers 27% of the web? This big old CMS everyone loves to hate because It’s oldish, it’s PHP and it’s not an SPA? but in the same time, everyone uses because it’s so great at achieving the goal it’s designed for: creating content? Well! It’s time to stop criticizing …

GraphQL is not only for Backend

When we hear about GraphQL, it’s often mentioned as the new way to retrieve data from the server. The silver bullet that will replace REST APIs. This is true, GraphQL can do an amazing job to run the new generation of server APIs but this is not the whole picture. From the homepage of the official …

How ES6 Generators are changing the way we write Javascript

I have to admit, It took me some time to figure out in which use cases ES6 generators could be really useful (I’m not the only one I think, am I ?). When we talk about ES6 (or ES2015 as you like), generators are not the first feature we think about, we often see them as …

Redux nowadays : From actions creators to sagas

There’s this expression I say each time I stumble on something (some technology) that’s going to change my habits in development …. Oh, ça déchire sa mère 😛 a not so conventional french alternative to wow that’s great !!!. And you know what, It just happened again. I discovered redux-saga, And I’m like: “Wow this is great, that’s …

Understand unidirectional data flow by practice: rewrite an AngularJS application

Unidirectional data flow (or sometimes referred to as reactive programming or functional programming) is often seen as this new trend in frontend applications development brought by React and Flux (or by ReactiveX from Netflix). So many developers think using one of these libraries or frameworks is necessary to start with this pattern. This, of course, …

Frontend application development fairytale (with backend analogy)

In the last three years, frontend development has evolved very quickly. With all this stuff out there (react, angular.js, aurelia, redux, flux, Angular2, Rx.js, falcor…), it became really hard for developers and companies to make choices about the stack to use for their applications. As a developper, I keep asking myself, which technology I’m gonna …