Die Debatte über das WordPress-Kern-JavaScript-Framework wird heiß, die Diskussion der Mitwirkenden zu React vs. Vue wird eng

Veröffentlicht: 2017-05-31
Bildnachweis: oskay Small Parts – (Lizenz)

WordPress Core Contributors trafen sich heute Morgen, um die Diskussion über die Auswahl eines neuen JavaScript-Frameworks zur Verwendung mit neuen Core-Features fortzusetzen. Die Diskussion über den Make/Core-Beitrag intensivierte sich über das Wochenende mit weiteren Vue.js-Befürwortern, die kommentierten, um ihre Gedanken hinzuzufügen.

Adam Silverstein und Andrew Duthie moderierten das Treffen heute Morgen und öffneten die Diskussion zunächst, um andere Frameworks wie Preact, Angular und Ember einzubeziehen. Die Diskussion verengte sich jedoch schnell auf React vs. Vue.

Silverstein ermutigte die Teilnehmer, sich daran zu erinnern, dass das neue Framework für die Verwendung mit neuen Funktionen wie dem neuen Editor gedacht ist und dass sie weiterhin Backbone verwenden werden, wenn es das richtige Tool ist, sowie in bestehendem JavaScript. Er betonte auch, dass die Diskussion sich auf ein Framework für den Kern beziehe und Entwickler frei seien, jedes Framework zu verwenden, das sie zum Erstellen von Plugins oder Themen wählen.

Vue.js-Befürworter betrachten „Leichtigkeit des Lernens“ als wichtigen Faktor bei der Auswahl eines neuen Frameworks

Leichtes Lernen gehört nicht zu den Kriterien, die für die Auswahl eines neuen Frameworks identifiziert wurden, aber es ist eines der Hauptanliegen der Befürworter von Vue.js.

„Vue kann alles, was React kann, und ist viel zugänglicher“, sagte Justin Kopepasah. „Es gibt eine enorme Akzeptanz von Vue und das Wachstum zeigt keine Anzeichen eines Stopps. Einige der führenden Open-Source-Frameworks haben Vue übernommen und es wird von den drei führenden Technologieunternehmen in China (einschließlich Alibaba) verwendet. Obwohl ich zustimme, dass React auch eine gute Wahl ist, ist es für neue Entwickler nicht sehr zugänglich und hat Facebook dahinter, was für Menschen in vielerlei Hinsicht (nicht nur technisch) sehr alarmierend sein kann.“

Justin Tadlock, ein Core Contributor, dessen Code und Tutorials vielen Entwicklern beim Erlernen von WordPress geholfen haben, teilte am Wochenende ähnliche Gedanken im Mare/Core-Beitrag:

Ich habe React bei einigen Gelegenheiten ausprobiert. Selbst mit über 10 Jahren Programmiererfahrung war es schwer für mich zu groken. Ich kann mir nicht vorstellen, es als jemand zu lernen, der neu in der WP-Entwicklung ist.

Vue ist kinderleicht zu erlernen. Ich hatte eine kleine App in wenigen Minuten einsatzbereit. In ein paar Stunden habe ich einige coole, formularbezogene Sachen ohne die Dokumentation erstellt.

Wenn es ganz nach mir ginge, würde ich darauf drängen, dass WP ein eigenes JS-Framework baut, das die WordPress-spezifischen Probleme löst. Wenn wir uns jedoch für ein vorhandenes Framework entscheiden, entscheiden Sie sich für Vue.

Matias Ventura, ein Automattic-Ingenieur und Mitwirkender sowohl am Calypso- als auch am Gutenberg-Projekt, ist ein Befürworter der Einführung von React durch WordPress. Er behauptet, dass die Überlegung, was leichter zu erlernen ist, der falsche Fokus ist, um zu bestimmen, was die zukünftigen Schnittstellen von WordPress benötigen.

„Meiner Meinung nach müssen wir uns statt ‚einfacherer Einstieg' mit robusten Programmierparadigmen und einem ausdrucksstarken Ansatz für die Codierung von Schnittstellen befassen“, sagte Ventura. „Das ist es, was ich grundsätzlich aus Matts ‚Lerne JavaScript gründlich‘ entnehme – die Folge davon ist, dass WordPress zu einer Plattform wird, um neuen Programmierern JavaScript beizubringen, und wir müssen das ernst nehmen, nicht nur als kurzfristige Annehmlichkeit für uns. ”

Ventura stellte auch fest, dass WordPress in der Vergangenheit nicht erfolgreich darin war, JavaScript-Entwickler anzuziehen, und die JS-Schnittstellen im Kern fehlende Mitwirkende im Vergleich zur PHP-Seite.

„Wir haben die Möglichkeit, die WordPress-Entwicklung für eine neuere Generation von Entwicklern attraktiver zu machen, die gelernt haben, wie man mit JavaScript programmiert“, sagte Ventura. Er ermutigte andere Teilnehmer, die Arten von Schnittstellen zu untersuchen, die WordPress zur Modernisierung benötigt, und das beste Framework für deren Handhabung im Kern auszuwählen.

„Das ‚einfacherer Einstieg‘ [Argument] erscheint mir etwas trügerisch“, sagte Ventura. „Einfacher für wen? Was kostet es, JavaScript richtig zu lernen? Die Anforderungen an reichhaltige Schnittstellen in Webanwendungen erfordern ein tieferes Verständnis der verwendeten Technologien. Das können wir nicht vermeiden. JavaScript kann nicht mehr als bloße progressive Erweiterung angesehen werden, da es die Sprache ist, in der moderne Schnittstellen ausgedrückt werden.“

Mitwirkende sind besorgt darüber, dass React von Facebook unterstützt wird

Im Moment ist React etablierter und weiter verbreitet als Vue, aber Mitwirkende sind besorgt darüber, dass das Framework von Facebook unterstützt und lizenziert wird. Zusätzlich zu Bedenken hinsichtlich der Auslegung der zusätzlichen Patenterteilung von React war das Unternehmen unter anderem die Quelle zahlreicher Kontroversen in Bezug auf Zensur, Data Mining und Datenschutz. Die Gegner wollen nicht, dass WordPress seinen Wagen an Facebook ankoppelt, indem es React im Kern verwendet.

„Die Einführung von React ist viel mehr als das Hinzufügen einer Bibliothek zu WordPress: Es fügt die Kultur, die Geschäftspraktiken und die Codebasis eines Technologieriesen hinzu“, sagte Justin Kopepasah. „Wenn wir React in Core integrieren, bitten wir die Benutzer (von einzelnen Websitebesitzern bis hin zu Unternehmen) gewissermaßen zu akzeptieren, dass Facebook eine Schlüsselrolle in der Zukunft von WordPress spielt. Ich habe kaum Zweifel, dass dies einige Unternehmen, die die Einführung von WordPress in Betracht ziehen, innehalten wird.“

Andere Mitwirkende haben jedoch Bedenken hinsichtlich der Langlebigkeit von Vue.js, da es so stark von seinem Schöpfer Evan You abhängig ist. Sie finanzieren seine Bemühungen auf Patreon, aber das Projekt hat keine große Unternehmensunterstützung.

„Es ist mir unangenehm, mich auf ein Projekt zu verlassen, das von einer einzelnen Person geleitet wird, die verschwinden könnte“, sagte React-Befürworter und WP REST API-Co-Leiter Ryan McCue. „Von einem Unternehmen geführt zu werden, das am Spiel beteiligt ist, bedeutet langfristige Unterstützung und relative Stabilität.“ McCue bemerkte auch, dass React „eine riesige Community zum Unterrichten und zur Unterstützung für Menschen hat, die lernen“.

Viele glauben, dass die Wahl von WordPress React als neues JS-Framework eine ausgemachte Sache ist

Trotz aller Diskussionen in Meetings und Make/Core-Posts sind viele Zuschauer und Community-Mitglieder davon überzeugt, dass die Wahl von WordPress für React eine ausgemachte Sache ist. Zu Beginn der Diskussion der letzten Woche schien es, dass die meisten zentralen Mitwirkenden React befürworteten, aber es stellte sich heraus, dass ein starkes Kontingent von Vue-Befürwortern der Diskussion Kommentare hinzufügte.

Die Auswahl von React scheint die einzig praktikable Wahl zu sein, wenn die Kriterien von Anfang an Elemente wie „bewährt in einem WordPress-Kontext“ und „Ausrichtung auf Calypso“ enthalten. Viele haben kommentiert, dass die Kriterien voreingenommen sind, und sie gehen davon aus, dass die Entscheidung bereits durch die Hinterkanäle mit einer öffentlichen Diskussion über „Optik“ getroffen wurde. Der Automattic-Ingenieur James Nylen kommentierte letzte Woche ein offenes Ticket für das Gutenberg-Projekt und sagte: „Aufgrund der jüngsten Diskussion in Core Slack hat sich WP Core grundsätzlich für React entschieden.“

„Wenn dies wirklich eine Community-Diskussion sein sollte, warum findet sie dann jetzt statt?“ WordPress-Entwickler Christopher A. kommentierte unseren letzten Beitrag, der die anfängliche Diskussion zusammenfasste. „Die Wahl eines View-Frameworks hätte erfolgen sollen, bevor die erste Zeile von Gutenberg geschrieben wurde. Es war von Anfang an bekannt, dass ein View-Framework benötigt wird. Es war Matts Wunsch, es so schnell wie möglich zum Laufen zu bringen. Der beste Weg, dies zu erreichen, war der Einsatz von Automattic-Entwicklern, die Erfahrung mit React haben.“

WordPress wählt ein JavaScript-Framework zu einer Zeit aus, in der sich Frameworks schnell weiterentwickeln, aber an der Entscheidung beteiligte Mitwirkende sagten, dass sie die Möglichkeit für Theme- und Plugin-Entwickler erhalten werden, jedes beliebige Framework zum Erstellen ihrer Produkte zu verwenden. Während des heutigen Treffens wurde kein Framework ausgewählt, und Andrew Duthie sagte, er gehe davon aus, dass das Gespräch auf dem Contributor Summit von WordCamp Europe fortgesetzt werde.

„Was React vs. Vue (vs. Angular vs. …) betrifft, haben wir die Argumente dafür und dagegen im wöchentlichen Chat diskutiert, und wir gehen es absichtlich langsam an“, sagte Ryan McCue. „Die von uns ausgewählten Schlüsselkriterien ergeben sich aus den Anforderungen des Projekts und sollen die Entscheidung nicht in eine bestimmte Richtung lenken. Calypso und andere Projekte sind ein starkes Signal in Richtung React, aber sie sind nicht das ultimative Argument (wenn sie es wären, würden wir nicht einmal darüber diskutieren).“

McCue sagte, er sehe nicht, dass WordPress den gesamten Admin durch Calypso auf eine Weise ersetzt, die es Entwicklern nicht erlaubt, das zu verwenden, was sie für ihre eigenen Erweiterungen wählen. Die Entscheidung, ein JavaScript-Framework für Core zu übernehmen, dient eher dazu, die Arbeit von Core-Entwicklern zu erleichtern. Derzeit verfügen Core-Entwickler, die an neuen Funktionen arbeiten, über ein größeres Wissen über React als über andere Frameworks.

„Am Ende des Tages müssen wir eine Entscheidung darüber treffen, was wir im Kern verwenden, und diese Entscheidung wirkt sich direkt auf die Menschen aus, die am Kern arbeiten“, sagte McCue. „Ein Framework einem anderen vorzuziehen, bedeutet nicht, dass die anderen schlechter sind, es sind nur wir (als zentrale Mitwirkende), die versuchen, unsere eigene Entwicklung einfacher zu machen.“

Eine Zusammenfassung der Diskussion sollte bald im Make/Core-Blog veröffentlicht werden, und die Diskussion über die Auswahl eines neuen JavaScript-Frameworks wird in zukünftigen Meetings fortgesetzt.