WordPress-Mitwirkende suchen nach einem Weg nach vorne für die WP-REST-API

Veröffentlicht: 2016-02-09
Fotokredit: Valeriy Poltorak
Fotokredit: Valeriy Poltorak

Am Wochenende wurde die Diskussion über die Richtung der WP REST API fortgesetzt, als sowohl Matt Mullenweg als auch Ryan McCue in ihre WordPress-Blogs gingen, um Aussagen vom Statusmeeting der letzten Woche zu klären. Meinungsverschiedenheiten führen zu einer hitzigen Debatte darüber, was einen Torpfosten für die Kernreife der API ausmacht.

In einem Beitrag mit dem Titel „Chicken and Egg“ ging Mullenweg auf die jüngste WP-REST-API-Diskussion ein und erzählte eine Anekdote aus einem Buch, das die Geschichte des Hip-Hop Mitte der 90er Jahre abdeckt.

Ich liebe die Idee, dass Questlove erkennt, dass dem Song etwas fehlt, und zurück zum Stand geht, um weiter daran zu arbeiten, bis es bei seinem Zielpublikum Anklang findet. Ein Song, der nicht für sich allein steht, wäre nicht besser, wenn er als Teil eines Albums gebündelt wäre. (Oder Samsung hätte die beliebtesten Apps für Android.) Fans hören die Sorgfalt und Qualität jedes Titels und werden zu Superfans.

Mullenweg bezieht es auf Überlegungen beim Erstellen von Produkten für das Web:

Es gibt diese Spannung in allem, was wir produzieren. Wo ist die Grenze zwischen 1,0 ist das einsamste und einem minimal lebensfähigen Produkt? Oder geht es um ein minimal liebenswertes Produkt? Bauen wir ein Auto ohne Klimaanlage oder ein Auto ohne Räder?

„Pivot“ ist passe, aber es ist viel schlimmer anzunehmen, dass die Distribution etwas Kern Ihres Produkts löst, das nicht funktioniert.

Mullenweg erwähnte die gleiche Auto-Analogie während des Treffens letzte Woche. Als Antwort auf einen Kommentator, der um weitere Erläuterungen bat, wie die Analogie auf die REST-API zutrifft, sagte Mullenweg Folgendes:

Wenn Sie eine gute Heuristik allgemein verwenden möchten: Es gab Jahrzehnte von Autos, Millionen von Fahrzeugen und Fahrern, bevor sie Klimaanlagen hatten. Das zentrale Wertversprechen eines Autos ist der Transport, AC hilft Ihnen nur, bequemer dorthin zu gelangen. Sie brauchten kein Auto, um eine Klimaanlage zu bekommen, Sie könnten es in Ihrem Haus haben. AC könnte dazu führen, dass Sie ein Auto einem anderen vorziehen, aber Sie würden wahrscheinlich nicht laufen oder reiten, wenn das Auto keine Klimaanlage hätte, Sie würden einfach die Fenster herunterkurbeln.

Dies wirft die Frage auf, was macht Räder aus? Die Teilnehmer an dieser Diskussion sind geteilter Meinung darüber, ob die vorhandenen Endpunkte bereit sind, in den Kern zusammengeführt zu werden. Die Mitglieder des WP REST API-Teams, von denen viele die API bereits erfolgreich in der Produktion einsetzen, glauben, dass die Endpunkte jetzt bereit sind. Der aktuelle Stand der API bietet die Möglichkeit, Inhalte in und aus WordPress zu bekommen, was es für eine einfachere Kommunikation mit anderen Plattformen öffnet, was viele für den primären Anwendungsfall halten.

Mullenweg und andere, die sich letzte Woche der Diskussion angeschlossen haben, befürworten die Bereitstellung von etwas vollständigerem, einer REST-API, die alles unterstützt, was in wp-admin verfügbar ist. Dies schließt die vielen Website-Verwaltungsfunktionen von WordPress ein und würde die API mehrere Versionen von der Kernreife entfernen.

In einem Kommentar zu unserem ersten Bericht befürwortete Drew Jaynes einen Mittelweg, der seiner Meinung nach einen soliden Ausgangspunkt darstellt. Dazu müssten die fehlenden Teile in den vorhandenen Endpunkten aufgelöst werden, bevor sie zusammengeführt werden (Elemente wie passwortgeschützte Beiträge, automatische Speicherungen und Beitragsvorschauen sowie Metadaten).

„Wie ich und andere aus dem Contributor/Commiter-Lager im Chat sagten, kann es einen Mittelweg geben“, sagte er. „Ob das am Ende wie die vier Kernendpunkte allein aussieht, vier Kernendpunkte mit einem gewissen Flair, XML-RPC-Parität oder einem gewissen Maß an wp-admin-Parität, bleibt abzuwarten“, sagte er.

In einem Beitrag mit dem Titel „Progressive Enhancement with the WordPress REST API“ skizzierte Ryan McCue einen umfassenden iterativen Ansatz, der jetzt auf die Verbreitung drängen und in zukünftigen Versionen weitere Endpunkte einführen würde:

Progressive Verbesserung ist unsere Schlüssellösung für einige damit zusammenhängende Probleme: Vorwärtskompatibilität mit zukünftigen Funktionen und Versionen von WordPress und robuster Umgang mit Datentypen in WordPress. Die progressive Verbesserung entsperrt auch das REST-API-Projekt und stellt sicher, dass nicht gewartet werden muss, bis die REST-API mit allen Funktionen des WordPress-Admins gleich ist.

McCues Beitrag geht näher auf die Funktionen zur Funktionserkennung der REST-API ein, die es Entwicklern ermöglichen, Unterstützung für Funktionen einfach zu erkennen und aufwärtskompatible Weise zu erstellen, während sie auf Kernunterstützung warten.

Ist Verteilung die Lösung?

Während des Treffens in der letzten Woche sagte McCue, dass die Fortsetzung der Entwicklung des Projekts als Feature-Plugin mehr schaden als nützen würde. Wenn die REST-API nicht ausgeliefert werden darf, ohne Unterstützung für alles in wp-admin anzubieten, wäre das Team gezwungen, sie als Feature-Plugin weiter zu iterieren und gleichzeitig schwierige Hindernisse im WordPress-Kern zu lösen. Da nur vier Hauptmitarbeiter weniger als Teilzeit an dem Projekt arbeiten, könnte diese Anforderung die WP-REST-API auf unbestimmte Zeit blockieren.

„Wir glauben, dass der progressive Erweiterungsansatz der beste Ansatz für die kontinuierliche API-Entwicklung ist“, sagte McCue. „Progressive Verbesserung ist ein Paradigma, das das REST-API-Projekt übernehmen muss, wenn es sich um eine API handelt, die wir in den nächsten 10 Jahren erweitern möchten (ohne die Abwärtskompatibilität zu beeinträchtigen).“

Mullenweg, der in der gesamten Geschichte von WordPress einen iterativen Entwicklungsansatz verfolgt hat, ist vorsichtig, sich an die Distribution als den einzigen Weg nach vorne zu halten.

Je größer die Nutzung von WordPress wird, desto lauter sind seine Schritte zu hören. Iteration auf der REST-API im Kern, mit Verteilung auf Millionen von Websites, kann das Web in einer Weise beeinflussen, die Mitwirkende noch nicht vorhersehen können. Wie sie sagen, schwer ist der Kopf, der die Krone trägt. Die Wellen erstrecken sich über WordPress-Sites hinaus auf die externen Plattformen, die auch die API nutzen werden.

Die Mitwirkenden diskutieren immer noch die Nuancen der iterativen Entwicklung im Kern gegenüber der Bereitstellung einer vollständigeren API. In der Zwischenzeit wird die Akzeptanz durch die Unsicherheit rund um das Projekt und die Tatsache, dass es immer noch eine Plug-in-Abhängigkeit trägt, gebremst. Es ist noch nicht klar, ob WordPress-Mitwirkende sich einmischen und auf die Aufnahme der Endpunkte gegen Mullenwegs Empfehlung drängen werden, oder ob sie sich dafür entscheiden werden, mehr Zeit damit zu verbringen, die vorhandenen Endpunkte zu verbessern. Wenn das WP-REST-API-Team sicherstellen muss, dass die API einen wp-admin-Ersatz unterstützen kann, landet sie möglicherweise nicht vor Ende dieses Jahres oder später im Kern.