尤雨溪:TypeScript不会取代JavaScript
来源 |evrone.com
译者 | 核子可乐
策划 | 蔡芳芳
近日,Evrone 与 Vue.js 的作者尤雨溪进行了一次访谈,了解他对于无后端与全栈方法、以及 Vue.js 适用场景的看法,还有他本人如何在工作与生活之间取得平衡。
记者: 嗨 Evan,很荣幸你能接受我们的访谈。那就先从一个简单的问题开始:您的全职工作岗位是由 Patreon 资助的,大多数人恐怕都没有这样的机会。您能聊聊怎样在工作与生活之间找到平衡,特别是如何避免长期工作带来的倦怠心理吗?
尤雨溪: 虽然我这份工作看似自己说了算,而且大部分时间也都是待在家里,但我每天还是会遵照固定的时间表。庆幸我有孩子,所以只要完成了工作内容,我可以马上陪伴家人。另外,我会在感觉需要的时候给自己安排一段比较长的假期,可能是几个礼拜。这一点对于上班族来说可能比较困难。
记者: 厉害!Vue 3 版本即将发布,在此之后,您是打算休息一阵子,还是马上开始规划 Vite build 系统的下一个版本?
尤雨溪: 我总是存着一大堆工作。在 Vite 方面,目前的目标就是努力提升稳定性——这是一套新系统,用户总会在我当初的设计场景之外使用,所以我得花点时间思考项目的下一步要如何发展。关于 Vue 3.1,我也已经有了一点想法。但休息是肯定的,给自己充电非常重要!
记者: 您是 Google Creative Lab 中的创造力技术专家与艺术史专家。在 Vue 项目当中,您有没有感觉自己的数学、算法以及数据结构功底有点薄弱?在您看来,是不是只有学习过计算机科学理论才能成为程序员?还是说只要能写出平平无奇但却易于理解的代码就可以?
尤雨溪: 坦率地讲,我遇到的这类问题不太多。我个人觉得 Vue 或者说大部分前端框架对于数学和算法专业知识的要求不算太高——至少跟数据库比没那么高。 我觉得自己在算法或者数据结构方面的确不强,虽然提升这方面能够肯定会有所帮助,但想要管理好前端框架项目,最重要的还是了解用户、设计出合理的 API、建立技术社区并长期维护项目承诺。
我觉得编写所谓“平平无奇却易于理解”的代码没什么不好,我不太认同这话里隐藏的那种贬义倾向。 实际上,编写出这样的代码也需要一定经验,而且好代码的核心在于执行效率高,而不是令人拍案称奇的实现思路。 没有接受专业的计算机科学教育当然也能编写软件,不过每一位开发者都应该重视专业教育背景带来的扎实基础。我个人一直采取比较务实的态度——先开始做事,哪怕做得不好。在做的过程中,我们会找到自己的不足之处,并确定下一阶段该从哪些方面提升自己。
记者: 说得好。借助 Nuxt.js 与 JAMstack 等技术方案,开发者得以专注于处理应用程序的前端部分,因为后端部分只需要直接交给 minimal/JS/BaaS 即可。您怎么看待这些“无后端”或者说“全栈”开发方法?
尤雨溪: 我觉得这是一种强调以技术推动产品制造的开发思路。开发者们之所以选择这样的栈,是因为它们正适合自己当前构建的产品类型:后端逻辑相对简单,而前端交互更值得关注。虽然不是什么万灵药,但这类方案确实非常适合特定一部分应用场景。
记者: Vue 已经经历过多次重写。如果时光可以倒流,您会对现在的年轻人们提出怎样的技术建议?
尤雨溪: 请一定认真思考这个问题:怎么才能更好地拆分与解耦内部模块。
记者: 最近几年来,我们发现 JavaScript 与 TypeScript 可以说是齐头并进。您是怎么看待这样的趋势的?是会最终向核心 JavaScript 当中添加某些类型,用 TypeScript 取代 JavaScript,还是做出其他选择?
尤雨溪: 我觉得向 JS 本体中添加类型的可能性不大——因为 JS 是一套由社区委员会负责类型设计的系统,而根据 TC39 委员会的运作方式来看,这事没戏。另外,TypeScript 也不会取代 JS,前者只是 JS 的一个超集。我个人认为,JS 与 TS(带类型的超集)并行发展才是最合理的未来方向,而且这一点在可预见的未来不会改变。
记者: Vue 的用户群体已经超过百万。您认为衡量技术采用率的最佳方法是什么?Stack Overflow 问题热度、GitHub 星评以及其他公共访问指标都不错,但也有不少企业用户需要在隔离网络中工作。他们提不出多少问题,但却实实在在在“使用技术”。我们该怎样把他们纳入到技术普及率的计算中来?
尤雨溪: 对于开源软件来说,核定采用率确实是个老牌难题了,因为用户并没有义务上报自己的使用情况。而作为软件作者,我们也确实没有可靠的采用率跟踪方法。也正因为如此,我才觉得 devtools 扩展用户数量应该作为最可靠的指标,因为它至少覆盖到了全体用户。
记者: 即将发布的 Vue.js 3 中包含大量摇树(Tree Shaking)处理方面的更新。在您看来,为什么摇树处理用了这么久才正式登陆现代框架?是因为里头有什么重大阻碍吗?
尤雨溪: 摇树的工作机制,取决于源代码的特定构造方式——换句话说,只有在项目起步时就在代码编写与 API 设计中考虑到摇树机制,才能保证摇树拥有最好的效果。而现在,我们之所以需要引入大量变更才能实现摇树友好,就是因为直接摇树要么会影响到 API 变更、要么需要进行重大的结构调整(这会带来严重风险)。
记者: Vue 3 当中“基于函数的组件 API”提案遭到了社区成员们的强烈反对。事后来看,您有哪些值得与其他开发者分享的观点?
尤雨溪: 社区成员们之所以反对,是因为他们担心项目管理方会废弃掉 Vue 当前的(2.x 版本)API,其实我们并没有这样的想法。作为项目作者与维护者,我们一般会在日常工作中与热心的早期采用者交互,而他们对于新思路的态度往往比普通用户更开放、更积极,这也导致我们没能对向下兼容性给予应有的重视。用户不喜欢自己熟悉的一切被他人硬生生夺走,我已经深切理解到了这一点。
总而言之,最重要的是了解用户需求。但这事并不简单,有时候我们需要投入大量精力才能获得可靠的需求信息。倾听是必须的,综合各方面诉求才能得出合理的结论。
记者: Vue 的用例范围非常广泛,从小型企业到中型代理机构,再到市值数十亿美元的上市公司皆在其中。LV 公司与美国宇航局也在使用 Vue。有哪些使用 Vue 编写的高复杂度真实前端案例,给您留下了深刻印象?
尤雨溪: 问题在于,大多数“高复杂度真实前端案例”都不开源。我觉得要回答这个问题,大家可以多看看 Vue Devtools 与 Vue CIL UI,虽然它们不属于典型的面向消费者型 Web 应用程序,但无疑都属于由 Vue 编写而成的强大界面成果。
原文链接
An interview with the creator of the Vue.js framework Evan You by Evrone
来源:微信公众号 | 前端之巅
链接:尤雨溪:TypeScript不会取代JavaScript
作者:Evrone
尤雨溪:TypeScript不会取代JavaScript的更多相关文章
- [译] 尤雨溪:Vue 3.0 计划
[译] 尤雨溪:Vue 3.0 计划 原文:Plans for the Next Iteration of Vue.js作者:Evan You 发表时间:Sep 30, 2018译者:西楼听雨 发表时 ...
- 尤雨溪在直播中讲到的Vue3.0 Beta的那些特性,快记笔记了
前言 在那天风雨交加的夜晚,Vue的创作者尤雨溪尤大大在b站直播分享了Vue.js 3.0 Beta最新进展.我对直播的内容进行了一下整理.整整用了三天的空余时间赶上了 1. 全新文档RFCs Vue ...
- Vue作者尤雨溪:以匠人的态度不断打磨完善Vue (图灵访谈)
访谈对象: 尤雨溪,Vue.js 创作者,Vue Technology创始人,致力于Vue的研究开发. 访谈内容: 你为何选择从事前端方面的工作? 其实,我本科读的是艺术史,研究生阶段学习Design ...
- 致敬尤雨溪,Vue.js 让我赚到了第一桶金
最近这个 Vue.js 纪录片在前端圈广为传播,相信不少人已经看过了.第一次看编程领域的纪录片,感觉还挺新鲜的.这部 30 分钟左右的纪录片制作精良,主角是 Vue.js 作者尤雨溪,还穿插采访了框架 ...
- 听说尤雨溪在开发vue4.0?是谁煽动了前端圈的焦虑情绪
导火索因P图而起 今天前端圈里被一张P图搞得好热闹,最初只是QQ群里一个冒名尤雨溪的前端网友发了一句调侃的话,原话截图如下: 看完觉得好搞笑,说尤雨溪在开发vue4.0,有谁学不动了,就给他发10块钱 ...
- 专访Vue作者尤雨溪:Vue CLI 3.0重构的原因
1.为什么要对 Vue CLI 进行大规模修改? 尤雨溪认为旧版本的 Vue CLI 本质上只是从 GitHub 拉取模版,这种拉模版的方式有几个问题: (1) 在单个模版里面同时支持太多选项会导致模 ...
- React 和 Vue 到底谁更牛?听听尤雨溪怎么说
React 和 Vue 到底谁更牛?听听尤雨溪怎么说 知乎上近日有人发起了一个 “react 是不是比 vue 牛皮,为什么?” 的问题,再度引发一场关于前端框架谁更牛的口水战,评论里可以说是撕得不可 ...
- 蒲公英 · JELLY技术周刊 Vol.12 尤雨溪新作 Vite, 你会支持么?
「蒲公英」期刊,每周更新,我们专注于挖掘「基础技术.工程化.跨端框架技术.图形编程.服务端开发.桌面开发.人工智能」等多个大方向的业界热点,并加以专业的解读:不仅如此,我们还精选凹凸技术文章,向大家呈 ...
- 尤雨溪的vue怎么学,应该从vue-cli开始,为什么?
带手机验证码登陆, 带全套购物车系统 带数据库 前后端分离开发 带定位用户功能 数据库代码为本地制作好了 带支付宝支付系统 带django开发服务器接口教程 地址: https://www.dua ...
随机推荐
- next()与nextLine()的区别
abc def ghij kl mno pqr st uvw xyz 你用next(),第一次取的是abc,第二次取的是def,第三次取的是ghij 你用nextLine(),第一次取的是abc de ...
- 【译】GitHub 为什么挂?官方的可行性报告为你解答
本文翻译自 GitHub 官方博客<Introducing the GitHub Availability Report> 原文链接:https://github.blog/2020-07 ...
- Mybatis-04-分页
分页 思考:为什么要分页? 减少数据的处理量 1 使用limit分页 select * from user limit startIndex,pageSize;
- [netty4][netty-handler]netty之idle handler处理
初始化时记录idle时间,并启动一个延时任务,延时时间为idle时间,延时任务是io.netty.handler.timeout.IdleStateHandler.AllIdleTimeoutTask ...
- golang 递归自己,输出自己的源代码
问题: [2min 大家自己想想] 一个程序P运行后能否输出自己的源代码?并且格式保持一致(换行.空格等) 思考: 这个问题的本质是一个递归问题,设有P运行后生成G 既P->G &&am ...
- 前端面试?这份手撸Promise请你收下
前言 现在很多大厂面试前端都会要求能够手动的写出一个Promise,所以这里整理了一份手写的Promise. 绝对详细,功能绝对强大.如果你不了解Promise的基本使用,那么本篇文章可能不太适合你, ...
- excel表格,根据某一列的值对整行进行颜色填充
1.选中要影响的表格范围,选择 “条件格式”,选择 “新建规则” (2)选择 “使用公式确定要设置格式的单元格”,录入公式,选择 “ 格式”,注意: 公式为:=$H1="待解决" ...
- 轻松解除官方对博客后台设置页面3段html代码的限制:iframe alert flagcounter etc.的禁用
今天我发现我的flagcounter不能用了 iframe也不能用了,无奈╮(╯_╰)╭ 第一反应是Ctrl U viewsource看看源码出了什么问题 结果竟然是这样, 因为页首和侧边栏的html ...
- SpringMVC实现客户端跳转
之前无论是/index跳转到index.jsp 还是/addProduct 跳转到showProduct.jsp,都是服务端跳转. 这一篇练习如何进行客户端跳转 @ 目录 修改IndexControl ...
- Jmeter 常用函数(19)- 详解 __BeanShell
如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.htm 作用 执行 BeanShell 脚本,并返回结 ...