• Vue之父尤雨溪是如何把Vue打造成三大前端框架之一的
  • 发布于 2个月前
  • 210 热度
    0 评论
Evan You 可以说是 Vue.js 背后的灵魂人物。2013 年,当时 Evan 还在 Google 工作,就开始了 Vue 的开发。那个时候,他仅仅把 Vue 当成业余时间的小项目和爱好来对待。Evan 取得Design&Technology硕士学位,进了 Google 从事前端开发工作。在 Google 工作期间,Evan 参与了 Google Feedback 和 Google Drive 等产品的前端工作。

工作之余,Evan 喜欢研究各种新前端技术。当时前端领域正在快速发展,各种新框架层出不穷。Evan 注意到 Angular.js 越来越火,但他觉得 Angular 的 API 设计并不完美。于是他就在业余时间试着自己实现了一个轻量级的前端框架,这就是 Vue 的雏形。

起初,Evan 只是把 Vue 作为业余爱好来开发。他没有想到 Vue 会变成现在这样一个被业内广泛使用的前端框架。Evan 说,当时开发 Vue 的最大动力,就是他对 API 设计的热情。他先会思考前端框架的 API 应该如何设计,然后再思考如何实现这些 API。这种“API 驱动开发”的方式也成为了 Vue 设计的一个特点。

在 Google 工作 4 年后,Evan 加盟了 Meteor startup。Meteor 是一个也集前后端于一体的全栈 JavaScript 开发框架。由于 Evan 有丰富的前端开发经验,所以在 Meteor 他继续负责前端框架的工作。

那时,Meteor 使用自己开发的 Blaze 作为前端框架。Blaze 的理念跟 Vue 有一些相似之处,比如都有细粒度的响应式系统。但是 Blaze 因为只能在 Meteor 环境使用,扩展性较弱。所以后来 Meteor 决定转向采用 React 作为其前端框架。

Evan 本来希望公司能采用自己开发的 Vue,但最终公司还是选择了 React。这使得 Evan 失去了开发热情,因为他觉得 Vue 比 React 在许多方面做得更好,但因为现实的技术生态环境,很难说服公司采用一个刚刚起步的框架。

这件事成为 Evan 独立开发 Vue 的一个转折点。2016 年,在 Meteor 工作了 2 年后,Evan 决定离职,开始全职独立开发 Vue。离职时 Evan 已经有了一定的积蓄,而 Vue 的用户群体也在稳定增长。通过 Patreon 群众募资平台,Vue 每月可以获得 3000 美元的稳定收入。这给了 Evan 足够的信心开始这个新的阶段。

Evan 这次重大的职业变化并没有预先跟他的妻子讨论。直到有一天他妻子看到了 Evan 的退保通知邮件,才知道 Evan 已经离职创业了。起初妻子还有些担心,但 Evan 向她解释了收入来源,以及随时可以重新找工作的保障。最后还是得到了妻子的理解和支持。

Vue 至此开始进入快速增长期。随着用户不断增加,Evan 把更多时间投入到框架本身的完善上。他陆续增加了单文件组件、路由、状态管理等功能,逐渐把 Vue 打造成一个与 React、Angular 齐名的前端框架。

Evan 分析了 Vue 早期获得众多用户的几个关键因素:
1.文档质量高,上手容易。Evan 自己编写了高质量的英文文档,并亲自翻译了中文文档。
2.Laravel 社区的大力推广。Laravel 的创造者 Taylor Otwell 非常欣赏 Vue,在 Laravel 生态圈中大力推广使用 Vue。这为 Vue 获得 PHP 开发者用户群做出了很大贡献。
3.Evan 自己在社区的宣传。Evan 会在各种论坛和会议上宣传推广 Vue,积极与开发者交流 Vue 的设计理念。
4.更容易被后端开发者接受。Vue 允许直接在 HTML 中编写模板,然后通过 JavaScript 使其变成动态的。这对主要做后端的开发者来说,能够更简单上手。

相比之下,React 和 Angular 几乎都是来自企业内部使用后向外推广开来的。这种来自大公司支持的框架更容易获得认可。但 Vue 走的是自下而上的推广道路,依靠开发者个人的喜爱传播开来,这也是非常难得的成功案例。

在接受采访时,Evan 谈到他当前的工作重心主要在于如何扩大 Vue 的团队规模,培养更多社区贡献者。因为一个项目发展到一定规模后,不太可能继续完全由个人维护下去。Evan 表达了希望在 Vue 项目中也找到类似 Vite 项目中的 Matias 那样的合作伙伴。

Matias 是 Vite 项目的主要维护者之一,他在协调社区各方力量方面做得很出色。Evan 希望也能在 Vue 里找到类似的人,来分担他的部分工作,包括代码审查、问题 Triage 等。Evan 表示,他仍然希望继续编写代码,但是也意识到自己的时间和精力有限,不能无限期地对 Vue 的每一行代码进行控制。这种“放手”对他来说也是一个学习的过程。

目前 Vue 的生态中已经有很多贡献者在维护不同的项目,所以 Evan 的主要精力会放在确保各项目之间的协同合作上。他会关注优先级最高的事项,并把一些维护性任务逐步交给其他核心团队成员。简单来说,Evan 正在尝试找到一种既发挥自身优势,又能扩大团队规模的管理方式。

对于想参与贡献的开发者,Evan 建议可以从 review 其他人的代码和 issue 开始。即使不能完全解决一个 issue,分享自己在调试过程中获得的任何线索和信息也都是对项目有帮助的。Evan 非常欢迎更多人加入 Vue 的开发维护。

Evan 使用了“如同送孩子上大学”的比喻来表达他正在经历的这一转变过程。Vue 也到了一个需要更多社区力量来推动发展的阶段,Evan 不能再完全通过个人力量来控制一切细节。这对任何一个项目创始人来说,都是一个不容易的成长过程。

看到 Vue 从几年前小众的个人项目,发展成一个拥有强大生态系统和广泛影响力的前端框架,Evan 也感到欣慰。这证明了他一直以来对前端框架设计的理念和坚持是正确的。开源项目能够依靠社区力量蓬勃发展,也令人感到欣喜。

对于 Vue 未来的发展,Evan 希望它不仅要符合技术发展趋势,也要考虑开发者的真实需求。他希望 Vue 可以成为一个长期可持续发展的前端解决方案,而不仅仅是一时的热门技术。相比追求激进的创新,Evan 更看重平稳发展。他认为每个项目都有不同的发展道路,不一定需要全速前进才能取得成功。

Vue 目前面临的一个难题是在规模扩大后,如何保持开发效率。因为修改会对更多用户产生影响,所以不能再以小项目那样随意做变更。Evan 表示这需要在 API 设计思路上做一些调整,要更多考虑向后兼容。同时,团队协作流程也需要不断优化,这方面他还在持续学习。

这次采访让 Evan 回顾了 Vue 项目的过去与现状,也对未来产生了更清晰的思考。Vue 的成功证明了以开发者需求为中心的前端框架是可行的,也启发了更多前端开发者不断创新。我们可以期待 Vue 在渐趋成熟的同时,仍保持初心和开放心态,吸收社区更多力量,继续完善、发展下去。
用户评论