用了三两年的vue,我不了解作者尤雨溪,是什么令他开始编写vue?

2,330 阅读10分钟

无论领域,总有些人璀璨若星辰,名气足以照亮整片天空,例如贾伯斯对产品设计的追求、马斯克挑火箭运输的狂想,吴恩达和杨立昆的影响力也不仅限于人工智慧研究者。除开这些火出圈的人,亦有顶尖人士在业内光芒四射,尤雨溪便是一例

谈起前端开发框架,工程师绝不会遗漏他的名字。世上最广泛使用的三大框架中,Angular背后有Google撑腰、react则有脸书奥援,Vue没有企业倾力相助,却能与科技巨擘比肩。

尤雨溪为何又如何一手打造出Vue,成为工程师眼中「大神」?曾在Google任职,又为何放弃高薪职位,独立开源并仰赖赞助营生?

大神的经历

维基百科的一段描述:

尤雨在孩童时期开始接触电脑,在上高中时他经常把玩Flash,来享受借由制作互动效果讲述故事的体验。

2005年尤雨溪前往美国念书,在就读柯盖德大学时,尤雨溪主修的是工作室艺术和艺术史。到了快毕业的期间里,他意识到很难找到与本科相关的工作,于是前往帕森斯设计学院,攻读美术设计和技术的硕士学位,在那里他开始接触到多媒体设计工具库OpenFrameworksJavaScript,并学习编写应用程序和用户界面。

在Google公司的实验性平台Chrome Experiments上线后,尤雨溪将他以JavaScript编写的作品提交上去后获得肯定,得到在Google任职的机会。

之后是vue的开发,直到现在

艺术专业不好就业转到前端,并且写了一个广受欢迎、名满天下的框架!学科交叉令人好奇


vue还未出现前:艺术专业,网页也是艺术

还没入前端之前的早期大神:

image.png

1996 年尤雨溪和他的第一台电脑

1987年出生于江苏无锡,尤雨溪成长于注重教育的家庭,小学时父亲便买「486电脑」给他。日后大放异彩,莫非源于自幼养成好习惯?尤雨溪笑着说,他没有拿电脑写程序,都在玩游戏、绘画,当时比起工程师,更想成为设计师。升上高中后,见到学长申请上哈佛,父亲又鼓励他出国读书,「他灌输我世界很大、要争取,有机会就要去,」最终实现父亲未竟留学梦,进入柯盖德大学就读。

如同典型中国家长,父亲希望儿子主修前景大好的金融,但尤雨溪志在设计,「父亲对设计不了解也没信心,担心我没法养活自己。」为了说服家人,尤雨溪决定休学,利用空档年(gap year)回北京实习,领到薪水后才让家人放心。

重返学校后,他也找到兴趣:利用代码创作艺术。如果遇到好作品,尤雨溪不仅会欣赏,更会写代码复刻,「我第一次把程序设计当成严谨的东西去学,认真一行行看完程序书籍。」如此心态替他打下基础。

因为方向明确,尤雨溪毕业后至帕森设计学院攻读硕士,探索设计和科技如何交汇。尤雨溪回忆,当时看到Google实验如何在前端视觉上变花样,大开眼界后全心自学Javascript,就此踏上程序设计之路。持续分享作品的他受到青睐,毕业前收到Google offer。

​ 极早的接触到了电脑,并且在学校期间对编码感兴趣,持续探索学习和分享作品,令人有了好的编码基础与名气。在《软技能2:软件开发者职业生涯指南》中提到:技术水平相同的情况下,有声望(名气)的人会有更多的机会与好的待遇

​ 看了这段还是很好奇大神为什么有vue这个设想,是什么触发他想要去写这么一个极其易上手符合所见所得这样一个思想的mvvm框架?

vue的生发

2017年的这篇博客上看到了这么一段内容

你是从什么时候,或者以什么为契机驱动你开发vue.js?

答:我在谷歌的工作涉及大量在浏览器中进行原型制作。我们有这样的想法:希望尽快得到一些具体的东西。那时一些项目在使用Angular,对我来说,Angular提供了一个很酷的东西,那就是数据绑定和一种以数据驱动的方式处理DOM,这样你就不必自己操作DOM。但它也引入了许多额外的概念,迫使你按照它想要的方式来构建代码。对于我那时的场景来说,感觉太沉重了。

我想,如果我能提取Angular中我真正喜欢的部分,并构建一个非常轻量级的东西,而不涉及所有这些额外的概念,会怎么样呢?我也对Angular的内部实现很感兴趣,我开始了这个实验,试图复制这个最小的特性集,比如声明式数据绑定。这基本上就是Vue的开始

我一直在努力,感觉有潜力,因为我自己使用它很喜欢。我在它上面花了更多的时间,给它起了一个名字,叫它Vue.js,那是在2013年。后来,我想,“嘿,我花了这么多时间在这个上面。也许我应该与其他人分享,让他们至少从中受益,或者他们可能会觉得有趣。”

2014年2月,那是我第一次将它发布为一个实际的项目的方式。我把它放在了github上,然后发了一个链接到Hacker News,它实际上被投到了首页。它在那儿呆了几个小时。后来,我写了一篇文章分享了第一周的使用数据和我的收获。

那是我第一次看到人们去github上给一个项目加星。我想在第一个星期里我获得了好几百颗星标,那时我非常激动。

​ 是为了快速的得到一些具体的东西,认为Angular声明式数据绑定非常好,而且不必自己操作DOM,但Angular概念多,想要轻量,于是开始构建这个程序。笔者在14年一月第一版《了不起的node.js》第17页中看到这段:

其中有些特性弥补了语言本身的不足。另外一部分特性的引入则要归功于想JQueryPrototypeJs这样的前端类库,因为他们提供了非常实用的扩展和工具,如今,很难想象JavaScript中要是没有了这些会是什么样子

2014年,这时vue刚刚发布没多久,react在这一年快速扩展,吸引更多的企业用户。而在19年jQuery就开始逐渐被企业弃用,究其原因可能是:应用技术的发展追求简单的心智模型,更低的复杂度更加语义化的工作模式。

有提高满足自己需求的期望,并且去尝试实现。在这篇报道描述的非常的好:

不满意就自己创造,更辞职独立开发

Google工作期间,尤雨溪一边上班,一边开始打造Vue的神奇之旅。当时Google已在推广Angular,为何还要发明新框架?尤雨溪解释,Angular带有强烈开发者意识,累积许多设计模式的惯习,「我只是想做简单应用,为什么要那么多?」

他展现工程师的酷炫:既然用起来不顺手,不如自己造一个。将Vue上传到GitHub后大受欢迎,这远超他的预期,「我只是完成一个很满意的东西,出于兴趣分享。」Vue的极简主义理念得到认同,知名度渐起后,他被a16z人才招募团队找上,转职到a16z投资、专做开源的Meteor任职。

全职开源

25165641_623d83c97bc95934.jpg

尤雨溪回忆,开发出Vue后一年半,开始有辞职念头。当时Metero打算转换方向,眼见Vue使用者持续成长,小孩又快出生,处在变动之际,「有自信想找下一份工作随时都可以找,不如趁这段时间全职做开源,看看行不行。」

离职前他就先利用Patreon向群众募集定期捐款,网页建置新创Strikingly技术长也愿意赞助他,虽然两者合计每月不到5千美元,远低于在职收入,但尤雨溪还是决定辞职,展开他口中「半休产假、半做开源」新生活。

148454.jpg

上图是Vue会在GitHub上公开赞助者名单

​ 在日常工作与刚开始专职开发Vue框架时的对比中,尤雨溪表示,一开始他会全情投入,几乎是醒着就在编写代码,毫不觉得需要休息。然而,随着时间的推移,他意识到这种状态可能存在过劳的问题。于是他开始调整自己的生活方式,定时用餐、强制自己下班,并充分利用时间陪伴家人和孩子。尤雨溪说:「在公司里,工作任务通常是将大目标分割成小项目,明确地分配任务,并设定deadline。」但在独立开源之后,他需要自行规划所有的时间,没有人会为他制定蓝图。

​ 因此,他不仅需要编写代码,还要思考Vue框架的发展方向。同时,Vue也承受着来自其他框架的竞争压力,经常会在GitHub的“issue”中接到用户提醒,提醒他其他框架已经发布了新的功能。尤雨溪认为,开源社区本质上是互相启发的,即使在激烈的竞争环境下,最终受益的仍然是最终的用户。

​ 尤雨溪并不是一个从小学就开始编程、也不是数理天才,但他如何能够取得如此耀眼的成就呢?他坦言:「我对自己的技术能力评价并不是很高」。他认为:他的设计背景使他更加注重使用者的具体需求,然后遵循这些需求进行开发和设计。这或许是相较于「有任务就接」的埋头苦干,他能够走到今天的原因。

​ 尤雨溪从零开始,创建了Vue框架,现在定居在新加坡与Vue的开源团队一起协力开发,每个月的收入已经能够维持他的生活。团队目前每月入账数万美元,足以维持他们的开发工作。

下面是一个知乎上的截图

25165641_623d83c9e2a6175599.png

想起入门时《JavaScript高级程序设计》的序言内容:全情投入,快速增长,誉满天下——多数软件工程师终其一生也只能体验到其中一项,而且还得运气好。大佬还多了一个家庭美满

结语

需求,心中所想的,使用的时候感受到的体验,特别注意那些能够提高生产力的设想。这些是触发对事物进行优化的重要源泉,对于这种为数不多的或弱或强的感受,可以多多留意,记录下来。花费五分钟试着去实现,尤大佬可以,咱们也行

感谢大神提高的生产力,祝愿大神身体健康,天天开心


以上都是笔者粗浅的认知,如有谬误,欢迎在评论区指指点点 🙌🙌

参考资料:

强烈推荐全文阅读:medium.com/free-code-c…

zh.wikipedia.org/zh-hans/%E5…

www.gvm.com.tw/article/105…