Der Vue.js-Ersteller Evan You nimmt an der Diskussion zum WordPress JavaScript Framework teil
Veröffentlicht: 2017-06-06
Letzte Woche haben WordPress Core Contributors ihre Überlegungen zu einem neuen JavaScript-Framework auf React und Vue eingegrenzt. Da das Kernteam mehr kollektives Wissen über die Arbeit mit React hat, hat es sich an Entwickler mit unterschiedlichen Erfahrungen mit der Verwendung anderer Frameworks in einem WordPress-Kontext gewandt.
Eine der Hauptsorgen der Mitwirkenden in Bezug auf Vue ist die Langlebigkeit des Projekts. Ich habe Vue-Schöpfer Evan You gefragt, ob er sich zu dem Thema äußern könnte, um WordPress-Mitwirkenden ein besseres Verständnis des Projekts zu vermitteln, insbesondere in Bezug auf seine Bemühungen, zusätzliche Betreuer zu kultivieren, um die Last der Betreuer zu teilen.
„Ich denke, es ist wichtig, sich die Erfolgsbilanz anzusehen – Vue gibt es seit fast 4 Jahren, und die gesamte Arbeit wurde öffentlich auf GitHub durchgeführt, sodass jeder hingehen und den Wartungsverlauf überprüfen kann“, sagte You. „Während es größtenteils von mir entwickelt wurde, ist die aktuelle Wartung viel stärker von der Community getrieben. Wir haben aktive Kernteammitglieder, die die meisten Probleme prüfen und einen immer größeren Prozentsatz der Probleme, die von Community-PRs behoben werden. Also – ja, ich habe bereits daran gearbeitet, zusätzliche Betreuer zu kultivieren, und werde dies auch weiterhin tun.“
Sie erhalten derzeit 10.000 $/Monat aus wiederkehrenden Patreon-Spenden, die seine Vollzeitarbeit bei Vue finanzieren. Zuvor arbeitete er auch bei Google und Meteor. Während seiner Zeit bei Google verwendeten einige der Projekte, an denen Sie gearbeitet haben, Angular, das er für seine damaligen Anwendungsfälle als zu schwer empfand. Er baute Vue.js als leichtere Implementierung der Konzepte, die ihm an Angular gefielen.
Sie haben kürzlich auch gesagt, dass er einiges von der React-Community gelernt hat, was einige seiner technischen Entscheidungen in Vue 2 beeinflusst hat.
Ich habe viel von der React-Community gelernt – sowohl über Code als auch über Menschen. Ich hoffe, jeder kann wie @dan_abramov sein. Frieden.
– Evan You (@youyuxi) 29. Mai 2017
„Erstens verwendet Vue 2 das gleiche Virtual DOM-basierte Rendering-Modell darunter, das zuerst von React entwickelt wurde“, sagte You. „Die Einführung eines virtuellen DOM ermöglichte es Vue, die Leistungsfähigkeit der vdom-Komposition aufzuzeigen und gleichzeitig die Zugänglichkeit beizubehalten.
„Die React-Community ist auch sehr aktiv, wenn neue Problembereiche erforscht werden – z. B. Zustandsverwaltung und CSS-Verwaltung. Es gibt viele konkurrierende Lösungen und viele Inspirationen, als ich offizielle Lösungen für Vue implementierte.“
Evan You spricht die Missverständnisse von WordPress-Core-Beitragenden über Vue.js an
Sie sagten, er habe die Diskussionen der WordPress-Mitwirkenden zu React vs. Vue verfolgt, wollte aber keine Meinung dazu abgeben, welche die bessere Wahl für das Projekt sei.
„Meine Antwort wäre offensichtlich voreingenommen, und ehrlich gesagt bin ich nicht in der Rolle des WP-Kernteams, also habe ich nicht genug Perspektive, um eine Wahl zu treffen“, sagte You. „Ich kann jedoch Feedback zu einigen der diskutierten Themen geben, in der Hoffnung, ihnen dabei zu helfen, eine fundiertere Entscheidung zu treffen.“
Sie haben einen Kommentar zu den neuesten Javascript-Meeting-Notizen mit Klarstellungen zu einigen Missverständnissen über Vue.js hinterlassen. Sie haben den Punkt bezüglich der „Umarmung von JavaScript als Sprache“ angesprochen, da einige Mitwirkende denken, dass die Vorlagensprache von Vue das zugrunde liegende JavaScript verdeckt.
„Ich denke, ‚JavaScript als Sprache zu übernehmen‘ ist ein weiteres Primitiv von React, das wir in Vue nicht sehen“, sagte Andrew Duthie während des letzten Treffens.

In Ihrer Antwort wird Vues Verwendung von Vorlagen als „Syntaxzucker für die Ansichtsdarstellung über HTML“ mit einer seiner Meinung nach ähnlichen Verwendung im Fall von JSX als Ansichtsdarstellung über JavaScript verglichen:
Die zunehmende Reichhaltigkeit der Benutzeroberfläche erfordert NICHT, alles in JavaScript zu packen. Nur weil Vue standardmäßig Vorlagen verwendet, heißt das nicht, dass es den Leuten erlaubt, ohne das richtige Erlernen von JavaScript auszukommen.
Die Vorlagen von Vue werden unter der Haube in JavaScript-Renderfunktionen kompiliert und sind tatsächlich näher an JavaScript als an herkömmlichem String-Templating. Es ist nur eine Schicht Syntaxzucker über der zugrunde liegenden virtuellen DOM-Darstellung. Stellen Sie sich JSX als Syntaxzucker für die Ansichtsdarstellung auf JS vor; Vue-Vorlagen sind Syntaxzucker für die Ansichtsdarstellung über HTML.
JSX/Raw JS bietet mehr Flexibilität, wenn Sie virtuelle DOM-Knoten direkt manipulieren müssen, deshalb unterstützt Vue auch Renderfunktionen. Aber das bedeutet nicht, zwei gegensätzliche Paradigmen unter ein Dach zu stellen – es erlaubt dem Benutzer einfach, die Zuckerschicht der Syntax zu überspringen, um mehr Kontrolle zu haben.
Sie sagten, die Idee hinter dem Templating auf Renderfunktionen sei es, „bessere Zugänglichkeit“ zu bieten, ein Anliegen, das von vielen anderen Befürwortern der Einführung von Vue durch WordPress geteilt wird.
„Benutzer, die mit HTML vertrauter sind und einfachere Anwendungsfälle haben, könnten die Vorlage verwenden, während Benutzer, die bereits mit JSX/Render-Funktionen vertraut sind, die volle Leistungsfähigkeit von JS nutzen können“, sagte Sie. „Das würde ziemlich gut zur Verwendung des WP-Kerns passen: Community-Benutzer, die Wert auf Erreichbarkeit legen, haben einen einfacheren Einstieg, während das Kernteam Zugriff auf JSX/Render-Funktionen für fortgeschrittene Anwendungsfälle hat.“
Sie haben auch die Bedenken hinsichtlich der Langlebigkeit angesprochen, indem Sie mehr Informationen über die Entwicklungsprozesse von Vue angeboten haben. Er bestätigte, dass die aktuelle Codebasis größtenteils von ihm allein entwickelt wird, die Wartung jedoch auf ein Kernteam mit Mitgliedern auf der ganzen Welt verteilt ist.
„Andere Mitwirkende haben niedrigere Commit-Zahlen, weil ihre Beiträge alle in Form von PRs eingereicht werden und wir die ‚Squash and Commit‘-Funktion auf GitHub verwenden, sodass jede PR nur zu einem Commit für den Mitwirkenden führt“, sagte Sie. „Wir haben fast 500 PRs allein im Core-Repo zusammengeführt und viele weitere im gesamten Unternehmen. Andere Repos unter der vuejs-Organisation, z. B. vuex, vue-router, vuejs.org, werden ebenfalls größtenteils von engagierten Teammitgliedern gepflegt.“
Sie haben auch Fragen zur Stabilität und zukünftigen Kompatibilität geklärt, da WordPress-Mitwirkende Bedenken hinsichtlich bahnbrechender Änderungen in der Vorlagensprache in Vue 2.0 geäußert haben.
„Dies bedarf einer Klarstellung: Die Vue-Versionierung folgt strikt dem Semver“, sagte You. „Das einzige Mal, dass es nach 1.0 bahnbrechende API-Änderungen gab, war der 2.0-Bump. Die Vorlagensyntax ist Teil der API, daher wird sie nicht [unterbrechen], und zwischen größeren Versionssprüngen verpflichten wir uns zu 100 % API-Abwärtskompatibilität. Wir nehmen Stabilität sehr ernst, ebenso wie unsere Community und unsere Benutzer in der Produktion, darunter GitLab, Vice und einige der größten Internetunternehmen in China.“
Da viele WordPress-Core-Contributors seit Jahren auf React aufbauen, bietet You’s Input einen detaillierteren, tieferen Einblick in Vue, um den die Contributors in verschiedenen Feedback-Runden gebeten haben. Die Diskussion wird in den nächsten Wochen fortgesetzt und die Beitragszahler planen, das Thema auf dem Beitragsgipfel von WordCamp Europe aufzunehmen.
