想了解更多前端行業(yè)知識(shí)京景,請(qǐng)關(guān)注公眾號(hào)【前端大牛愛(ài)好者】:全網(wǎng)top3Web前端公眾號(hào)艇抠,匯聚了國(guó)內(nèi)外20余萬(wàn)前端全棧架構(gòu)師。每天為你推送高質(zhì)量文章蚊惯,一直陪伴著你辆床。
image
我采訪了尤雨溪佳晶,著名漸進(jìn)式 JavaScript 框架 vuejs.org 的創(chuàng)造者。尤雨溪現(xiàn)通過(guò) Patreon 平臺(tái)眾籌全職開(kāi)發(fā) Vue 的資金讼载。他還曾在 Google 和 Meteor 工作過(guò)轿秧。
這篇文章最初發(fā)布在Between the Wires,這是一個(gè)采訪系列咨堤,專門(mén)采訪那些為程序員開(kāi)發(fā)產(chǎn)品的人菇篡。
和我們講講你的童年和你的家鄉(xiāng)吧
好的,我出生在中國(guó)一喘,我的家鄉(xiāng)叫無(wú)錫驱还,一個(gè)中等規(guī)模的城市,離上海很近凸克。然后我在上海念了三年高中议蟆,因此經(jīng)常兩地來(lái)回跑。高中畢業(yè)后我去了美國(guó)念大學(xué)萎战。我感覺(jué)我接觸電腦比較早咐容,但是我當(dāng)時(shí)并沒(méi)有真正開(kāi)始編程。我對(duì)游戲更感興趣撞鹉,我在高中時(shí)疟丙,就經(jīng)常玩 Flash颖侄,因?yàn)槲曳浅O矚g制作互動(dòng)的效果來(lái)講述故事鸟雏。
1996 年尤雨溪和他的第一臺(tái)電腦
談一談你的第一次編程經(jīng)歷享郊?
「JavaScript 很吸引我,因?yàn)樗軌蚩焖贅?gòu)建一些東西并分享給別人孝鹊。把它放在網(wǎng)上炊琉,通過(guò)一個(gè)網(wǎng)址,任何有瀏覽器的人都可以看到又活。這就是吸引我開(kāi)始 Web 開(kāi)發(fā)和 JavaScript 編程的原因苔咪。」
當(dāng)我在美國(guó)上大學(xué)的時(shí)候柳骄,老實(shí)說(shuō)团赏,我不知道我想要做什么,而且我的專業(yè)是室內(nèi)藝術(shù)和藝術(shù)史耐薯。當(dāng)我快畢業(yè)時(shí)舔清,我感覺(jué)很難找到和專業(yè)相關(guān)的工作。
我盤(pán)算著或許我可以去一個(gè)適合我的碩士課程曲初,學(xué)習(xí)更多的技能体谒。我去了 Parsons,讀了一個(gè)美術(shù)設(shè)計(jì)和技術(shù)的碩士臼婆。這是一個(gè)非常好的專業(yè)抒痒,因?yàn)槊總€(gè)人都是既學(xué)習(xí)設(shè)計(jì)也學(xué)習(xí)編程。他們會(huì)教一些比如 openFrameworks颁褂,處理故响,動(dòng)畫(huà)算法之類的課程,而且你也必須寫(xiě)應(yīng)用程序和交互界面颁独。
Parsons 沒(méi)有真正涉及很多的 JavaScript被去,但是 JavaScript 很吸引我,因?yàn)樗軌蚩焖贅?gòu)建一些東西并分享給別人奖唯。把它放在網(wǎng)上惨缆,通過(guò)一個(gè)網(wǎng)址,任何有瀏覽器的人都可以看到丰捷。這就是吸引我開(kāi)始 Web 開(kāi)發(fā)和 JavaScript 編程的原因坯墨。
當(dāng)時(shí)Chrome experiments這個(gè)網(wǎng)站剛剛發(fā)布,我深深的被震撼了病往。我立即開(kāi)始學(xué)習(xí) JavaScript捣染,并開(kāi)始開(kāi)發(fā)類似 Chrome experiments 的項(xiàng)目。我把這些項(xiàng)目放在我的簡(jiǎn)歷上停巷,然后被 Google 創(chuàng)意實(shí)驗(yàn)室的招聘人員注意到了耍攘。我加入了Five program榕栏。每年創(chuàng)意實(shí)驗(yàn)室會(huì)招五名應(yīng)屆畢業(yè)生,組成一個(gè)小組蕾各,一個(gè)人寫(xiě)文案扒磁,一個(gè)人搞技術(shù),一個(gè)人做平面設(shè)計(jì)式曲,一個(gè)人統(tǒng)籌安排和一個(gè)打雜的妨托。
好的,什么時(shí)候或者是什么驅(qū)使你開(kāi)發(fā) Vue.js 的吝羞?
我在 Google 的工作需要在瀏覽器上進(jìn)行大量原型設(shè)計(jì)兰伤,于是我想要盡快獲得有形的東西。當(dāng)時(shí)有些項(xiàng)目使用了Angular钧排。Angular 提供了一些用數(shù)據(jù)綁定和數(shù)據(jù)驅(qū)動(dòng)來(lái)處理 DOM 的方法敦腔,所以你不必自己碰 DOM。它也有一些副作用恨溜,就是按照它規(guī)定的方式來(lái)構(gòu)建代碼符衔。對(duì)于當(dāng)時(shí)的場(chǎng)景而言實(shí)在是太重了。
我想筒捺,我可以只把我??喜歡的部分從 Angular 中提出來(lái)柏腻,建立一個(gè)非常輕巧的庫(kù),不需要那些額外的邏輯系吭。我也很好奇 Angular 的源碼到底是怎么設(shè)計(jì)的五嫂。我最開(kāi)始只是想著手提取 Angular 里面很小的功能,如聲明式數(shù)據(jù)綁定肯尺。Vue 大概就是這么開(kāi)始的沃缘。
用過(guò)一段時(shí)間之后,我感覺(jué)我做的東西還有點(diǎn)前途则吟,因?yàn)槲易约壕秃芟矚g用槐臀。于是我花了更多的時(shí)間把它封裝好,取了一個(gè)名字叫做Vue.js氓仲,我記得那時(shí)還是 2013 年水慨。后來(lái)我想『我花了這么多時(shí)間,不能只有我一個(gè)人用敬扛,我應(yīng)該和別人分享晰洒,他們也會(huì)感覺(jué)到 Vue 的好處,他們也會(huì)喜歡上 Vue 的啥箭〉海』
2014 年 2 月,我第一次將它作為實(shí)際的項(xiàng)目發(fā)布在 Github 上急侥,并把鏈接發(fā)送到了 Hacker News 上砌滞,它就被頂?shù)搅耸醉?yè)侮邀,然后它在首頁(yè)待了好幾個(gè)小時(shí)。后來(lái)贝润,我寫(xiě)了一篇文章绊茧,分享了 Vue 第一周的使用數(shù)據(jù)以及我的感受。
那是我第一次看見(jiàn)這么多人在 Github 上為一個(gè)項(xiàng)目打星星题暖。我當(dāng)時(shí)一個(gè)星期收獲了好幾百個(gè)星星按傅,整個(gè)人都激動(dòng)壞了捉超。
如果讓你列出幾個(gè)其它的框架和 Vue 的核心功能相比胧卤,那么你列舉哪些?
我認(rèn)為在所有的框架中拼岳,Vue 可能與React最像枝誊,但從更廣泛的意義上說(shuō),在所有框架中惜纸,我自己創(chuàng)造了一個(gè)概念叫漸進(jìn)的框架叶撒。因?yàn)?Vue 的核心組成只是數(shù)據(jù)綁定和組件,和 React 差不多耐版。它只是解決了一小部分很重要的痛點(diǎn)祠够。與 React 相比,Vue 可能更簡(jiǎn)單易用粪牲,只知道一些 HTML古瓤,JavaScript 和 CSS 知識(shí)的人都可以很快入門(mén) Vue。
在框架層面上腺阳,我是用一個(gè)非常精簡(jiǎn)和盡可能小的的內(nèi)核來(lái)構(gòu)建的落君。但是當(dāng)構(gòu)建更復(fù)雜的應(yīng)用的時(shí)候,有很多其他的問(wèn)題需要解決亭引。比如說(shuō)路由绎速,或者說(shuō)怎么處理跨組件通信,怎么樣在大型應(yīng)用程序中共享狀態(tài)焙蚓,這樣的話我們就還需要更多的構(gòu)建工具來(lái)模塊化我們的代碼庫(kù)纹冤。怎么樣來(lái)組織樣式和各種各樣的靜態(tài)資源?像Ember或Angular這些非常完整的框架购公,它們就想解決所有可能遇到的這些問(wèn)題萌京,并把這些功能全都集成到框架中。
這就叫有得必有失吧君丁。對(duì)用戶使用情況的假設(shè)越多枫夺,框架最終的靈活性就越低』婷疲或者像 React 這樣把很多問(wèn)題都留給社區(qū)橡庞。React 社區(qū)是非常非辰咸常活躍的,經(jīng)常有很多牛 X 的想法跳出來(lái)扒最,當(dāng)然也有不少不完美的想法丑勤。Vue 就是比較折中,仍然保持一個(gè)很小的核心吧趣,只提供一些最重要的功能法竞。但是我們還是在逐漸提供一些更多的獨(dú)立解決方案,比如說(shuō)路由强挫,狀態(tài)管理岔霸,構(gòu)建工具鏈和 CLI。它們都是官方維護(hù)的俯渤,有很好的文檔呆细,設(shè)計(jì)的也非常好,可以各種搭配使用八匠,但重點(diǎn)是不需要的時(shí)候就可以不用絮爷。我認(rèn)為這可能是 Vue 作為一個(gè)框架最大的特色。
你如何通過(guò) Vue.js 來(lái)變現(xiàn)的梨树?
「我為開(kāi)發(fā)者們創(chuàng)造了價(jià)值坑夯,所以從理論上說(shuō),如果我能以某種方式得到接近于這些價(jià)值的錢(qián)抡四,那么我應(yīng)該能夠養(yǎng)活自己柜蜈。」
我為開(kāi)發(fā)者們創(chuàng)造了價(jià)值床嫌,所以從理論上說(shuō)跨释,如果我能以某種方式得到接近于這些價(jià)值的錢(qián),那么我應(yīng)該能夠養(yǎng)活自己厌处。當(dāng)然這也是比較復(fù)雜的事情鳖谈,因?yàn)楫吘?JavaScript 生態(tài)大多是開(kāi)源的,沒(méi)有一個(gè)好的方式讓開(kāi)發(fā)者們支付和購(gòu)買(mǎi)自己正在使用的框架阔涉。
Vue 的用戶群非常有活力缆娃。許多 Vue 用戶來(lái)自Laravel社區(qū),他們非常熱情真誠(chéng)瑰排,人很好贯要。我就感覺(jué)眾籌可能是個(gè)不錯(cuò)的想法。在Patreon上我只是想試試這個(gè)想法椭住。實(shí)際上崇渗,React-Hot-Loader 和 Redux 的作者Dan Abramov也在 Patreon 上搞過(guò)一個(gè)小的眾籌,勾起了我的興趣。我粗略地估計(jì)了一下有多少人在使用 Vue宅广。假如有一萬(wàn)個(gè)人在用葫掉,其中百分之一的人愿意每月給我 10 美元就差不多了。
尤雨溪在 Patreon 的眾籌
在二月份跟狱,我就在 Patreon 上掛出眾籌頁(yè)面俭厚。主要是向兩個(gè)目標(biāo)群體,一個(gè)是針對(duì)使正在用 Vue 的個(gè)人開(kāi)發(fā)者驶臊,當(dāng)然他們肯定只會(huì)給一些小費(fèi)挪挤,買(mǎi)買(mǎi)咖啡之類的。那么還有就是企業(yè)和公司关翎,像初創(chuàng)公司或咨詢公司扛门,他們用 Vue 做了一些東西。他們肯定希望 Vue 在很長(zhǎng)一段時(shí)間是穩(wěn)定維護(hù)的笤休。如果他們知道他們對(duì)我經(jīng)濟(jì)支持就可以讓 Vue 持續(xù)穩(wěn)定維護(hù)下去尖飞,他們也會(huì)很有安全感症副。
我還在 Patreon 眾籌上加了一個(gè)附加獎(jiǎng)勵(lì)店雅。如果有公司愿意贊助我,那么我可以把公司的標(biāo)志放在 vuejs.org 的贊助商頁(yè)面上贞铣,就相當(dāng)于在社區(qū)給公司打了廣告闹啦。Patreon 眾籌得到的金額里有一半是來(lái)自個(gè)人的,其中還有一個(gè)人每月贊助我 2000 美元辕坝。我其實(shí)最開(kāi)始也并不知道眾籌可以成功窍奋,但目前為止還是不錯(cuò)的。當(dāng)時(shí)我說(shuō)如果在 Patreon 每個(gè)月眾籌到 4000 美元我就全職開(kāi)發(fā) Vue酱畅,現(xiàn)在每月可以眾籌到 9800 美元琳袄。
說(shuō)服他們贊助你是不是花了很長(zhǎng)時(shí)間?他們會(huì)不會(huì)有疑慮纺酸,說(shuō)畢竟只是個(gè)比較新的框架窖逗,甚至可能堅(jiān)持不到六個(gè)月?
當(dāng)我開(kāi)始 Patreon 眾籌的時(shí)候餐蔬,Vue 已經(jīng)顯示出了強(qiáng)勁的生命力碎紊。在 2015 年初,Vue 可能還算是一個(gè)比較隨意的開(kāi)源項(xiàng)目樊诺,但是 Laravel 社區(qū)已經(jīng)開(kāi)始全面使用 Vue仗考。我覺(jué)得如果我不能通過(guò) Vue 賺到一點(diǎn)點(diǎn)錢(qián),這不太可能词爬。
我要特別感謝Strikingly秃嗜,一家在上海的創(chuàng)業(yè)公司。他們?cè)谥袊?guó)的 JavaScript 和 Ruby 社區(qū)非常活躍锅锨。他們實(shí)際上并沒(méi)有使用 Vue螺句,但他們有個(gè)基金用來(lái)每個(gè)月贊助開(kāi)源項(xiàng)目。他們是第一個(gè)連續(xù) 6 個(gè)月每月 2000 美元的贊助商橡类,在早期階段真的幫了我很多蛇尚。此外,Laravel 的作者Taylor Otwell也贊助了 Vue顾画。他開(kāi)始的時(shí)候是給的 100 美元取劫,然后漲到了 200,有時(shí)會(huì)高到 500 美元?研侣。
你剛剛說(shuō)之所以能夠得到贊助谱邪,是因?yàn)?Vue 成長(zhǎng)很快。你有沒(méi)有做什么推廣和營(yíng)銷庶诡?或者說(shuō)就任其自然發(fā)展惦银?
我其實(shí)沒(méi)有在營(yíng)銷中投錢(qián),也沒(méi)有買(mǎi)廣告之類的末誓。主要是寫(xiě)了一些博客文章扯俱。很多時(shí)候就是發(fā)發(fā) Twitter。我感覺(jué)這就夠了喇澡。有時(shí)候我還會(huì)在 Medium 上寫(xiě)些文章迅栅。
現(xiàn)在你在國(guó)際上有很大影響力,我們很想知道 Vue 是怎么開(kāi)始國(guó)際化的晴玖,是什么吸引了美國(guó)以外的開(kāi)發(fā)人員读存?
2015 年在中國(guó)的 JSConf 上
中國(guó)市場(chǎng)是非常重要和特殊的。我是中國(guó)人呕屎,我在中文 JavaScript 社區(qū)就很活躍让簿。很多人知道 Vue,因?yàn)樗麄冋J(rèn)識(shí)我秀睛。他們將 Vue 文檔全部都翻譯成了中文尔当,讓 Vue 在中國(guó)更具有影響力。很多中國(guó)開(kāi)發(fā)者看了說(shuō)「喔唷琅催,這個(gè)框架的作者是中國(guó)人」他們當(dāng)然就傾向于使用 Vue 了居凶,我感覺(jué)這在早期對(duì) Vue 的幫助是很大的。越來(lái)越多的中國(guó)公司也開(kāi)始使用 Vue藤抡,像阿里巴巴侠碧,騰訊和百度的團(tuán)隊(duì)。這些都是中國(guó)的巨頭公司缠黍。當(dāng)然 React 在中國(guó)也很有影響力弄兜。
在中國(guó)有一個(gè)類似于 Quora 的網(wǎng)站叫知乎,網(wǎng)友在那里可以提各種問(wèn)題,我在那里回答了很多 JavaScript 和 Vue.js 的問(wèn)題替饿。
對(duì)那些在不善于和國(guó)際社區(qū)交流的公司或開(kāi)源項(xiàng)目有沒(méi)有什么建議语泽?
我感覺(jué)語(yǔ)言障礙可能是最難跨越的。如果你不努力把自己的產(chǎn)品推向中國(guó)视卢,那么沒(méi)有人會(huì)注意到踱卵,除非你和 React 一樣牛。你需要一個(gè)可以說(shuō)中文的人或者說(shuō)一個(gè)中國(guó)人來(lái)做這件事据过。
還有一點(diǎn)很有意思惋砂,還有很多來(lái)其他地區(qū)的用戶,像意大利绳锅,西班牙西饵,葡萄牙和日本。尤其是日本的開(kāi)發(fā)者非常的積極鳞芙,他們真的非常認(rèn)真地翻譯文檔眷柔。
寫(xiě) Vue 的時(shí)候你是否有比較后悔的失誤?
『我必須換個(gè)思路徹底重新思考這個(gè)問(wèn)題原朝,但是我認(rèn)為這是每一個(gè)軟件在開(kāi)發(fā)過(guò)程中都不可避免的驯嘱,因?yàn)楹茈y第一次嘗試就完美無(wú)瑕「筒穑』
確實(shí)有一些問(wèn)題宙拉。目前為止 Vue 已經(jīng)從頭寫(xiě)了兩次了。顯然是因?yàn)橹暗膶?shí)現(xiàn)方式有問(wèn)題不能通過(guò)局部的修改或者打補(bǔ)丁的方式改善丙笋,我才會(huì)去重寫(xiě)它。就像每次我看自己六個(gè)月之前寫(xiě)的代碼庫(kù)煌贴,我就會(huì)想御板,臥槽,這樣都行牛郑?
我必須換個(gè)思路徹底重新思考這些問(wèn)題怠肋,但是我認(rèn)為這是每一個(gè)軟件在開(kāi)發(fā)過(guò)程中都不可避免的,因?yàn)楹茈y第一次嘗試就完美無(wú)瑕淹朋。
寫(xiě) Vue 的過(guò)程也是我作為開(kāi)發(fā)者不斷成長(zhǎng)的過(guò)程笙各,因?yàn)殡S著時(shí)間的推移,我需要添加新的功能础芍,維護(hù)它杈抢,修復(fù) bug 并確保整個(gè)生態(tài)系統(tǒng)的正常發(fā)展。作為一個(gè)軟件工程師遇到這些問(wèn)題是很正常的仑性,這只是一個(gè)不斷學(xué)習(xí)的過(guò)程惶楼。
寫(xiě) Vue 的時(shí)候有沒(méi)有心情上的不順或者是其它非技術(shù)上的障礙?
『沒(méi)有哪一個(gè)真正的框架可以滿足每一個(gè)開(kāi)發(fā)者。更重要的是讓喜歡并使用我的框架的人歼捐,能夠繼續(xù)保持對(duì)這個(gè)框架的喜愛(ài)何陆。我會(huì)專心做我認(rèn)為最有價(jià)值的事情,并且努力去做好豹储,不用擔(dān)心別人拿我的框架和別的相比贷盲。』
當(dāng)然有了剥扣,畢竟競(jìng)爭(zhēng)壓力也是很大的晃洒。當(dāng) Vue 還是比較小眾的時(shí)候,沒(méi)什么壓力朦乏,任何方面的討論對(duì)我來(lái)說(shuō)都很好球及,因?yàn)槿藗儾粫?huì)對(duì)我的框架抱很高的期望。但是呻疹,隨著 Vue 越來(lái)越流行吃引,人們開(kāi)始把 Vue 與 Angular 或 React 進(jìn)行比較,他們有時(shí)會(huì)說(shuō)刽锤,「React 在這方面做的更好镊尺,Angular 在那方面做得更好〔⑺迹」
這時(shí)就給我?guī)?lái)很大鴨梨了庐氮,和那些巨頭競(jìng)爭(zhēng)壓力顯然很大。特別是現(xiàn)在我全職開(kāi)發(fā) Vue宋彼。Vue 在前端圈的生存能力基本上和我的工作有很大的關(guān)系弄砍。
但是最近我剛剛看過(guò) Elm 的作者Evan Czaplicki的演講,他在演講里說(shuō)到了他開(kāi)發(fā) Elm 時(shí)的壓力输涕。因?yàn)橛杏迷?React 上的 ClojureScript 界面??Om音婶,還有可以編譯為 JavaScript 的強(qiáng)類型語(yǔ)言PureScript,他也擔(dān)心 Elm 怎么和那些庫(kù)競(jìng)爭(zhēng)莱坎。
后來(lái)他和 Python 的作者 Guido 交流衣式,Guido 給了他一些建議,說(shuō)『認(rèn)真干自己的就可以了』檐什,他言外之意是 Python 也有這個(gè)問(wèn)題碴卧,Python 和許多動(dòng)態(tài)語(yǔ)言,像 Ruby乃正,JavaScript住册,Perl 這些語(yǔ)言也都有相互競(jìng)爭(zhēng)的領(lǐng)域。結(jié)果所有這些語(yǔ)言都是成功的烫葬,他們有自己的社區(qū)和自己的用戶群界弧,有很多開(kāi)發(fā)者喜歡和使用這些語(yǔ)言凡蜻。
人們喜歡不同的語(yǔ)言,原因各不相同垢箕。對(duì) JavaScript 框架而言也是一樣划栓,人們喜歡不同的框架,原因也各不相同条获。沒(méi)有哪一個(gè)真正的框架可以滿足每一個(gè)開(kāi)發(fā)者忠荞。更重要的是讓喜歡并使用我的框架的人,能夠繼續(xù)保持對(duì)這個(gè)框架的喜愛(ài)帅掘。我會(huì)專心做我認(rèn)為最有價(jià)值的事情委煤,并且努力去做好,不用擔(dān)心別人拿我的框架和別的相比修档。
你認(rèn)為 Vue.js 的成功給我們帶了什么碧绞?
這個(gè)問(wèn)題很難回答啊,因?yàn)?Vue.js 的影響范圍隨著時(shí)間的推移會(huì)不斷增大吱窝。我們現(xiàn)在有整個(gè)基于 Vue 框架的生態(tài)系統(tǒng)讥邻,而且我們還在探索Weex這樣的東西,可以把 Vue 用在寫(xiě)原生應(yīng)用上院峡。
我也非常注重 Vue 的簡(jiǎn)單和易用性兴使,因?yàn)槲覉?jiān)信技術(shù)應(yīng)該是能讓更多的人可以開(kāi)發(fā)自己想要的東西。
接下來(lái)的幾個(gè)都是編程之外的問(wèn)題照激,也很有趣发魄。請(qǐng)問(wèn)編程之外還有沒(méi)有其它的興趣?
動(dòng)漫俩垃,我看了很多日本的動(dòng)漫励幼。不知道你有沒(méi)有注意到,Vue 的發(fā)行版都是以動(dòng)漫命名的吆寨。從 .09 開(kāi)始赏淌,每個(gè)大的發(fā)行版的名稱的首字母都按字母表的順序遞增。2.0 是 Ghost in the Shell啄清。F 實(shí)際上是為 1.1 保留的。1.0 是 Evangelion俺孙。
image
image
我也很喜歡卡拉OK辣卒。
你最感興趣的前沿技術(shù)或趨勢(shì)是什么?
我比較感興趣實(shí)用的技術(shù)睛榄。這可能比較奇怪荣茫,因?yàn)槲覍?duì) AR 或 VR 現(xiàn)在還不是很動(dòng)心。我更想談?wù)労推胀ㄩ_(kāi)發(fā)人員更近的事场靴。像 Guillermo 開(kāi)發(fā)的Now啡莉。 開(kāi)發(fā)人員為開(kāi)發(fā)人員寫(xiě)工具港准,開(kāi)發(fā)人員用這些工具的體驗(yàn),同樣也是用戶體驗(yàn)咧欣。
在編程界有沒(méi)有偶像浅缸?
那肯定是TJ Holowaychuck和Guillermo Rauch。因?yàn)槲也皇怯?jì)算機(jī)專業(yè)的魄咕。我基本上通過(guò)看網(wǎng)上的資源和書(shū)來(lái)學(xué)習(xí)編程衩椒,還有一個(gè)重要的學(xué)習(xí)方法就是看別人的代碼。我看 TJ 的代碼時(shí)哮兰,就總是感覺(jué)寫(xiě)得非常優(yōu)雅毛萌。優(yōu)雅是當(dāng)時(shí)蹦到我腦海中的第一個(gè)詞,并且對(duì)我的影響很大喝滞。TJ 絕對(duì)是我的偶像阁将。
最后,想了解更多前端行業(yè)知識(shí)右遭,請(qǐng)關(guān)注公眾號(hào)【前端大牛愛(ài)好者】:全網(wǎng)top3Web前端公眾號(hào)做盅,匯聚了國(guó)內(nèi)外20余萬(wàn)前端全棧架構(gòu)師。每天為你推送高質(zhì)量文章狸演,一直陪伴著你言蛇。