WordPress 核心 JavaScript 框架辯論升溫,貢獻者將討論範圍縮小到 React 與 Vue
已發表: 2017-05-31
WordPress 核心貢獻者今天早上會面,繼續討論選擇一個新的 JavaScript 框架以用於新的核心功能。 週末關於 Make/Core 帖子的討論愈演愈烈,更多 Vue.js 支持者發表評論以補充他們的想法。
Adam Silverstein 和 Andrew Duthie 促成了今天上午的會議,並開始討論包括 Preact、Angular 和 Ember 等其他框架。 然而,討論很快縮小到 React 與 Vue。
Silverstein 鼓勵參與者記住,新框架是用於新功能,例如新編輯器,並且當它是正確的工具時,他們將繼續使用 Backbone,以及現有的 JavaScript。 他還強調,討論與核心框架有關,開發人員可以自由使用他們選擇的任何框架來構建插件或主題。
Vue.js 支持者認為“易於學習”是選擇新框架的重要因素
易於學習不是選擇新框架的標準貢獻者之一,但它是 Vue.js 支持者的主要關注點之一。
“Vue 可以做 React 可以做的所有事情,而且更加平易近人,”Justin Kopepasah 說。 “Vue 得到了廣泛的採用,而且增長沒有停止的跡象。 一些頂級開源框架採用了 Vue,並被中國三大科技公司(包括阿里巴巴)使用。 雖然我確實同意 React 也是一個不錯的選擇,但新開發人員不太容易接受它,而且它背後有 Facebook,這在很多方面(不僅僅是技術)對人們來說都是非常令人擔憂的。”
Justin Tadlock 是一位核心貢獻者,他的代碼和教程幫助許多開發人員學習 WordPress,週末在 Mare/Core 帖子上分享了類似的想法:
我已經嘗試過幾次 React。 即使有超過 10 年的編程經驗,我也很難理解。 我無法想像作為 WP 開發的新手來學習它。
Vue 很容易開始學習。 我有一個小應用程序,並在幾分鐘內運行。 在幾個小時內,我在沒有文檔的情況下構建了一些很酷的、與表單相關的東西。
如果完全由我決定,我會推動 WP 構建自己的 JS 框架來解決 WordPress 特有的問題。 但是,如果我們要選擇現有的框架,請選擇 Vue。
Matias Ventura 是 Automattic 工程師,同時也是 Calypso 和 Gutenberg 項目的貢獻者,他是 WordPress 採用 React 的支持者。 他認為,考慮哪個更容易學習是確定 WordPress 未來界面需要什麼的錯誤焦點。
“在我看來,我們需要研究健壯的編程範式和編碼接口的表達方法,而不是'更容易上手',”文圖拉說。 “這就是我從 Matt 的‘深入學習 JavaScript’中得到的基本信息——推論是 WordPress 成為了向新程序員教授 JavaScript 的平台,我們需要認真對待這一點,而不僅僅是在短期內為我們提供便利。 ”
Ventura 還指出,與 PHP 方面相比,WordPress 歷來在吸引 JavaScript 開發人員方面並不成功,並且核心中的 JS 接口缺乏貢獻者。
“我們有機會讓 WordPress 開發對學習如何通過 JavaScript 編碼的新一代開發人員更具吸引力,”Ventura 說。 他鼓勵其他參與者檢查 WordPress 需要現代化的界麵類型,並選擇最佳框架來處理它們。
“‘更容易上手’[論點]對我來說似乎有點謬誤,”文圖拉說。 “對誰更容易? 正確學習 JavaScript 的成本是多少? Web 應用程序中豐富界面的需求需要對所使用的技術有更深入的了解。 這不是我們可以避免的。 JavaScript 不能再被視為單純的漸進增強,因為它是表達現代界面的語言。”

貢獻者擔心 React 得到 Facebook 的支持
目前,React 比 Vue 更成熟、更廣泛採用,但貢獻者擔心該框架是否得到 Facebook 的支持和許可。 除了對 React 額外專利授權的解釋的擔憂之外,該公司一直是有關審查、數據挖掘和隱私等問題的眾多爭議的根源。 反對者不希望看到 WordPress 通過在核心中使用 React 來搭便車。
“React 的採用不僅僅是為 WordPress 添加一個庫:它添加了由一家科技巨頭領導的文化、商業實踐和代碼庫,”Justin Kopepasah 說。 “如果我們在 Core 中包含 React,在某種程度上我們是在要求用戶(從單個站點所有者到企業)接受 Facebook 在 WordPress 的未來中發揮著關鍵作用。 我毫不懷疑這會導致一些考慮採用 WordPress 的公司暫停。”
然而,其他貢獻者擔心 Vue.js 的壽命,因為它嚴重依賴於它的創建者 Evan You。 你資助了他在 Patreon 上的努力,但該項目沒有任何主要的公司支持。
React 支持者和 WP REST API 聯合負責人 Ryan McCue 說:“我對依賴一個可能會消失的單個人運行的項目感到不舒服。” “由一家參與遊戲的公司經營,意味著長期的支持和相對穩定。” McCue 還指出,React 有一個“為人們學習提供大量教學和支持的龐大社區”。
許多人認為 WordPress 選擇 React 作為新的 JS 框架已成定局
儘管在會議和 Make/Core 帖子上進行了所有討論,但許多旁觀者和社區成員相信 WordPress 選擇 React 已成定局。 在上週的討論開始時,似乎大多數核心貢獻者都支持 React,但大量 Vue 支持者最終在討論中添加了評論。
當一開始的標準包括“在 WordPress 環境中證明”和“與 Calypso 保持一致”等項目時,選擇 React 似乎是唯一可行的選擇。 許多人評論說標準是有偏見的,他們認為該決定已經通過秘密渠道做出,並針對“光學”進行了公開討論。 Automattic 工程師 James Nylen 上週對 Gutenberg 項目的公開票發表評論說:“根據最近在 core Slack 中的討論,WP core 基本上決定採用 React。”
“如果這真的是一場社區討論,那為什麼現在才發生?” WordPress 開發人員 Christopher A. 評論了我們最近的帖子,該帖子總結了最初的討論。 “選擇視圖框架應該在編寫古騰堡的第一行之前發生。 從一開始就知道需要一個視圖框架。 馬特希望盡快將其啟動。 實現這一目標的最佳方法是利用具有 React 經驗的 Automattic 開發人員。”
WordPress 在框架快速發展之際選擇了 JavaScript 框架,但參與該決定的貢獻者表示,他們將保留主題和插件開發人員使用他們選擇的任何框架來構建產品的能力。 在今天的會議上沒有選擇任何框架,Andrew Duthie 說他預計對話將在 WordCamp Europe 的貢獻者峰會上繼續進行。
“至於 React vs Vue(vs Angular vs ...),我們一直在每週的聊天中討論支持和反對每一個的論點,我們故意放慢速度,”Ryan McCue 說。 “我們選擇的關鍵標準來自項目的需求,而不是為了讓決策偏向特定方向。 Calypso 和其他項目是對 React 的強烈信號,但它們不是最終的論點(如果它們是,我們甚至不會討論它)。
McCue 說他沒有看到 WordPress 用 Calypso 取代整個管理員,這種方式不允許開發人員使用他們為自己的擴展選擇的任何內容。 為核心採用 JavaScript 框架的決定更多是為了讓核心開發人員的工作更輕鬆。 此時,致力於新功能的核心開發人員對 React 的了解比其他框架更多。
“歸根結底,我們需要決定在核心中使用什麼,而該決定直接影響在核心上工作的人,”McCue 說。 “選擇一個框架而不是另一個框架並不意味著其他框架更糟,只是我們(作為核心貢獻者)試圖讓我們自己的開發更容易。”
討論的摘要應盡快發佈到 Make/Core 博客,關於選擇新 JavaScript 框架的討論將在未來的會議上繼續進行。
