Il est difficile de ne pas remarquer l’enthousiasme des gens pour la nouvelle API rest de WordPress si allez passer du temps avec des développeurs à WordPress. L’équipe de rest API vient de publier la version 1.2 du plugin, qui est en cours de développement dans le but de le fusionner dans le noyau WordPress. Crsquoest un grand projet, beaucoup plus grand que Ryan McCue, dirigé par Ryan McCue et Rachel Baker, qui nrsquoa jamais pensé que ce serait le cas. J’ai récemment discuté avec Ryan des défis d’un tel projet de grande envergure et de la complexité de la création d’api génériques pour chaque site WordPress, ainsi que des grands projets de fusion.
La compatibilité de la version 1.2 avec la version 1.2 précédente est la dernière version majeure programmée de lrsquoAPI rest en tant que plug in. Lrsquoéquipe se concentre maintenant sur la version 2. Depuis la sortie de la version 1, Ryan srsquoest engagé à la soutenir et à assurer la compatibilité avec les versions précédentes, ce que lui et lrsquoéquipe de lrsquoAPI rest continuent de faire. La version 2, qui va être fusionnée dans le Code du noyau WordPress, ne sera pas entièrement rétrocompatible avec la version 1, mais le plug in continuera comme niveau de rétrocompatibilité. Ainsi, tant que le plug in est actif, tout ce qui est développé avec cette version du plug in fonctionnera après que lrsquoAPI rest sera au cœur.
« Nous ne le recréerons pas à partir de zéro, et nous ne le détruirons certainement pas tant que nous nrsquoen aurons pas besoin, de sorte que la migration des choses de la version 1 à la version 2 sera facile », a déclaré Ryan dans une entrevue. Dans la version 2, toutes les routes auront maintenant un préfixe. Le noyau utilisera le préfixe
Lrsquoutilisateur est une agence de presse qui souhaite créer une application basée sur son site Web qui fournit des données API à lrsquoapplication en tant que service. Ces utilisateurs sont plus susceptibles drsquoutiliser des paramètres personnalisés. Pour eux, lrsquoinfrastructure est donc plus importante que les mêmes paramètres prédéfinis. Wired magazine en est un bon exemple. Wired a récemment remplacé plusieurs installations WordPress par une seule installation, connectée à plusieurs fronts via l’api rest. La partie préférée de Ryan dans ce projet est que l’api rest permettra aux développeurs de choisir leur propre façon d’utiliser WordPress. Les développeurs nrsquoauront plus besoin drsquoutiliser les thèmes de façon traditionnelle. Ils peuvent utiliser les données json à leur guise.
« Crsquoest lrsquoun de mes cas drsquoutilisation préférés », dit Ryan. « les gens qui ne connaissent pas très bien WordPress peuvent l’utiliser pour créer des sites de première ligne… cela augmente le nombre de personnes qu’ils peuvent utiliser et développer pour WordPress. » Un autre cas d’utilisation envisagé par Ryan est l’application mobile WordPress. Dans ces cas, lrsquoobjectif est drsquoexécuter lrsquoAPI « de façon cohérente sur tous les sites existants ». Cette utilisation rend impossible de prévoir que chaque site fournira les mêmes données. « il y a des problèmes que nous ne voulons pas résoudre parce qursquoil y en a trop », dit Ryan. « lrsquoinconvénient de tout cela est que même si nous savons que les sites ont les mêmes données, ils nrsquoont peut être pas les mêmes champs Nous essayons de trouver le meilleur équilibre entre la flexibilité dont ont besoin les développeurs de plug ins et la rigueur dont ont besoin les clients.
La gamme croissante d’api rest de Ryan fonctionne depuis longtemps sur l’api WordPress rest. Pour que sachiez exactement combien de temps il est, je pense qu’il peut être inclus dans WordPress 3.6. La durée de ce projet est plus longue que la durée initiale
Ce nrsquoest pas seulement parce qursquoil sous estime la charge de travail, mais aussi parce que la portée du projet a considérablement augmenté. Au début, il a estimé que l’api rest « n’est qu’un moyen d’obtenir les données sous jacentes dans WordPress, pas plus». Une partie du Code de la première version était très simple et traitait beaucoup moins de données, et il existe toujours.
Au début du projet, il a été décidé que seuls quatre objets principaux (messages, utilisateurs, taxonomie et métadonnées) seraient disponibles. Cela est limité, mais une fois que lrsquoAPI rest est entrée dans le noyau, elle peut écraser les options et drsquoautres types de données. Comme pour tous les WordPress, l’api rest est conçue pour être extensible. Lrsquoinfrastructure qui gère le reste des types de données ou fait ce que voulez en tant que développeur est là. « lrsquoinfrastructure API elle même supporte presque tout ce que pouvez y lancer. supprimez les paramètres principaux, crsquoest essentiellement un cadre pour créer des API que pouvez créer à volonté », dit Ryan.
Selon lui, la plus grande idée fausse du projet rest API est que les gens « le considèrent comme une baguette magique pour résoudre tous ces problèmes ». Par exemple, la gestion générale des réponses. L’application mobile ne peut pas traiter automatiquement chaque réponse qu’un site WordPress peut envoyer. Le problème avec la réparation de l’api générique n’a pas été corrigé et l’api WordPress rest ne peut pas le résoudre. « Nous voulons que les développeurs de plug ins aient cette flexibilité », dit Ryan. « les développeurs de plug ins doivent également comprendre qursquoen raison de la flexibilité qursquoils ont acquise, ils doivent se souvenir drsquoune telle chose et qursquoil est difficile de la transmettre, en particulier pour les services de site Essayer de dire aux gens qursquoils peuvent supprimer le paramètre, mais ils doivent se rendre compte que cela va briser la situation. Il sera plus facile drsquoajouter des données à la réponse parce qursquoil nrsquoy a pas de N oui
à 39 API de repos WordPress: rétrospective et prospective