比較詳細的采訪 Vue 作者尤雨溪

比較詳細的采訪 Vue 作者尤雨溪

原文鏈接: medium.freecodecamp.com

image

我采訪了尤雨溪恃鞋,著名漸進式 JavaScript 框架 vuejs.org 的創(chuàng)造者尝盼。尤雨溪現(xiàn)通過 Patreon 平臺眾籌全職開發(fā) Vue 的資金可都。他還曾在 Google 和 Meteor 工作過弄息。

這篇文章 最初 發(fā)布在 Between the Wires,這是一個采訪系列全景,專門采訪那些為程序員開發(fā)產(chǎn)品的人压汪。

和我們講講你的童年和你的家鄉(xiāng)吧

好的,我出生在中國斗塘,我的家鄉(xiāng)叫無錫赢织,一個中等規(guī)模的城市,離上海很近馍盟。然后我在上海念了三年高中于置,因此經(jīng)常兩地來回跑。高中畢業(yè)后我去了美國念大學(xué)贞岭。我感覺我接觸電腦比較早八毯,但是我當(dāng)時并沒有真正開始編程。我對游戲更感興趣瞄桨,我在高中時话速,就經(jīng)常玩 Flash,因為我非常喜歡制作互動的效果來講述故事讲婚。

1996 年尤雨溪和他的第一臺電腦

談一談你的第一次編程經(jīng)歷尿孔?

「JavaScript 很吸引我俊柔,因為它能夠快速構(gòu)建一些東西并分享給別人筹麸。把它放在網(wǎng)上,通過一個網(wǎng)址雏婶,任何有瀏覽器的人都可以看到物赶。這就是吸引我開始 Web 開發(fā)和 JavaScript 編程的原因×敉恚」

當(dāng)我在美國上大學(xué)的時候酵紫,老實說,我不知道我想要做什么错维,而且我的專業(yè)是室內(nèi)藝術(shù)和藝術(shù)史奖地。當(dāng)我快畢業(yè)時,我感覺很難找到和專業(yè)相關(guān)的工作赋焕。

我盤算著或許我可以去一個適合我的碩士課程参歹,學(xué)習(xí)更多的技能。我去了 Parsons隆判,讀了一個美術(shù)設(shè)計和技術(shù)的碩士犬庇。這是一個非常好的專業(yè)僧界,因為每個人都是既學(xué)習(xí)設(shè)計也學(xué)習(xí)編程。他們會教一些比如 openFrameworks臭挽,處理捂襟,動畫算法之類的課程,而且你也必須寫應(yīng)用程序和交互界面欢峰。

Parsons 沒有真正涉及很多的 JavaScript葬荷,但是 JavaScript 很吸引我,因為它能夠快速構(gòu)建一些東西并分享給別人赤赊。把它放在網(wǎng)上闯狱,通過一個網(wǎng)址,任何有瀏覽器的人都可以看到抛计。這就是吸引我開始 Web 開發(fā)和 JavaScript 編程的原因哄孤。

當(dāng)時 Chrome experiments 這個網(wǎng)站剛剛發(fā)布,我深深的被震撼了吹截。我立即開始學(xué)習(xí) JavaScript瘦陈,并開始開發(fā)類似 Chrome experiments 的項目。我把這些項目放在我的簡歷上波俄,然后被 Google 創(chuàng)意實驗室的招聘人員注意到了晨逝。我加入了Five program。每年創(chuàng)意實驗室會招五名應(yīng)屆畢業(yè)生懦铺,組成一個小組捉貌,一個人寫文案,一個人搞技術(shù)冬念,一個人做平面設(shè)計趁窃,一個人統(tǒng)籌安排和一個打雜的。

好的急前,什么時候或者是什么驅(qū)使你開發(fā) Vue.js 的醒陆?

我在 Google 的工作需要在瀏覽器上進行大量原型設(shè)計,于是我想要盡快獲得有形的東西裆针。當(dāng)時有些項目使用了 Angular刨摩。Angular 提供了一些用數(shù)據(jù)綁定和數(shù)據(jù)驅(qū)動來處理 DOM 的方法,所以你不必自己碰 DOM世吨。它也有一些副作用澡刹,就是按照它規(guī)定的方式來構(gòu)建代碼。對于當(dāng)時的場景而言實在是太重了耘婚。

我想罢浇,我可以只把我??喜歡的部分從 Angular 中提出來,建立一個非常輕巧的庫边篮,不需要那些額外的邏輯己莺。我也很好奇 Angular 的源碼到底是怎么設(shè)計的奏甫。我最開始只是想著手提取 Angular 里面很小的功能,如聲明式數(shù)據(jù)綁定凌受。Vue 大概就是這么開始的阵子。

用過一段時間之后,我感覺我做的東西還有點前途胜蛉,因為我自己就很喜歡用挠进。于是我花了更多的時間把它封裝好,取了一個名字叫做 Vue.js誊册,我記得那時還是 2013 年领突。后來我想『我花了這么多時間,不能只有我一個人用案怯,我應(yīng)該和別人分享君旦,他們也會感覺到 Vue 的好處,他們也會喜歡上 Vue 的嘲碱〗鹂常』

2014 年 2 月,我第一次將它作為實際的項目發(fā)布在 Github 上麦锯,并把鏈接發(fā)送到了 Hacker News 上恕稠,它就被頂?shù)搅耸醉摚缓笏谑醉摯撕脦讉€小時扶欣。后來鹅巍,我寫了一篇文章,分享了 Vue 第一周的使用數(shù)據(jù)以及我的感受料祠。

那是我第一次看見這么多人在 Github 上為一個項目打星星骆捧。我當(dāng)時一個星期收獲了好幾百個星星,整個人都激動壞了术陶。

如果讓你列出幾個其它的框架和 Vue 的核心功能相比凑懂,那么你列舉哪些煤痕?

我認為在所有的框架中梧宫,Vue 可能與 React 最像,但從更廣泛的意義上說摆碉,在所有框架中塘匣,我自己創(chuàng)造了一個概念叫漸進的框架。因為 Vue 的核心組成只是數(shù)據(jù)綁定和組件巷帝,和 React 差不多忌卤。它只是解決了一小部分很重要的痛點。與 React 相比楞泼,Vue 可能更簡單易用驰徊,只知道一些 HTML笤闯,JavaScript 和 CSS 知識的人都可以很快入門 Vue。

在框架層面上棍厂,我是用一個非常精簡和盡可能小的的內(nèi)核來構(gòu)建的颗味。但是當(dāng)構(gòu)建更復(fù)雜的應(yīng)用的時候,有很多其他的問題需要解決牺弹。比如說路由浦马,或者說怎么處理跨組件通信,怎么樣在大型應(yīng)用程序中共享狀態(tài)张漂,這樣的話我們就還需要更多的構(gòu)建工具來模塊化我們的代碼庫晶默。怎么樣來組織樣式和各種各樣的靜態(tài)資源?像 EmberAngular 這些非常完整的框架航攒,它們就想解決所有可能遇到的這些問題磺陡,并把這些功能全都集成到框架中。

這就叫有得必有失吧漠畜。對用戶使用情況的假設(shè)越多仅政,框架最終的靈活性就越低∨杈裕或者像 React 這樣把很多問題都留給社區(qū)圆丹。React 社區(qū)是非常非常活躍的躯喇,經(jīng)常有很多牛 X 的想法跳出來辫封,當(dāng)然也有不少不完美的想法。Vue 就是比較折中廉丽,仍然保持一個很小的核心倦微,只提供一些最重要的功能。但是我們還是在逐漸提供一些更多的獨立解決方案正压,比如說路由欣福,狀態(tài)管理,構(gòu)建工具鏈和 CLI焦履。它們都是官方維護的拓劝,有很好的文檔,設(shè)計的也非常好嘉裤,可以各種搭配使用郑临,但重點是不需要的時候就可以不用。我認為這可能是 Vue 作為一個框架最大的特色屑宠。

你如何通過 Vue.js 來變現(xiàn)的厢洞?

「我為開發(fā)者們創(chuàng)造了價值,所以從理論上說,如果我能以某種方式得到接近于這些價值的錢躺翻,那么我應(yīng)該能夠養(yǎng)活自己丧叽。」

我為開發(fā)者們創(chuàng)造了價值公你,所以從理論上說蠢正,如果我能以某種方式得到接近于這些價值的錢,那么我應(yīng)該能夠養(yǎng)活自己省店。當(dāng)然這也是比較復(fù)雜的事情嚣崭,因為畢竟 JavaScript 生態(tài)大多是開源的,沒有一個好的方式讓開發(fā)者們支付和購買自己正在使用的框架懦傍。

Vue 的用戶群非常有活力雹舀。許多 Vue 用戶來自 Laravel 社區(qū),他們非常熱情真誠粗俱,人很好说榆。我就感覺眾籌可能是個不錯的想法。在 Patreon 上我只是想試試這個想法寸认。實際上签财,React-Hot-Loader 和 Redux 的作者 Dan Abramov 也在 Patreon 上搞過一個小的眾籌,勾起了我的興趣偏塞。我粗略地估計了一下有多少人在使用 Vue唱蒸。假如有一萬個人在用,其中百分之一的人愿意每月給我 10 美元就差不多了灸叼。

尤雨溪在 Patreon 的眾籌

在二月份神汹,我就在 Patreon 上掛出眾籌頁面。主要是向兩個目標群體古今,一個是針對使正在用 Vue 的個人開發(fā)者屁魏,當(dāng)然他們肯定只會給一些小費,買買咖啡之類的捉腥。那么還有就是企業(yè)和公司氓拼,像初創(chuàng)公司或咨詢公司,他們用 Vue 做了一些東西抵碟。他們肯定希望 Vue 在很長一段時間是穩(wěn)定維護的桃漾。如果他們知道他們對我經(jīng)濟支持就可以讓 Vue 持續(xù)穩(wěn)定維護下去,他們也會很有安全感立磁。

我還在 Patreon 眾籌上加了一個附加獎勵呈队。如果有公司愿意贊助我剥槐,那么我可以把公司的標志放在 vuejs.org 的贊助商頁面上唱歧,就相當(dāng)于在社區(qū)給公司打了廣告。Patreon 眾籌得到的金額里有一半是來自個人的,其中還有一個人每月贊助我 2000 美元颅崩。我其實最開始也并不知道眾籌可以成功几于,但目前為止還是不錯的。當(dāng)時我說如果在 Patreon 每個月眾籌到 4000 美元我就全職開發(fā) Vue沿后,現(xiàn)在每月可以眾籌到 9800 美元沿彭。

說服他們贊助你是不是花了很長時間?他們會不會有疑慮尖滚,說畢竟只是個比較新的框架喉刘,甚至可能堅持不到六個月?

當(dāng)我開始 Patreon 眾籌的時候漆弄,Vue 已經(jīng)顯示出了強勁的生命力睦裳。在 2015 年初,Vue 可能還算是一個比較隨意的開源項目撼唾,但是 Laravel 社區(qū)已經(jīng)開始全面使用 Vue廉邑。我覺得如果我不能通過 Vue 賺到一點點錢,這不太可能倒谷。

我要特別感謝 Strikingly蛛蒙,一家在上海的創(chuàng)業(yè)公司。他們在中國的 JavaScript 和 Ruby 社區(qū)非巢吵睿活躍牵祟。他們實際上并沒有使用 Vue,但他們有個基金用來每個月贊助開源項目抖格。他們是第一個連續(xù) 6 個月每月 2000 美元的贊助商课舍,在早期階段真的幫了我很多。此外他挎,Laravel 的作者 Taylor Otwell 也贊助了 Vue筝尾。他開始的時候是給的 100 美元,然后漲到了 200办桨,有時會高到 500 美元?筹淫。

你剛剛說之所以能夠得到贊助,是因為 Vue 成長很快呢撞。你有沒有做什么推廣和營銷损姜?或者說就任其自然發(fā)展?

我其實沒有在營銷中投錢殊霞,也沒有買廣告之類的摧阅。主要是寫了一些博客文章。很多時候就是發(fā)發(fā) Twitter绷蹲。我感覺這就夠了棒卷。有時候我還會在 Medium 上寫些文章顾孽。

現(xiàn)在你在國際上有很大影響力,我們很想知道 Vue 是怎么開始國際化的比规,是什么吸引了美國以外的開發(fā)人員若厚?

2015 年在中國的 JSConf 上

中國市場是非常重要和特殊的。我是中國人蜒什,我在中文 JavaScript 社區(qū)就很活躍测秸。很多人知道 Vue,因為他們認識我灾常。他們將 Vue 文檔全部都翻譯成了中文霎冯,讓 Vue 在中國更具有影響力。很多中國開發(fā)者看了說「喔唷钞瀑,這個框架的作者是中國人」他們當(dāng)然就傾向于使用 Vue 了肃晚,我感覺這在早期對 Vue 的幫助是很大的。越來越多的中國公司也開始使用 Vue仔戈,像阿里巴巴关串,騰訊和百度的團隊。這些都是中國的巨頭公司监徘。當(dāng)然 React 在中國也很有影響力晋修。

在中國有一個類似于 Quora 的網(wǎng)站叫 知乎,網(wǎng)友在那里可以提各種問題凰盔,我在那里回答了很多 JavaScript 和 Vue.js 的問題墓卦。

對那些在不善于和國際社區(qū)交流的公司或開源項目有沒有什么建議?

我感覺語言障礙可能是最難跨越的户敬。如果你不努力把自己的產(chǎn)品推向中國落剪,那么沒有人會注意到,除非你和 React 一樣牛尿庐。你需要一個可以說中文的人或者說一個中國人來做這件事忠怖。

還有一點很有意思,還有很多來其他地區(qū)的用戶抄瑟,像意大利凡泣,西班牙,葡萄牙和日本皮假。尤其是日本的開發(fā)者非常的積極鞋拟,他們真的非常認真地翻譯文檔。

寫 Vue 的時候你是否有比較后悔的失誤惹资?

『我必須換個思路徹底重新思考這個問題贺纲,但是我認為這是每一個軟件在開發(fā)過程中都不可避免的,因為很難第一次嘗試就完美無瑕褪测『锾埽』

確實有一些問題潦刃。目前為止 Vue 已經(jīng)從頭寫了兩次了。顯然是因為之前的實現(xiàn)方式有問題不能通過局部的修改或者打補丁的方式改善稠肘,我才會去重寫它福铅。就像每次我看自己六個月之前寫的代碼庫萝毛,我就會想项阴,臥槽,這樣都行笆包?

我必須換個思路徹底重新思考這些問題环揽,但是我認為這是每一個軟件在開發(fā)過程中都不可避免的,因為很難第一次嘗試就完美無瑕庵佣。

寫 Vue 的過程也是我作為開發(fā)者不斷成長的過程歉胶,因為隨著時間的推移,我需要添加新的功能巴粪,維護它通今,修復(fù) bug 并確保整個生態(tài)系統(tǒng)的正常發(fā)展。作為一個軟件工程師遇到這些問題是很正常的肛根,這只是一個不斷學(xué)習(xí)的過程辫塌。

寫 Vue 的時候有沒有心情上的不順或者是其它非技術(shù)上的障礙?

『沒有哪一個真正的框架可以滿足每一個開發(fā)者派哲。更重要的是讓喜歡并使用我的框架的人臼氨,能夠繼續(xù)保持對這個框架的喜愛。我會專心做我認為最有價值的事情芭届,并且努力去做好储矩,不用擔(dān)心別人拿我的框架和別的相比」诱В』

當(dāng)然有了持隧,畢竟競爭壓力也是很大的。當(dāng) Vue 還是比較小眾的時候逃片,沒什么壓力舆蝴,任何方面的討論對我來說都很好,因為人們不會對我的框架抱很高的期望题诵。但是洁仗,隨著 Vue 越來越流行,人們開始把 Vue 與 Angular 或 React 進行比較性锭,他們有時會說赠潦,「React 在這方面做的更好,Angular 在那方面做得更好草冈∷拢」

這時就給我?guī)砗艽篪喞媪宋驮觯湍切┚揞^競爭壓力顯然很大。特別是現(xiàn)在我全職開發(fā) Vue哩俭。Vue 在前端圈的生存能力基本上和我的工作有很大的關(guān)系绷跑。

但是最近我剛剛看過 Elm 的作者 Evan Czaplicki 的演講,他在演講里說到了他開發(fā) Elm 時的壓力凡资。因為有用在 React 上的 ClojureScript 界面?? Om砸捏,還有可以編譯為 JavaScript 的強類型語言 PureScript,他也擔(dān)心 Elm 怎么和那些庫競爭隙赁。

后來他和 Python 的作者 Guido 交流垦藏,Guido 給了他一些建議,說『認真干自己的就可以了』伞访,他言外之意是 Python 也有這個問題掂骏,Python 和許多動態(tài)語言,像 Ruby厚掷,JavaScript弟灼,Perl 這些語言也都有相互競爭的領(lǐng)域。結(jié)果所有這些語言都是成功的冒黑,他們有自己的社區(qū)和自己的用戶群田绑,有很多開發(fā)者喜歡和使用這些語言。

人們喜歡不同的語言薛闪,原因各不相同辛馆。對 JavaScript 框架而言也是一樣,人們喜歡不同的框架豁延,原因也各不相同昙篙。沒有哪一個真正的框架可以滿足每一個開發(fā)者。更重要的是讓喜歡并使用我的框架的人诱咏,能夠繼續(xù)保持對這個框架的喜愛苔可。我會專心做我認為最有價值的事情,并且努力去做好袋狞,不用擔(dān)心別人拿我的框架和別的相比焚辅。

你認為 Vue.js 的成功給我們帶了什么?

這個問題很難回答啊苟鸯,因為 Vue.js 的影響范圍隨著時間的推移會不斷增大同蜻。我們現(xiàn)在有整個基于 Vue 框架的生態(tài)系統(tǒng),而且我們還在探索 Weex 這樣的東西早处,可以把 Vue 用在寫原生應(yīng)用上湾蔓。

我也非常注重 Vue 的簡單和易用性,因為我堅信技術(shù)應(yīng)該是能讓更多的人可以開發(fā)自己想要的東西砌梆。

接下來的幾個都是編程之外的問題默责,也很有趣贬循。請問編程之外還有沒有其它的興趣?

動漫桃序,我看了很多日本的動漫杖虾。不知道你有沒有注意到,Vue 的發(fā)行版都是以動漫命名的媒熊。從 .09 開始奇适,每個大的發(fā)行版的名稱的首字母都按字母表的順序遞增。2.0 是 Ghost in the Shell泛释。F 實際上是為 1.1 保留的滤愕。1.0 是 Evangelion温算。

image
image

我也很喜歡卡拉OK怜校。

你最感興趣的前沿技術(shù)或趨勢是什么?

我比較感興趣實用的技術(shù)注竿。這可能比較奇怪茄茁,因為我對 AR 或 VR 現(xiàn)在還不是很動心。我更想談?wù)労推胀ㄩ_發(fā)人員更近的事巩割。像 Guillermo 開發(fā)的 Now裙顽。 開發(fā)人員為開發(fā)人員寫工具,開發(fā)人員用這些工具的體驗宣谈,同樣也是用戶體驗愈犹。

在編程界有沒有偶像?

那肯定是 TJ HolowaychuckGuillermo Rauch闻丑。因為我不是計算機專業(yè)的漩怎。我基本上通過看網(wǎng)上的資源和書來學(xué)習(xí)編程,還有一個重要的學(xué)習(xí)方法就是看別人的代碼嗦嗡。我看 TJ 的代碼時勋锤,就總是感覺寫得非常優(yōu)雅。優(yōu)雅是當(dāng)時蹦到我腦海中的第一個詞侥祭,并且對我的影響很大叁执。TJ 絕對是我的偶像。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末矮冬,一起剝皮案震驚了整個濱河市谈宛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌胎署,老刑警劉巖吆录,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異硝拧,居然都是意外死亡径筏,警方通過查閱死者的電腦和手機葛假,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滋恬,“玉大人聊训,你說我怎么就攤上這事』致龋” “怎么了带斑?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長勋拟。 經(jīng)常有香客問我勋磕,道長,這世上最難降的妖魔是什么敢靡? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任挂滓,我火速辦了婚禮,結(jié)果婚禮上啸胧,老公的妹妹穿的比我還像新娘赶站。我一直安慰自己,他們只是感情好纺念,可當(dāng)我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布贝椿。 她就那樣靜靜地躺著,像睡著了一般陷谱。 火紅的嫁衣襯著肌膚如雪烙博。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天烟逊,我揣著相機與錄音渣窜,去河邊找鬼。 笑死焙格,一個胖子當(dāng)著我的面吹牛图毕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播眷唉,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼予颤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了冬阳?” 一聲冷哼從身側(cè)響起蛤虐,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎肝陪,沒想到半個月后驳庭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年饲常,在試婚紗的時候發(fā)現(xiàn)自己被綠了蹲堂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡贝淤,死狀恐怖柒竞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情播聪,我是刑警寧澤朽基,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站离陶,受9級特大地震影響稼虎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜招刨,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一霎俩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧计济,春花似錦茸苇、人聲如沸排苍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淘衙。三九已至传藏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間彤守,已是汗流浹背毯侦。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留具垫,地道東北人侈离。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像筝蚕,于是被迫代替她去往敵國和親卦碾。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容