Evan You 采访

采访 Vue.js 创始人 Evan You:“你需要了解用户的需求”

  1. 简介

Evan You 是一位独立软件开发者,也是开源 JavaScript 框架 Vue.js 的创造者。 我们有幸采访了 Evan,请他谈论了 Vue 3 的发布情况、对于无后端和全栈方式的看法、Vue.js 用例以及技术创造者如何平衡工作和生活。

采访

  1. Evrone:   嗨,Evan,很高兴邀请到你! 让我们用一个问题开始我们的采访:你的 Patreon 资助的全职工作岗位相当独特。 你是如何在工作与生活之间取得平衡并避免倦怠的?

  2. Evan: 我每天都尽量按照固定的时间表来工作,即便在我自主创业和在家办公的时候也是如此。 在这方面,有孩子其实帮助很大,因为只要我不工作,我就可以(也必须)去陪伴家人。 还有一点很重要,只要我觉得有必要,我就会放个长假(几个星期),但如果我是公司的全职员工,要做到这一点可能很难。

  3.  

  4. Evrone: Great!  不错! Vue 3 马上就要发布了。 你会在发布之后休息一下,还是打算着手准备新的 Vite 构建系统的下一个版本?

  5. Evan:  我手头一直积压着一堆工作。 就 Vite 来说,当前的目标就是让它更稳定一点,这是一个新系统,人们尝试使用的场景是在我最初设计时并没有考虑到的,所以我们需要给它一段时间,看看下一步该如何发展。 对于 Vue 3.1,也已经有了一些想法了。 但我肯定会休息一下,养精蓄锐很重要!

  6.  

  7. Evrone:  你主修的专业是艺术史,作为创意技术专家加入了 Google 创新实验室。 你在做 Vue 的时候,有没有感觉缺少数学、算法和数据结构方面的知识? 我们是否需要学习“计算机科学”理论才能成为程序员,或者是否需要学习如何成为“软件作者”,并偏爱枯燥但容易理解的代码?

  8. Evan:  老实说,没多大关系 — 我个人认为 Vue 或一般意义上的前端框架,并不属于数学/算法密集型领域(例如,与数据库相比)。 我现在也不认为自己很擅长算法或数据结构。 擅长这些领域肯定会有帮助,但构建一个受欢迎的框架,更多的是要了解你的用户,设计合理的 API、构建社区,并做好长期维护。

我觉得成为“软件作者”和编写“枯燥但易于理解的代码”并不排斥。 实际上,编写枯燥乏味但又容易理解的代码是需要一定经验的(只要编写的代码不是非常低效)! 在我看来,你不应该因为没有经过严格的计算机科学训练就觉得自己没有资格编写软件,但同时你也不应该忽视训练。 我个人采取的是一种务实的方法,我先用笨办法做了很多事情,这有助于让我看清我需要学习的东西,从而把事情做得更好。

 

  1. Evrone: 说得好。 因为有了 Nuxt.js 和 JAMstack 等很多技术,开发人员都不禁只专注于应用的前端部分,并使用极简/JS/BaaS 后端。 你如何看待这些“无后端”或“全栈”方式?

  2. Evan:  我认为这更像是正在构建的产品推动着正在使用的技术。 开发人员之所以选择这种栈,是因为它适合他们正在构建的产品类型:后端逻辑相对简单,把更多注重力放在前端交互。 虽然这明显不是解决问题的好方法,但却非常适合某一类应用。

  3.  

  4. Evrone:  Vue 被重写了好几次。 如果你能回到过去,给当时的自己提一条技术方面的建议,你会给出什么建议?

  5. Evan:  如何更好地分离和解耦内部模块。

 

  1. Evrone:  在过去的几年中,我们看到 JavaScript 和 TypeScript 呈现出并行发展的态势。 你认为不久的将来会出现什么情况:最终会向核心 JavaScript 中添加类型,TypeScript 会取代 JavaScript,还是其他情况?

  2. Evan:  我认为将类型添加到 JS 希望不大,我个人认为这不可能发生,因为让委员会来设计一个类型系统(从 TC39 的运作方式来看)是相当不切实际的。 TypeScript 不会取代 JS,因为它被设计成 JS 的超集。 我个人认为,让 JS 和 TS(具有类型的超集)并行发展最符合实际情况,在可预见的将来,情况也将如此。

  3.  
  4. Evrone:  Vue 的用户基础庞大,拥有一百多万开发人员。 你认为衡量技术采用情况的最佳方式是什么? Stack Overflow 问题、GitHub 星数和其他公共访问指标都很棒,但有许多企业用户使用独立网络工作,他们不经常提问,“只是使用技术”而已。 我们如何将他们计入技术普及率?

  5. Evan:  对于开源软件而言,这是一个内在的难题,因为用户没有义务报告使用情况,而作为作者,我们确实没有可靠的方法进行追踪,尤其是在应用并未面向公众的的情况下。 这就是为什么我认为开发者工具扩展程序用户数量是最可靠的指标,因为它考虑到了所有用户。

  6.  

  7. Evrone:  对于即将推出的 Vue.js 3,有许多 tree-shaking 方面的工作。 在你看来,为什么 tree-shaking 会花费这么长时间才融入现代框架中? 有什么重大困难吗?

  8. Evan:  Tree-shaking 的工作方式取决于以特定方式构造源代码,这意味着从第一天编写代码(和设计 API)时,头脑中就要有 tree-shaking 的概念,这样效果才最好。 要轻松对一个现有的、重要的代码库进行 tree-shaking 是非常困难的,因为它要么需要在 API 中进行中断性变更,要么需要进行重大重构(这会带来很大的风险)。

  9.  

  10. Evrone:  Vue 3 要采用“函数式组件 API”这一提议受到了社区成员的强烈反对。 现在来看,你有什么值得与其他开发人员分享的事后想法吗?

  11. Evan:  大家反对主要是因为担心我们会抛弃 Vue 当前使用的 (2.x) API,而我们考虑它是一个错误。 作为作者和维护者,我们在日常工作中通常会与最热心的早期采用者进行互动,相比于一般用户,他们自然对新想法更感兴趣,这导致我们错误地判断了向后兼容的重要性。 用户不喜欢被剥夺已经习惯了的东西。

  12. 从中得到的启示是你需要了解用户的需求 — 做到这一点并不容易,有时你要费尽心力才能获得这些信息,但不管怎样,你要愿意去倾听才行。

  13.  

  1. Evrone:  Vue 的用户涵盖了小型企业、中型机构和市值数十亿美元的上市公司。 Louis Vuitton 和 NASA 都在使用 Vue。 你是否有想要推荐的 Vue 用例,来展示通过 Vue 编写的复杂的、实际使用中的前端?

  2. Evan:  问题是,大多数“复杂的、实际使用中的前端”项目都不是开源的。 我建议大家可以试试 Vue Devtools 和 Vue CLI UI,尽管它们不是面向消费者的典型 Web 应用,但却都是使用 Vue 编写的有实际用途的界面。

 

总结

我们和 Evan 聊得非常开心,也进一步了解了他对于生活和编写代码的态度。 Evrone 经常使用 Vue.js 来创建定制解决方案,以满足客户的独特需求。 我们很高兴有机会向技术创始人学习,因为我们可以借此加强我们的专业知识,并获得更多工具来开发具有创新性的新产品。 如果您有项目希望通过 Vue.js 获益,请联系我们,我们将竭诚为您服务。

联系我们
已有项目构想?
我们一起来实现它吧
添加附件
文件必须小于 8 MB
允许的文件类型:jpg jpeg png txt rtf pdf doc docx ppt pptx
本网站受 reCAPTCHA 保护,并适用 Google 隐私政策服务条款