Js的创建者Evan You采访:“你需要了解你的用户想要什么。”

2020-09-09 20:22:35

Js的创建者Evan You采访:“你需要了解你的用户想要什么。”

Evan You是一名独立软件开发人员,也是开源JavaScript框架Vue.js的创建者。我们有机会采访了埃文,谈到了Vue 3的发布,他对无后端和全栈方法的看法,Vue.js的用例,以及该技术创建者的工作和生活平衡。

埃夫龙:嗨,埃文,很高兴今天有你在这里!让我们以这样一个问题开始面试:“你的全职工作职位由Patreon资助,非常独特。你如何组织好工作与生活的平衡,避免精疲力竭?

埃文:虽然我是个体户,而且在家工作,但我每天都尽量遵循固定的作息时间。在这方面,有孩子确实有很大帮助,因为每当我不工作的时候,我就可以(而且必须)和家人在一起。另一件重要的事是,每当我觉得需要的时候,我就会长时间休息(几周)-如果我是一家公司的全职员工,这可能更难做到。

太棒了!Vue 3发布在即。你会在它之后休息一下吗?或者你已经为新的VITE构建系统制定了下一个版本的计划?

埃文:我总是积压了很长时间。对于VITE来说,目前的目标实际上只是让它更稳定-它是一个新的系统,人们试图在我最初设计的场景中使用它,所以我们会给它一些时间来看看它下一步应该在哪里发展。对于Vue 3.1,也已经有了一些想法。但是我一定要休息一下,充电很重要!

埃夫龙:你是作为艺术史专业的创意技术专家加入谷歌创意实验室的。在开发VUE时,您是否经历过数学、算法和数据结构教育的缺失?我们是需要学习计算机科学理论才能成为程序员,还是需要学习如何成为软件作家,并且更喜欢枯燥但容易理解的代码?

Evan:老实说,不是很多--就我个人而言,我认为Vue,或者说一般的前端框架,并不是一个特别数学/算法密集的领域(例如,与数据库相比)。我也不认为自己在算法或数据结构方面很在行。做好这些当然会有所帮助,但构建一个流行的框架更多地需要了解用户、设计合理的API、构建社区和长期的维护承诺。

我不认为做一名“软件作家”与编写“枯燥但容易理解的代码”是相互排斥的。编写枯燥但容易理解的代码实际上需要相当多的经验(前提是它的效率不是非常低)!我认为你不应该因为没有经过严格的CS培训就觉得没有资格编写软件,但我也不认为你应该忽视它们。我个人采取了一种务实的方法,我首先用愚蠢的方式做了很多事情,这有助于揭示我需要学习什么才能让它变得更好。

埃夫隆:太棒了。有了Nuxt.js和JAMstack这样的大量技术,开发人员很有可能完全专注于应用程序的前端部分,而使用最少的/js/baas后端。您如何看待这些“无后端”或“全栈”的方法?

埃文:我认为这更像是正在制造的产品推动着正在使用的技术。开发人员转向这样的堆栈是因为它适合他们正在构建的产品类型:相对简单的后端逻辑,更关注前端交互。这显然不是什么灵丹妙药,但它非常适合某一类应用程序。

埃弗隆:他的Vue被重写了几次。如果你可以回到过去,只给年轻的自己一条技术建议,那会是什么建议呢?

Evrone:在过去的几年里,我们观察到了平行的JavaScript和打字脚本的演变。您对不久的将来下的赌注是什么:我们最终会将类型添加到核心JavaScript中,或者TypeScript将取代JavaScript,或者其他什么东西?

埃文:我认为将类型添加到JS本身是一个很长很长的机会-我个人认为这不会发生,因为由委员会设计类型系统(从TC39的操作方式来看)是…。相当不切实际。TypeScript不会取代JS,因为它被设计成JS的超集。就我个人而言,我认为让JS和TS(带类型的超集)并行发展是最实际的前进方向,而且在可预见的未来也会是这样。

Evrone:Vue的用户群已经有100多万名开发者。您认为衡量技术采用率的最佳方式是什么?堆栈溢出问题、GitHub STAR和其他公共访问指标都很不错,但也有很多公司用户在孤立的网络上工作,他们不会问太多问题,只是使用这项技术。我们怎么能把它们算作技术受欢迎程度呢?

埃文:对于开源软件来说,这是一个本质上很难解决的问题,因为用户没有义务报告使用情况,作为作者,我们真的没有可靠的方法来跟踪它,特别是如果应用程序不是面向公众的。这就是为什么我认为DevTools扩展用户数是最可靠的指标,因为它将所有用户都考虑在内。

埃弗龙:即将推出的Vue.js-3有很多震撼树木的工作,你认为为什么摇树花了这么长时间才落地到现代框架中?它有什么大的困难吗?

Evan:树抖动的工作方式依赖于源代码以特定的方式结构化-这意味着当代码编写(和API设计)从第一天起就考虑到树抖动时,它工作得最好。要使现有的、不平凡的代码库变得对树友好是非常困难的,因为它要么需要API中的破坏性更改,要么需要进行重大重构(这会带来重大风险)。

Evrone:关于Vue 3的基于函数的组件API&34;提案遭到了社区成员的强烈反对。关于它,您有什么值得与其他开发人员分享的想法吗?

埃文:阻力主要来自于担心我们会贬低Vue目前的(2.x)API,我们考虑它是一个错误。作为作者和维护者,我们通常在日常工作中与最热情的早期采用者互动,他们自然比普通用户对新想法更感兴趣,这导致我们误判了向后兼容性的重要性。用户不喜欢东西被拿走。

要点是你需要了解你的用户想要什么-这并不容易,有时你会很难获得这些信息,但你需要愿意不顾一切地倾听。

Evrone:Vue的用例范围从小企业到中型机构和价值数十亿美元的上市公司。路易威登(Louis Vuitton)和美国宇航局(NASA)正在使用Vue。有没有什么Vue用例值得推荐,作为使用Vue编写的复杂的、真实世界的前端的示例?

埃文:问题是大多数“复杂的、现实世界的前端”项目都不是开源的。我推荐看看Vue DevTools和Vue CLI UI--虽然它们不是典型的面向消费者的Web应用程序,但它们都是用Vue编写的非常重要的界面。

我们与埃文进行了愉快的交谈,并进一步了解了他的生活方式和编写代码的方式。在埃夫龙,我们经常使用Vue.js来创建定制的解决方案,以满足我们客户的独特需求。我们会喜欢它,因为当我们有机会向新技术的创造者学习的时候,因为它可以加强我们的技术专业知识,并给我们更多的工具,我们可以使用它来开发创新的新技术产品。如果您有一个可以从Vue.js中受益的商业项目的更好的想法,只需联系我们,我们很乐意提供帮助。