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 框架的讨论将在未来的会议上继续进行。
