Wordpress.com vient de remplacer PHP par une couche web et un back-end API RESTFul pour la console d'administration.
Expliquant le choix du passage de PHP à JavaScript pour WordPress.com, Matt Mullenweg, fondateur et CEO d'Automattic Inc., l'entreprise derrière WordPress, explique que la structure de la plateforme n'était pas assez robuste pour ce qui est à venir, et que quelques unes des forces de WordPress devenaient des inconvénients. Le composant principal impacté par cette refonte est l'interface d'administration remaniée en version 3.8, mais donna à Mullenweg la certitude qu'une "approche incrémentale ne donnerait pas les améliorations attendues". Il ajoute que "la compatibilité ascendante et le fonctionnement sans Javascript" étaient les causes principales pour la forme de l'interface.
Automattic décida en 2014 de créer une nouvelle interface admin appelée Calypso, construite sur des technologies web – JavaScript, HTML, CSS, Node.js, React, Flow, WebPack, Babel – et discutant avec le back-end via une API RESTFul. Andy Peatling, Calypso Project Lead, explique la signification du passage d'une entreprise PHP/MySQL à JavaScript. Ils avaient quelques développeurs avancés JavaScript qui pouvaient contribuer au projet, les autres étant "intimidés" par Calypso. Ils utilisaient aussi Trac pour la gestion de projet et avaient très peu de revue de code. Commencer à utiliser GitHub et son système de pull request suivi par le commit et la revue de code aida les équipes à voir "la simplification de la collaboration, et la manière de fournir des feedbacks personnels sur le travail". Bien qu'intimidant au démarrage, la revue de code "augmenta considérablement la qualité de la base de code et à améliorer les compétences JavaScript de tout le monde". Sur une période de 20 mois, ils passèrent de 7 contributeurs à 127, avec 26 000 commits. L'équipe a aussi implémenté l'intégration continue.
La nouvelle interface est une application d'une page avec un design responsive, s'adaptant aux écrans de toute taille. D'après ces tableaux de comparaison de fonctionnalités, Calypso est plus rapide, avec un chargement quasiment immédiat, la publication immédiate, la prévisualisation multiple sur plusieurs cibles, et l'application des changements en temps réel sans rechargement.
Un des bénéfices de l'utilisation d'un design responsive JavaScript est que la création de clients desktop ou mobile est plus facile, ou comme Peatling le note :
Dès la mi-2015, la base de code Calypso était suffisament bonne pour une utilisation en dehors du navigateur. Comme Calypso est du pur JavaScript, HTML, et CSS, il peut tourner localement sur un device avec une instance allégée de serveur node.js. Avec une technologie appelé Electron, nous construisons des clients desktop avec le même package de code dans l'application. Nous avons commencé avec une app Mac, maintenant disponible, et continuons à travailler sur une version Windows et Linux à sortir sous peu. Voir toutes ces applications sortir et leurs usages en interne commence à vraiment justifier tout le travail investi dans la construction de la base de code Calypso.
Automattic a ouvert le code de Calypso, mais ils ont encore des tonnes de choses à determiner autours des plugins, extensions, contributions, versions Linux et Windows, vitesse d'API, localisation, ainsi qu'à harmoniser l'API WordPress.com et WP-API pour que cela marche avec le coeur de WordPress”, d'après Mullenweg. De plus, ils laissent la communauté décider de l'inclusion de Calypso dans le Core WordPress pour remplacer ou non les interfaces d'administration actuelles.
WordPress est aujourd'hui utilisé par un quart des CMS mondiaux, d'après W3Techs, en augmentation de 13% depuis 2011.