本文完成于2022年3月6日,CSDN首发,将在《新程序员》杂志刊登。
采访撰稿:刘韧、谷磊、林兴陆、李彤等
录音整理:谷磊、周扬、林兴陆、鲁飞龙
编辑校对:田玮靖、萧少聪、王雪艳、李欣欣、张淑娴
2016年2月,新泽西,29岁的尤雨溪着手在Patreon众筹平台开设账号。接着,他呼吁Vue.js(以下简称Vue) 用户赞助Vue全面开源。尤雨溪好友郭达峰立即响应,使用其公司开源基金,向Vue提供了为期6个月、每月3000美元的支持。尤雨溪的月收入很快达到4500美元,但依然不到供职Meteor公司时月工资的一半。2014年10月,Meteor邀请尤雨溪到硅谷分享他的个人作品Vue,随即便邀请尤雨溪加入公司。“Meteor是第一个用JavaScript做全栈的公司,概念很超前,当时JavaScript生态正在npm带动下快速爆发。”不想再在Google做颗螺丝钉的尤雨溪欣然接受邀请,开始在新泽西远程为Meteor工作。尤雨溪愿意从Google离职,更多是为了诞生于2014年2月的Vue能在专注做框架的Meteor公司得到更好地发展。Vue是创建用户界面的JavaScript框架,也是创建单页Web应用的框架。互联网UI设计师要想让自己设计的页面生动起来,就需要学JavaScript编程,Vue提供的JavaScript框架,能帮助没有经过太多编程训练的UI设计师,快速接受并理解规范的编程理念,减少底层编程的工作量。刚到Meteor,尤雨溪就建议Meteor拥抱npm生态圈,“把整个框架改造成一个能直接使用npm生态的包。”当时Meteor自己有一套包管理系统,与npm并不兼容。Meteor认为尤雨溪的建议是一次成本很高的重构,风险太大,没有采纳。直到后来尤雨溪的建议被市场证明,Meteor才开始拥抱npm,但为时已晚。对尤雨溪来说,在Meteor工作的这一年,Vue演进顺利,他也对前端框架的架构有了自己的理念。但Meteor却是个极端一体化的框架,前端、后端、数据通信甚至数据库都要特别指定。“指定数据库这一点极大限制了它作为一个全栈框架的适用范围,把自己的市场份额压缩得非常小,是个败笔!”尤雨溪在Meteor没有技术决策话语权。后来,Meteor竟选择押注Facebook的React,而不是尤雨溪的Vue。判断出Meteor框架没有前途,尤雨溪一下子失去了动力。“我做的这些事也不能让Meteor起死回生,还不如辞职,全职去做Vue。”“我宁愿快乐地工作12个月,也不愿不快乐地赚11个月的高薪,然后休1个月假,花钱买快乐。”2016年2月尤雨溪毅然从Meteor离职,开始凭一己之力挑战Facebook的React、Google的Angular。时间轴拉到2021年,Vue在全球最佳Web前端框架中排名第二,成为GitHub上最受欢迎的项目之一。(Vue.js概念综述)
GitHub是尤雨溪的办公室和杠杆。尤雨溪一直认真阅读GitHub上对Vue提交的Pull Requests(PR),以此判断提交PR的用户对Vue的理解,如果这个用户所发的PR和尤雨溪的想法重合两三次,尤雨溪就会邀请他加入Vue开源团队。GitHub不仅是尤雨溪找用户的地方,还是尤雨溪找团队的地方。那些在GitHub上活跃的Vue成员不一定非要写代码以及做技术上的贡献。“发现问题、回答问题、帮助社区新人上手或修改文档等,都是非常有价值的贡献。”Vue团队成员因迫于生活压力或技术兴趣转移等因素离开,也很正常。“一个开源社区想要有活力地延续下去,就要不断发掘、吸纳新鲜血液,更要给新人成长空间。”“开源的活力就在于每个参与者都在真正自主地做事,大家都希望项目变得更好。”2013年,纽约,Google Creative Lab。Google很多项目在这里实验、诞生。尤雨溪在用Google的Web前端框架Angular 1(现在叫 AngularJS)实现各种新奇、非传统的交互创意。他一边快速完成创意总监交派的工作,一边从设计师角度简化AngularJS,就此埋下一颗颗替代AngularJS的种子。时间倒回2012年,Facebook的一位团队负责人在网上看到尤雨溪用JavaScript在Web实现Clear App滑动操作的视频,立即邀请尤雨溪到Facebook面试。此时Facebook对Web的兴趣比App大,认为用户在移动端会延续PC端的网络使用习惯,更多地使用手机浏览器,而非App。尤雨溪能在浏览器复刻App效果,很合Facebook胃口。四、五轮面试后,一位华裔工程师面试尤雨溪,他问“JavaScript原型链是什么?”尤雨溪完全回答不上来。“之前只学了实现目标任务的技术,并没有对JavaScript进行系统学习。”从Facebook败下阵来,尤雨溪重新啃JavaScript教材。“把JavaScript语言的每个细节都过了一遍。之后,别人再问,JavaScript是怎么回事?我总能说得头头是道。”几个月后,当尤雨溪正为硕士毕业后的工作着落发愁时,意外收到了Google Creative Lab猎头的邮件,问他有没有兴趣聊聊?尤雨溪当时就兴奋地回邮件说好!电话即刻响起,猎头在电话那边说明项目后,没提面试的事,直接问尤雨溪是否有兴趣加入。Google Creative Lab每年招5个应届生:项目经理、文案、平面设计、动画设计、交互技术各一人,组成The Five团队,尤雨溪负责交互技术。此刻的尤雨溪感到了天生我才必有用:“程序员最讲究的就是作品,光说没用,代码要拿出来溜溜!所以现在程序员都得有自己的GitHub。”兴奋的尤雨溪赶紧通知远在中国的爸爸,自己被Google录取了。尤雨溪爸爸却纳闷了:儿子,一个艺术生,怎么能去Google?但他还是非常、非常地高兴!Google Creative Lab是个非常有意思的地方,这里以做创意类的东西为主,延续了Google早期奔放的做事风格。“不少搞技术的都是创意领域的精英,拿过很多大奖。”Creative Lab工作节奏非常快,创意总监出一个想法,俩小时后,平面设计师就做出一个工作流程,紧接着就需要尤雨溪当天把原型在Web上实现。“哇!这么酷的东西,居然让我来做!”Google Creative Lab 80%~90%的项目都是保密的,是Google的内部产品,属于团队内部探索。“一个产品现在是这个样子,5年后和10年后它可以变成什么样?10年后的交互还是不是这个形态······”工作之余,尤雨溪开始开发自己的“玩具框架”Seed。Google的工作内容偏重开发速度,而尤雨溪想沉淀一些更工程化的技术能力,另外,每次都靠作品获得机会的尤雨溪单纯觉得“要有作品可以开源,作品才是成就感。”Seed便是Vue的雏形。创意行业,设计师非常看重技术人员还原设计稿意图的能力,要求技术人员首先能很好地理解设计意图,其次要有审美能力。尤雨溪在团队的头衔叫Creative Technologist,负责把创意转换成看得见、摸得着,能够交互的程序。Google看重尤雨溪用技术手段将创意展现出来的能力和细节方面的执行力,在Google,像尤雨溪这样的人不多。但尤雨溪在Google Creative Lab做了两年多就离开了,他不想总在不同的项目间跳来跳去。“在这里,我们做了好多内部原型,用来反馈各种各样的创意想法。一般1~2周做完,先是内部讨论,觉得这东西有意思,然后把狂放的想法中比较实际的东西提取出来,交给产品团队。产品团队看到我们的东西通常会说:‘很棒,不过有点太酷了,我们可以把里面的一些东西搬到现实的产品中来。’然后就没下文了。”尤雨溪渴望做出来的东西能传达到用户手里,更想看到它能在世界上产生些影响。当然,现在Google的产品中,有些能看到当年他们所做东西的影子,但这个反馈周期太长了······尤雨溪离开Google没立刻告诉爸爸,他怕爸爸担心他的未来······全职做Vue,尤雨溪又瞒了爸爸一年……最小玩家尤雨溪躲在老家旁边的网吧玩《红色警戒》。爸爸冲进来,揪着耳朵把他拎回家!1987年,尤雨溪出生在无锡一户注重教育的家庭,爸爸是公务员,妈妈在大学教书,后来去了银行。上小学时,按照惯例,10月及以后出生的适龄儿童要等下一年才入学,而尤雨溪的爸爸没这么做,让尤雨溪提前一年上了小学。小学的尤雨溪,虽有一台486,但并不用它学编程,而是经常缠着表哥帮他装游戏,一次,看到表哥在家里玩《无悔的十字军战士》,感觉很酷,就让表哥也帮他装一个。但自己的486只有4MB内存,没法装。后来表哥帮他升级了8MB内存条,才装上了他心爱的游戏,尤雨溪因此超级崇拜表哥。尤雨溪经常去家旁边的网吧玩,一来二去,跟网吧老板混熟了,人少时,老板免费让他玩。慢慢地,网吧为大众接受,尤雨溪再去网吧,家里人也就不管他了。当时奥数风潮正兴,小学快毕业时,为稳妥进入当地最好的初中,对数学没太大兴趣的尤雨溪参加了奥数比赛并且拿到了奖。爸爸兑现奥数拿奖承诺,在小学升初中的暑假,奖励了尤雨溪一台奔腾II,尤雨溪非常开心,终于可以玩《帝国时代》了!游戏之余,尤雨溪开始用Windows自带的画图工具,在电脑上画画,积攒了30多幅画作。这是尤雨溪最早的作品。大桥中学一直是无锡最好的民办初中,师资力量很强。在这里的三年是尤雨溪学生时代压力最大的时期。“学校课程排得非常满,早上6点就要吃早饭准备上学。”班里竞争激烈,全班40个学生,尤雨溪成绩一直是中上游水平。“考进前10名就算很好的了。”尤雨溪爸爸人大毕业,考过托福,但专业所限没能出国,出于这份执念,从初一开始,爸爸就一直逼尤雨溪背单词。尤雨溪在校学习强度本来就很大,双重压力之下,尤雨溪失去了学习的热情,可他还是很听话,一切尽力为之。周末,上海到无锡回家的火车上,尤雨溪还在背《新概念英语》。到家,爸爸会抽查,背不出来就要挨骂,尤雨溪因此恨过爸爸。《新概念英语》从第三册起难度陡然增加,需理解文章逻辑才容易背诵。背完《新概念英语》第四册后,尤雨溪英语水平到达了新高度。平时英语课不太认真,考试同样能拿高分,到此尤雨溪又开始感谢爸爸逼了自己一把。2002年,复旦附中还在面向全国招生,1000多人参考,招50名外地学生。“大我一岁的好友先考进了复旦附中。他将这个消息告诉了我。”“可想而知,信息差对一个人的影响有多大。如果当时不知道外地生能考复旦附中,我就错过了一次重要的机会。”在复旦附中的三年,尤雨溪过得很开心,没有初中那么大压力,有时下午四点多就放学了,尤雨溪就会和几个同学去网吧打游戏。复旦附中有各种社团,是国外通识教育的氛围。“学校生活开销也不大,食堂的伙食很便宜,偶尔会租一些漫画、小说来看,玩游戏会花一点钱。”复旦附中一位学长被哈佛录取,触动尤雨溪开始申请美国本科,但时间有些晚了。当时国内无法考SAT,要到香港去考,可尤雨溪还要上课,根本来不及安排去香港,更别说备考了。因此,尤雨溪考了托福,却因没请中介,自己拿托福成绩“裸申”而均以失败告终,这些学校根本不考虑没有SAT成绩的学生。尤雨溪也尝试性地申请了哈佛大学,拒绝信寄到了复旦附中门卫,大家看到,以为尤雨溪也被哈佛录取了,尴尬的他,只能告诉大家自己是被拒了。万般无奈之下,尤雨溪去请教那位考上哈佛的学长,学长告诉他:第二年三月还有一批常规录取。另外,可以多逛逛留学美国本科的交流平台CUUS论坛。在CUUS论坛,尤雨溪了解到美国文理学院(Liberal Arts College)以本科教育为主,规模小而精,顶尖文理学院的学术声誉完全不输常春藤名校。在三月第二次申请后,尤雨溪很快拿到了两三个录取通知书,都有全额奖学金,他选择了离纽约比较近的学校Colgate。拿到Offer后,尤雨溪就不想国内高考的事了,开始在附中混日子。爸爸警告他签证还没下来,如果最后拿不到,高考又考砸了,那就完了。尤雨溪就很不情愿地继续备战高考,结果考上了复旦大学。尤雨溪学会ActionScript 3后,开始做带互动的实验性网站。一做就是一个通宵,第二天出去吃个饭,回来睡俩小时继续干。尤雨溪庆幸自己具备这种长时间保持专注的能力。2005年,18岁的尤雨溪踏上了美国征程。已在波士顿的表哥开了好几个小时车将他送到学校。尤雨溪完全没想到Colgate在纽约郊区一个几千人的小镇里,虽然像个世外桃源,但没车寸步难行。“本科四年过得比较憋屈。”学金融,一方面是爸爸的主意;另一方面,“那时计算机专业还没有后来这么热门,大部分同学都会选择数学、金融这样的专业,因为这些领域更容易找到H-1B(工作签证)的工作。”Colgate培养了很多金融领域的人才,每年会有一些金融企业来学校做宣讲招聘。尤雨溪很早就玩Flash动画制作,还做了一个作品集,他随意把一些作品发到网上的互动设计论坛里,结果被北京一家公司的创意总监看中,邀请他到北京实习。尤雨溪的作品和作品意识一直是他人生的杠杆,为他创造机会,放大效益。在Colgate大二快结束时,尤雨溪当面跟爸爸讨论了专业问题,他对金融不感兴趣。尤雨溪要用一年时间在艺术设计方面做出点成绩来,这是他第一次说服爸爸。北京的半年实习彻底改变了尤雨溪,他决定要做一名设计师。再回到Colgate,尤雨溪放弃金融坚定地选择了艺术专业(Studio Art)。遗憾的是Colgate严格说只有一个老师真懂数字艺术,尤雨溪需要自己摸索专业知识。当Flash可以用ActionScript语言写脚本时,尤雨溪开始做一些简单的互动,接着尝试实现复杂场景。学到ActionScript 3时,尤雨溪对编程就有了些概念。但凡基于实践需要,再难,尤雨溪都会主动去学。“好在并不是所有类型的编程都需要数学功底 ” ,因为尤雨溪的数学学得不算好,对他感兴趣的方向来说,“编程更需要逻辑分析能力”,而他在Colgate逻辑课拿了A+。尤雨溪学编程出于视觉驱动,他看到别人做出了一个很酷的东西,就开始想,怎么写代码才能做出这种效果?当然也会尝试反向编译别人的源码。GitHub的出现让他十分开心,他天天在上面看别人的源码,看到源码,就能弄明白一个东西是怎么运作的。尤雨溪的编程一直是结果导向。尽管如愿以偿,开始数字艺术专业学习,但尤雨溪知道数字艺术专业找不到工作,他必须读硕士,将艺术插上技术的翅膀。在四、五个Offer中,尤雨溪选择了Parsons(帕森斯设计学院),因为他还是想留在纽约。Parsons的同学非常跨界,有的同学是工作了几年的设计师想学编程,有的是经验丰富的软件工程师想搞艺术,他们来自不同的国家和地区。纽约是个大熔炉。硕士阶段没有奖学金,“花了家里不少钱。”所以尤雨溪很拼,努力学到了很多东西。“这么多花销,如果再不努力,最后再找不到工作,就太说不过去了。”在此期间,尤雨溪不仅学习了openFrameworks、动画算法等技术,还接触到了JavaScript编程语言,并在JavaScript这条路上越走越深。后来的事情大家都知道了,正如文章开头所说,尤雨溪在硕士毕业后,先后供职于Google Creative Lab、Meteor,全职做Vue后,他逐渐找到了适合自己的工作与生活节奏,也将Vue送入了GitHub TOP3 Repo。这一切看似不难,如同每一次人生选择,之后的发展轨迹便顺理成章一样。尤雨溪本人则认为,时机、坚持、基于用户去思考,三者缺一不可。侧记之一:《Vue 作者尤雨溪》
作者:林兴陆
2021年12月3日,CSDN 写作班微信群,刘韧说:下周采访 Vue 作者尤雨溪,定在北京时间12月6日下午2点(美西时间12月5日晚上10点),计划2小时,通过视频采访,有谁想参加?我报名了,我说我准备一些略微挑刺的问题,Vue 现在虽然很流行,但似乎把前端搞复杂了,因此我整理了大大小小差不多15个问题。
这是刘韧第一次非面对面的正式采访,这种网络远程采访和写作、协作方式,我们是第一次尝试。19个人在一个网络虚拟房间里,由刘韧带着大家采访尤雨溪。整个采访过程非常紧凑,最后还是超时1小时,好在尤雨溪有耐心坚持到最后。采访结束时我在硅谷已经凌晨1点,和大家讨论完录音整理分工已经凌晨3点。
(集体远程采访)
对着尤雨溪的简历,刘韧开始刨根问底,试图从他的成长经历中,找到些什么不一样的亮点。我们认真地听着、记着。事实上,还真是发现有些情节值得人们学习,比如中学时期在父亲的督促下背《新概念英语》,为他后来的发展起到很关键的作用。
又比如他很早就有了自己的作品集(Portfolio),甚至在小升初阶段就有了30张用 Windows 自带的画笔涂鸦的作品集。本科期间为了从金融转艺术专业,他又开始整理新的作品集,得到了第一次在北京的实习机会。毕业时,因着用 HTML 5 技术临摹 Clear Todos App 作品,被 Facebook 和 Google Creative Lab Five 先后相中。由于他很早就意识到 GitHub 是程序员的作品集的意义,从而轻松得到了 Google 的工作和获得美国绿卡的机会。
我准备的问题,在刘韧采访尤雨溪的过程中逐步得到了答案,因此在最后刘韧把采访权交到我手上的时候,我略过了很多问题,只挑了其中两个问题。第一个问题:由于前端越来越重,导致 Web 这种即使是10年前的计算机都应该可以正常访问的服务,使用落后2、3年的电脑,就会卡顿。因为电脑还是那个电脑,但是网站却不是那个网站了。
尤雨溪的回答很有诚意,他说作为作者其实也很难阻止用户的滥用。没错,程序员总是会物尽其用,1969年 NASA 把人送到月球又折返回来仅用了 4 KB 内存,今天的 Chrome 浏览器连 8 GB 内存都嫌小。1981年比尔盖茨说:没有人需要超过 640 KB 内存,假如放在今天你一定会认为这是个天大的笑话。
Web 技术之所以流行是因为足够简单,早期并没有明显的前后端之分,前端工程师通常指美术设计师或者网页设计师。我和刘韧有个共同的朋友叫 dodo,他也是 DoNews 的网页设计师,早期他是个典型的网页设计师,做过20多年的 Web 设计,以前稍微懂点 JavaScript 使用技巧就可以,但今天作为创业者的他,不得不雇专门的前端工程师。
我的第二个问题:前端和后端的分工,是否创造了一种新职位?尤雨溪认为把业务逻辑放在前端还是后端是一种选择,重后端这种形态目前依然适用,只是有他的局限性。今天的用户预期已经被我们拔高了,例如想对标 Twitter 的用户体验,你不得不去雇佣一个前端工程师。
前端和后端偶有扯皮的事,比如某个功能到底应该由前端做还是后端做,业务逻辑似乎放在前端也行,放在后端也行,特别是在不涉及数据库写操作的情况下。对于后端工程师的来说,以前其实要干很多活,如今惬意喝着咖啡,把责任推到了前端。
我本来还想问:Meteor 支持的前端除了自己的 Blaze,还有 Angular 和 React 却没有 Vue 为什么?除了对前端和框架的理念不同,难道没有合作空间?那些严重依赖 SEO 的网站,服务器端渲染在跨语言方面的兼容性如何?采访到最后,我发现这些问题的答案其实已经不重要。
十几个人开着视频在世界不同的地方做一次采访,我人生的首个开源的写作模式给了尤雨溪,我和刘韧说:一切都像21年前的DoNews一样,都是为了一群人的需求,一个大社区的目标。我们和尤雨溪,21年前的DoNews和今天的Vue有着共同的价值观共鸣。尤雨溪的Vue在Github上是最受欢迎的开源项目之一,星标数19万1千,所有GitHub项目排第四。初学开发者会很容易通过Vue掌握入门技能,甚至得到理想的工作,做出不错的成绩。这就是Vue深受用户欢迎的缘由,目前周活跃使用超过百万级。而尤雨溪大学学的是金融,研究生学的是艺术设计,他如何能变身一个程序员,并且做出了伟大的开源项目Vue,尤雨溪的第一个幸运是有一个知道如何磨练少年尤雨溪的父亲。父亲给尤雨溪设定的成长路线非常明确,上好的初中、高中、大学,出国留学。父亲给尤雨溪开出的第一个苦读的条件就是换一个可以玩好游戏高配置的电脑。然后用父亲的威严逼背诵新概念英语,这让初中生尤雨溪已经完全掌握英语的逻辑,为他在复旦附中读高中,乃至申请到美国奖学金都打了深厚基础,语言是通往世界的第一把钥匙。少时尤雨溪在这种严厉又充分尊重爱好的家教下,拥有了自律能力而又向往自由和美好世界的梦想。他从中学、大学、研究生到现在都在电脑上做设计,开始是希望自己的设计更炫酷,简单的学了些编程。第一次FACEBOOK面试因为没有专业学过编程而失败后,尤雨溪开始系统的学习,最终被GOOGLE录用到一个创意开发部门。而后尤雨溪的名字不断在业内变大,每年Vue社区会在全世界做线下聚会,开源世界的受益者和贡献者会在现实中碰撞出更多的创意和火花。我看了两遍长达3个小时的采访录像,87年出生在无锡的尤雨溪身上有几个明显的标签:“自信、智慧、专注、理想主义、审美、幸运”。尤雨溪总是能在自己最想要得到转变的时候,找到打开潘多拉盒子的钥匙。但是相信认真看完尤雨溪采访的人会明白,机会永远只留给有准备的人。尤雨溪和他的团队正在用他们的努力影响一代开发者,华人工程师获得如此成绩,相信给国内的开发者、未来优秀开发者的父母都有很好的启发。好期待刘韧主笔的采访正文,组织、整理录音、校对、初稿、定稿......第一次开源采访一位开源世界的发起人。年前,我们写作班成员跟随刘韧老师对Vue的开发者尤雨溪进行了线上专访,采访结束后,我和两位同学一起把3小时的采访录音整理成了文字。刘韧写作班讲究干中学,春节放假前,我向刘韧老师申请撰写尤雨溪的人物特稿,节后交稿,由老师再整体修改几遍。初试牛刀,我用了两周时间完成了7千多字的稿件,在这个过程中学到了不少东西,借此做一下总结和分享:1. 采访前要做足功课,对被采访对象要有一定程度的了解,后期撰写稿件时你会更清楚哪些内容是想要的,哪些是次要甚至可以删去的,可以有效锁定重要内容。这是刘韧老师修改我的第一稿时体会到的。2. 采访稿比较琐碎,所以要先构建写作框架,按时间顺序或事件过渡等写法进行构建,起好小标题,后面就可以把相关内容放进与标题对应的部分。这个过程看似简单却有一定技术含量,关系到你对整个采访稿的把控程度和故事完成后的精彩程度,有些情节放在不同位置上会有不同的效果,要通盘考虑才能写出一篇好文章。每个稿件或多或少会带有作者的文风和写作特点,但文章价值和可读性是其中的关键,这需要多写多练。3. 一篇文章要有好的题目作为统领。每次给文稿修改润色时,标题《尤雨溪Vue登顶GitHub之路看似不难》都能传递给我一种基调,这是一个很励志、很有故事性的标题,能让我更积极地去打磨稿件,朝着既定的目标推进。在海量信息时代,不论是一篇文章还是一本书,都少不了精彩的标题,好的标题甚至能影响一个作品的成败。我们平时可以多积累金句,这对写文章、起标题都是很有帮助的。4. 文章每一部分的结构都由“开头”和“展开”组成。开头即每个部分的第一段内容,可以是这部分的核心或出彩的地方,后面是针对标题进行的展开叙述和描写。不论是整篇文章还是各组成部分,精彩内容尽量放在最前面,这样才能吸引读者看下去。5. 在撰写特稿时,刘韧老师教给我们一个写作方法:将过去式的叙述变为现在式的镜头。这个对学员来说很重要,每种文体都有相应的写作手法,人物特稿同样有它独特的写法。文稿中引用尤雨溪的原话也是对这个方法的一种强化。6. 在不同的写作阶段都要做好内容优化组合,以便把篇幅缩减到一定标准。这个工作琐碎,其中的技巧是:a. 把同类内容合并到一起;b. 口语要变为书面语,尽量简洁,两句并作一句,不重要的内容删去。这也是熟能生巧的工作,需要多加练习。7. 写文章最重要的是打磨,一遍一遍地修改,直到把它写到满意为止;把零碎和缺失的东西慢慢补充进文稿,保持故事的统一性,能用的部分尽量都放进故事里。任何一个好作品都是打磨出来的,这也是修炼耐性和写作水平的重要手段。终稿字数在我最后交稿的基础上又有了精简,更接近发表的标准了。边干边学,开源写作真是让人受益匪浅。本文第一次全面实践了像写程序一样写文章的理想。CSDN班实验了,集体远程采访、集体整理采访录音、主题和框架构思、模块写作、集体修改编辑校对。如果你也想加入CSDN班,请从向本文提修改意见开始。词汇表
Patreon 是帮助创作者寻找赞助者的众筹、捐助平台。
Meteor 是免费、开源的跨平台 JavaScript 开发框架。
npm 是 Node.js 内置的软体包管理器。
React 是由 Facebook 参与的开源 JavaScript 库。
Angular 是由 Google 参与的开源 Web 应用框架。
ActionScript 由原 Macromedia 为 Flash 开发的脚本语言。