編輯 | 閆園園
采訪(fǎng)嘉賓 | 程邵非(winter)
目前,大前端領(lǐng)域整體上處于怎樣的階段?2021 年,大前端領(lǐng)域都有哪些技術(shù)創(chuàng )新需要關(guān)注?2022 年,它又將走向怎樣的方向?
12 月 30 日,InfoQ 大咖說(shuō)欄目特別邀請到極客時(shí)間《重學(xué)前端》專(zhuān)欄作者程劭非(winter)來(lái)與大家展望 2022 年大前端的整體發(fā)展方向。節目中,程劭非(winter)老師就Flutter 會(huì )不會(huì )一統大前端、Web 3.0 的概念、以及元宇宙對大前端的影響等具體問(wèn)題與大家作了相關(guān)分享。
程劭非(winter)是前手機淘寶前端 leader,JavaScript 專(zhuān)家。以下內容節選自當天的分享,InfoQ 做了不改變原意的編輯:
大前端發(fā)展現狀與趨勢
InfoQ:首先請老師聊聊目前整個(gè)大前端領(lǐng)域處于一個(gè)怎樣的階段,今后總體發(fā)展方向和規劃是什么?
程劭非(winter):既然說(shuō)處于什么階段,我們先整體看一下前端的發(fā)展歷程。前端其實(shí)出現的很早,從上世紀 80 年代發(fā)明萬(wàn)維網(wǎng)開(kāi)始,前端就已經(jīng)是萬(wàn)維網(wǎng)非常重要的組成部分,后來(lái) 90 年代,又有了 JavaScript 和各種各樣的瀏覽器,包括 W3C 一直在中間推出一些新的東西。
但我認為真正產(chǎn)生前端崗位應該是在 2005 年左右,有了前端的崗位之后,出現了一些專(zhuān)門(mén)去做前端的程序員,因此前端的崗位發(fā)展到現在其實(shí)還不是很長(cháng),大概十幾年的時(shí)間。到目前來(lái)說(shuō),前端算是一個(gè)非常年輕的崗位,它的一個(gè)特點(diǎn)就是變化非???,新的東西層出不窮,所以總體上我覺(jué)得前端目前還是處在發(fā)展期。
隨著(zhù)前端的發(fā)展,它可能逐漸穩定下來(lái),當然這個(gè)事情我也沒(méi)有辦法預言的太準確,估計 20 年后這個(gè)崗位可能會(huì )變成一個(gè)較為成熟的崗位,這個(gè)時(shí)候它的技術(shù)棧應該不會(huì )發(fā)生一個(gè)較大的變化,也就是我們常說(shuō)的成熟期或者平臺期,這個(gè)時(shí)期會(huì )有一個(gè)比較長(cháng)的持續期,我覺(jué)得應該比發(fā)展期要長(cháng),再往后可能就進(jìn)入衰退期,衰退期應該也很長(cháng),但并不意味著(zhù)前端找不到工作了,舉個(gè)簡(jiǎn)單例子,現在 Flash 也沒(méi)有說(shuō)整個(gè)崗位完全崩掉,所以我們對此也無(wú)需太過(guò)于悲觀(guān)。
其實(shí),任何一個(gè)技術(shù)都要經(jīng)歷這樣的階段?,F在我們也會(huì )聽(tīng)到有些同學(xué)說(shuō)前端新技術(shù)這么多,學(xué)不過(guò)來(lái)會(huì )有抱怨,我反而覺(jué)得大家應該慶幸,慶幸前端還沒(méi)走下坡路,還是在成長(cháng)過(guò)程中的。
InfoQ:您認為 TypeScript 使用人數增長(cháng)迅速的原因是什么?在未來(lái),它還會(huì )保持一個(gè)較熱的關(guān)注度嗎?
程劭非(winter):TypeScript 是什么?TypeScript 從設計的基本原則上其實(shí)已經(jīng)講得很清楚了,就是帶類(lèi)型的 JavaScript ,那么它基本上也保持了很明確的策略,就是 JavaScript 的原特性都會(huì )跟,跟完之后,在上面加上類(lèi)型系統。
所以說(shuō) TypeScript 不像是一門(mén)新語(yǔ)言。它的發(fā)展策略就是除了類(lèi)型相關(guān)的東西,不會(huì )加稀奇古怪的特性,它的重點(diǎn)在發(fā)展自己的類(lèi)型系統,所以大家可以理解為它是 JavaScript 的一個(gè)插件或者是補丁,其實(shí)它有點(diǎn)像 JSS,是吧?
JSS 出來(lái)后,JavaScript 就有四個(gè)分支,JS、TS、JSS、JSX,可能未來(lái)還會(huì )有更多的出現。那么 TypeScript 肯定是要比這種小型的邊邊角角的修補要大的多。類(lèi)型系統在編程語(yǔ)言里也是一個(gè)非常重要的東西,它能夠讓我們編寫(xiě)大型應用的時(shí)候能夠更節約人力。
什么算大型呢?就我個(gè)人而言,我覺(jué)得十萬(wàn)行左右就已經(jīng)算是中型到大型的過(guò)渡了,但其實(shí)早前前端的頁(yè)面過(guò)千行都非常少,過(guò)萬(wàn)行的已經(jīng)是很復雜的頁(yè)面了。所以,早年前端對類(lèi)型的需求不是特別的強烈。
如果做過(guò) C 的同學(xué)體會(huì )就會(huì )很深了,動(dòng)不動(dòng)好幾萬(wàn)行的 codebase 下面,很難把一個(gè)函數的前因后果看明白,這種情況下,類(lèi)型就能夠給你帶來(lái)非常重要的信息。類(lèi)型基本上就是程序和程序之間鉚合的一個(gè)約束,舉個(gè)例子,沒(méi)有類(lèi)型的情況下,你在調試的時(shí)候,調了一個(gè)函數中有一個(gè)參數叫 Config ,Config 里邊到底有什么,你是完全不知道的,所以說(shuō)這個(gè)代碼寫(xiě)的對不對,你也沒(méi)有任何辦法去指導,除非能看到這個(gè)函數的每一個(gè)調用。
尤其在大量代碼的情況下,我們做不到這個(gè)事情,因為它的調用太多了,掌握幾十萬(wàn)行代碼對于人來(lái)說(shuō)已經(jīng)是非常高的要求了,所以這時(shí)候類(lèi)型非常重要,這塊也是給大家一個(gè)科普,類(lèi)型到底有什么作用。類(lèi)型對于大規模程序,尤其是十萬(wàn)行以上規模的程序,是不可或缺的。
TypeScript 的增長(cháng)標志著(zhù)人們在使用 JavaScript 開(kāi)發(fā)越來(lái)越大型的東西,當去寫(xiě)萬(wàn)行左右的東西的時(shí)候,使用 TypeScript 的收益在迅速上升,在這種情況下,TypeScript 有巨大的優(yōu)勢。因此,越大型、越復雜的環(huán)境,TypeScript 肯定是用的越來(lái)越多。
解析跨平臺
InfoQ:目前跨平臺比較成熟的、值得推薦的框架有哪些?您認為還有哪些框架非常有潛力可能會(huì )在未來(lái)被大家熟知或者使用的?
程劭非(winter):首先跨平臺框架有兩類(lèi),第一類(lèi)目標是純粹為開(kāi)發(fā)者服務(wù),像當年的 RN 和我們在淘寶做的 Weex 等,它們都是試圖為開(kāi)發(fā)者服務(wù)的。這一類(lèi)框架目前來(lái)看不是特別健康,Weex 現在來(lái)看,維護的人并不多。RN 最近發(fā)布了一個(gè)新版本,但實(shí)際上它的特性也是好久沒(méi)動(dòng)了,而且真正用 RN 寫(xiě)出來(lái)的應用非常少,大部分都是把它當做技術(shù)解決方案的一部分在用,而不是完整在使用。
還有另一類(lèi)就是商業(yè)化平臺方案,比如小程序,而且我最近看有很多這樣的趨勢,比如智能音箱在推出自己的開(kāi)發(fā)框架??梢?jiàn)跨平臺框架的商業(yè)成分在上升,所以如果要我來(lái)說(shuō)未來(lái)哪一個(gè)框架更流行,我認為更多的是一種商業(yè)上的競爭,而不是單看技術(shù)上好用。
說(shuō)白了,程序員的喜好可能沒(méi)有那么重要,重要的是老板會(huì )選哪個(gè),因為這和商業(yè)上的東西綁定到一起的,就我自己來(lái)說(shuō),我不認為這是一個(gè)好事,但這是一個(gè)客觀(guān)的現狀,比如說(shuō)微信小程序。至少在我看來(lái),它在技術(shù)上沒(méi)有什么特別突出的地方,當然它也解決了應該解決的所有問(wèn)題,也不能說(shuō)它不好,這就是在商業(yè)的場(chǎng)景下,它該有的都有了,該做的都做了。開(kāi)發(fā)應用性拿去競爭,其實(shí)是沒(méi)有競爭力的,但是我們還要必須去學(xué),所以我覺(jué)得大家看待這個(gè)問(wèn)題的時(shí)候,不應該把眼光局限在技術(shù)范圍內去考慮,更多的需要去看我們究竟需要不需要。
InfoQ:以 Flutter 和 uni-app 現有的發(fā)展趨勢,二者誰(shuí)的后勁大,哪個(gè)會(huì )勝出?按照目前的 Flutter 發(fā)展勢頭,會(huì )不會(huì )在將來(lái)一統大前端?
程劭非(winter):首先,我覺(jué)得這兩個(gè)東西放在一起比是很奇怪的事情,Flutter 的目標是一個(gè) UI 系統,我也聽(tīng)到很多同學(xué)也都在問(wèn) Flutter 值不值得學(xué)。
Flutter 是一個(gè)獨立的 UI 系統,其實(shí)我非常希望它能在 Android 上把原來(lái)基于 Java 的系統給干掉,但是前端的同學(xué)去學(xué) Flutter 實(shí)則相當于轉行,不是說(shuō)值不值得學(xué),而是說(shuō)要不要轉行。轉行了就去做 Flutter 工程師,這個(gè)東西其實(shí)質(zhì)量很高。我覺(jué)得也是屬于在現行 UI 框架里非常不錯的東西,但是公司做技術(shù)選型的時(shí)候,會(huì )不會(huì )因為 Flutter 特別易用而去選擇 Flutter ,我覺(jué)得大概率不會(huì )。比如淘寶會(huì )不會(huì )選擇使用 Flutter ,基本上不太可能,因為它自帶了巨大的包大小開(kāi)銷(xiāo),所以它不會(huì )把整個(gè) Flutter 搞進(jìn)來(lái)的。所以說(shuō) Flutter 值不值得學(xué)這個(gè)事情也非常簡(jiǎn)單,你熱愛(ài) Flutter ,你認為你應該轉行,那么就去學(xué)好 Dart 語(yǔ)言,然后去看哪些公司使用 Flutter ,就去選擇這些崗位。
如果說(shuō)你要好找工作,從這個(gè)角度去考慮問(wèn)題沒(méi)有意義,你選擇前端是不是因為對比了前端和后端哪個(gè)好找工作,然后選擇了前端,我覺(jué)得很多人不會(huì )是因為這個(gè),對吧?可能有一部分同學(xué)是被誤導進(jìn)來(lái)的,比如測試、運維、前端,這三個(gè)崗位就是重災區,所以我們面試也會(huì )遇到一些同學(xué),他根本不喜歡這個(gè)東西。
別人說(shuō)簡(jiǎn)單、好找工作,這其實(shí)不是一種正常的思維,你需要先決定要去做這一行,再去找這一行的工作。如果你特別喜歡 Dart 這個(gè)語(yǔ)言,那么往 Flutter 方向發(fā)展絕對沒(méi)毛病,但是如果你現在是一個(gè)前端開(kāi)發(fā)工程師,問(wèn)要不要去學(xué)習 Flutter ,我個(gè)人覺(jué)得沒(méi)有必要。
InfoQ:目前,各個(gè)大廠(chǎng)已經(jīng)推出了各自的小程序,您認為小程序發(fā)展到現在面臨的最大問(wèn)題是什么?有什么亟需在 2022 年解決的?有人稱(chēng)它為端方向的下一個(gè)突破口,對此您怎么看,為什么?
程劭非(winter):我個(gè)人覺(jué)得小程序現在一個(gè)比較大的問(wèn)題就是它的標準化做的不是特別好,前陣子 W3C 啟動(dòng)了這個(gè)方向,但據我所知騰訊沒(méi)有加入,我們在私底下交流的時(shí)候,都覺(jué)得這是非常遺憾的事情,如果騰訊不加入的話(huà),又談何標準呢?
如果站在社區的角度去看,首先,小程序在技術(shù)上不可能有問(wèn)題,畢竟這么多大廠(chǎng)的頂級程序員在搞這個(gè)事情,技術(shù)上肯定是不會(huì )有硬傷的,至于開(kāi)發(fā)者體驗,大家都在努力去做,肯定也不會(huì )差到哪里去,這就是目前小程序的現狀。
但是如果說(shuō)它是未來(lái)的端方向的突破口,我不這么認為,在我看來(lái)小程序是個(gè)純粹的商業(yè)產(chǎn)物,從商業(yè)上來(lái)說(shuō)它很好,從技術(shù)上來(lái)說(shuō),也有一定的巧思在里邊。最開(kāi)始我看它的技術(shù)框架的時(shí)候,是用 Html 去渲染它,里邊有很多技術(shù)做的很漂亮,所以技術(shù)上是沒(méi)有問(wèn)題的,但它本身設計的目標是為商業(yè)服務(wù)的,是為了大家能把東西塞到微信里去跑,完成了這個(gè)目標它就是好的。
所以說(shuō)這種背景下,如果說(shuō)為端指明了方向,我覺(jué)得是不對的,還是那句話(huà),它完全是在一個(gè)商業(yè)邏輯下,如果把它當做一個(gè)技術(shù)上的信仰,是存在問(wèn)題的。
InfoQ:近兩年,低代碼的概念異?;鸨?,能否與大家聊聊低代碼目前在前端領(lǐng)域的應用情況,以及您對于它未來(lái)發(fā)展的看法?
程劭非(winter):首先今天能聽(tīng)到低代碼這個(gè)詞,要歸功于國外的咨詢(xún)公司搞出來(lái)這樣一個(gè)概念,他們搞出這樣一個(gè)概念,主要是為了去做企業(yè)服務(wù),就是將低代碼解決方案賣(mài)給一些相對來(lái)說(shuō)數字化程度沒(méi)有那么高的企業(yè)。這其實(shí)是非常好的概念,咨詢(xún)公司也是努力了很久,才把低代碼變成一個(gè)流行概念。
但是對于我們大部分同學(xué)來(lái)說(shuō),還是在純互聯(lián)網(wǎng)領(lǐng)域做的比較深入的,在這種情況下,低代碼對于我們來(lái)說(shuō)并不是一個(gè)新的概念。其實(shí),這個(gè)概念對一些傳統企業(yè)還是比較新的,它買(mǎi)一套低代碼解決方案回去,能節約大量成本,所以,最初講低代碼概念的那幫人,他不是給我們這些專(zhuān)業(yè)工程師講的,是給做數字化轉型的企業(yè)講的。
就低代碼來(lái)說(shuō),其實(shí)我們這些專(zhuān)業(yè)互聯(lián)網(wǎng)領(lǐng)域的工程師已經(jīng)做了很多年了,只不過(guò)是不叫這個(gè)名字,早些年叫搭建系統、組件平臺或者類(lèi)似的東西,在今天的很多技術(shù)分享上我們也會(huì )經(jīng)常說(shuō)做了一個(gè)低代碼平臺,甚至這些平臺的歷史可能比低代碼的概念都要久。
在低代碼第一代開(kāi)始流行的時(shí)候,其實(shí)我專(zhuān)門(mén)去研究過(guò)這個(gè)東西,也發(fā)現了它的來(lái)源。在我看來(lái),一線(xiàn)互聯(lián)網(wǎng)企業(yè)的技術(shù)能力稍大于數字化領(lǐng)域的乙方公司大于數字化領(lǐng)域的甲方公司,大概是這么個(gè)排序關(guān)系。所以這個(gè)概念,其實(shí)是數字化領(lǐng)域的乙方公司跟甲方公司去講的這樣一個(gè)概念,這個(gè)概念總結的很好,所以沒(méi)有什么問(wèn)題。
至于有些同學(xué)說(shuō)它會(huì )威脅程序員的飯碗,這從何說(shuō)起呢?這跟我們程序員沒(méi)有太大關(guān)系,我認為本質(zhì)上互聯(lián)網(wǎng)領(lǐng)域早就開(kāi)始做了,只是沒(méi)有總結成這個(gè)概念。比如,淘寶的運營(yíng)系統 TMS,這個(gè)東西大概在 2006、2007 年做出來(lái),跟淘寶歲數差不多大,很古老的一個(gè)系統,后來(lái)經(jīng)過(guò)了數代的迭代,現在運營(yíng)填幾個(gè)數,就可以上線(xiàn)頁(yè)面,那么你說(shuō)這是不是低代碼呢?現在這個(gè)東西已經(jīng)進(jìn)化成讓 AI 從設計圖直接變成代碼,我個(gè)人覺(jué)得它已經(jīng)不能叫低代碼,這個(gè)系統和我剛才說(shuō)到的低代碼起源的概念里的低代碼已經(jīng)差了太多了。
漫聊元宇宙與 Web 3.0
InfoQ:今年,科技圈的熱詞之一就是元宇宙,您認為元宇宙對于大前端領(lǐng)域來(lái)說(shuō)會(huì )帶來(lái)哪些機會(huì )同時(shí)又會(huì )帶來(lái)哪些挑戰?
程劭非(winter):我覺(jué)得元宇宙這個(gè)概念能把游戲、VR/AR、區塊鏈數字資產(chǎn)等等這么多投資人喜歡的概念弄一起去,也是一個(gè)很厲害的產(chǎn)品創(chuàng )意。但是說(shuō)實(shí)話(huà),再好的概念再好的產(chǎn)品 idea,也需要一些基礎技術(shù)做支撐,即便公司把名字改了也沒(méi)有太大用處,技術(shù)發(fā)展是有客觀(guān)規律的。
目前這個(gè)東西很虛,技術(shù)缺的腿太多,就算是看每個(gè)具體的技術(shù)上面,都還差很多支撐,更何況把他們融為一爐。在這種情況下,我不認為這個(gè)東西最后能做出什么樣子來(lái),但客觀(guān)上有一個(gè)好處,它會(huì )積極的推動(dòng)這些領(lǐng)域的加速發(fā)展,這是積極的一方面。
比如,VR/AR 大家需要錢(qián)去做,但是沒(méi)有元宇宙這樣概念的話(huà),很難在短期內發(fā)展出什么,但是你看公司名字一改,大家都往那個(gè)領(lǐng)域里扎推,說(shuō)不定就能有技術(shù)突破。像前一陣子我收到字節的設備 PICO,我覺(jué)得 VR 設備還是非常超出我對它預期的硬件能力,雖然它的軟件領(lǐng)域還是非常簡(jiǎn)陋,但是我覺(jué)得它在一些基礎問(wèn)題上做的比以前好多了。這就是元宇宙的積極意義,相應來(lái)說(shuō),其他方面比如數字資產(chǎn)區塊鏈等方面同樣也會(huì )受益。
InfoQ:近期,我們經(jīng)常會(huì )看到網(wǎng)上討論 Web3.0 的概念,能否與大家聊聊您對 Web3.0 是怎樣的理解的?有人說(shuō)它是炒作,有人說(shuō)它是大趨勢,能否聊聊您的看法。
程劭非(winter):Web3.0 是這樣,我們要先看一下 Web3.0 本身的含義。大家都知道 UGC,UGC 是 Web 2.0 的典型標志,全稱(chēng) User Generated Content ,用戶(hù)產(chǎn)生內容的網(wǎng)站,以論壇、微博這類(lèi)東西為代表,社區型的東西或者博客,這類(lèi)用戶(hù)產(chǎn)生內容叫做 Web 2.0。
Web 3.0 是什么?經(jīng)歷過(guò) 10 年的前端的話(huà),你會(huì )知道另一個(gè)版本的 Web 3.0 ,那個(gè)時(shí)候的 Web 3.0 ,大家都講和語(yǔ)義網(wǎng)相關(guān),包括 W3C 的 CTO,也就是我們的 Web 之父 Tim Berners-Lee 對于語(yǔ)義網(wǎng)的期待是非常高的,語(yǔ)義網(wǎng)大概是什么東西?
比如說(shuō) Facebook 上的一些用戶(hù)數據,它可以給別的網(wǎng)站去用,但是現在大家的私心還是比較重,大家都認為自己平臺上的數據是重要的資產(chǎn),所以天下大同的夢(mèng)想沒(méi)有實(shí)現,那一代的 Web3.0 自然而然就沒(méi)有人再提了。
相隔大概十年后,有人又提出了 Web3.0 ,Web3.0 基于 UOC,User Own Content ,用戶(hù)擁有內容,不免會(huì )聯(lián)想到區塊鏈、數字資產(chǎn)這些東西,我給他簽名,這其中盡量有公正。我覺(jué)得這里面的聯(lián)想帶有一定的導向性。所以讓我來(lái)說(shuō)這個(gè)概念的話(huà),我百分之百認同 User Own Content 的概念,用戶(hù)應該對內容有一定的主權,但是就聯(lián)想出來(lái)的東西,我個(gè)人覺(jué)得帶了一些刻意的成分,有一些不自然的地方,所以我覺(jué)得這點(diǎn)值得大家警惕。
我覺(jué)得 User Own Content 有很多種方式去實(shí)現,比如說(shuō)國家搞一個(gè)認證平臺,搞一個(gè)公證的東西,它跟區塊鏈一毛錢(qián)關(guān)系都沒(méi)有,但是可能也會(huì )實(shí)現我寫(xiě)的文章經(jīng)過(guò)一個(gè)簽名,然后別人要用的話(huà)需要付我錢(qián)。所以總的來(lái)說(shuō),我個(gè)人對 Web3.0 持有觀(guān)望態(tài)度, Web3.0 概念里明顯是有人為制造的痕跡在里邊,它背后真正想推的那個(gè)東西,絕對不會(huì )是 User Own Content 。
InfoQ:除了我們上述談到的,今年大前端領(lǐng)域還發(fā)生了哪些大事令您印象深刻,并且覺(jué)得會(huì )對未來(lái)大前端領(lǐng)域的技術(shù)發(fā)展產(chǎn)生一些影響的事與大家分享一下?
程劭非(winter):說(shuō)實(shí)話(huà),今年來(lái)看新技術(shù)不是特別多,我沒(méi)有看到技術(shù)上面有非常重大的新東西出來(lái),這可能跟我們現在技術(shù)到了一個(gè)小的平臺期有關(guān)系。畢竟現在三大框架其實(shí)做的已經(jīng)很完善了,不過(guò)也會(huì )有一些挑戰者出來(lái),比如 Svelte ,可以說(shuō)取得了一定的影響,但是它也沒(méi)有吃掉三大框架的地盤(pán),很明顯也不是下一代東西,所以你看今年會(huì )發(fā)現它的趨勢沒(méi)有那么猛。
回到問(wèn)題,這一年產(chǎn)生了哪些值得關(guān)注的新技術(shù),我覺(jué)得能明確作為下一代技術(shù)的應該是沒(méi)有。新的一年也要到了,如果說(shuō)明年的話(huà),我比較會(huì )關(guān)注前端和 VR 的關(guān)系。去年這個(gè)時(shí)間段,我曾說(shuō)我會(huì )比較關(guān)注在 AI 和圖形學(xué)上。
以后我還會(huì )持續關(guān)注,但我也發(fā)現這兩個(gè)領(lǐng)域技術(shù)的發(fā)展沒(méi)有那么快,2021 年也沒(méi)有出現什么新鮮東西,今年我會(huì )更關(guān)注前端跟 VR 領(lǐng)域就 3D 交互上的發(fā)展。有時(shí)候和朋友閑聊就會(huì )討論這個(gè)問(wèn)題:3D 交互領(lǐng)域鼠標被換掉了,onclick 事件沒(méi)有了,交互可能也不是按鈕了,整個(gè)空間也變成了 3D 的空間,到時(shí)候還會(huì )持續前端現在的這一套框架嗎?
我覺(jué)得這里面的變化應該比較大,尤其借著(zhù)元宇宙這個(gè)東西,VR 技術(shù)應該會(huì )有一個(gè)比較大的發(fā)展,可能跟我最近收了一臺 PICO 在用有關(guān)系,所以比較偏向于這個(gè)方面。在未來(lái) 3~5 年內,基于 3D 環(huán)境的前端界面必會(huì )出來(lái),可能會(huì )出來(lái)一些很糙的東西,但這對于我們前端工程、前端核心的基礎設施,影響都是會(huì )非常大的。
所以,2022 年什么技術(shù)會(huì )火?要押的話(huà),我就押 VR ,因為我覺(jué)得這個(gè)東西最接近可用,剩下的概念我覺(jué)得都還沒(méi)有太大的可能性。
InfoQ:最后,新的一年馬上就到了,新年新開(kāi)始,老師對正準備跨進(jìn)前端的技術(shù)人或者正在前端領(lǐng)域內卷的技術(shù)人們有哪些寄語(yǔ)或者建議呢?
程劭非(winter):我看到評論區有個(gè)問(wèn)題,順帶解答一下。有一個(gè)問(wèn)題說(shuō)大學(xué)學(xué)哪個(gè)專(zhuān)業(yè)跟前端比較相關(guān)?其實(shí)這是分幾個(gè)不同階段的。大學(xué)里是沒(méi)有真正意義上和前端相關(guān)專(zhuān)業(yè)的,要學(xué)的話(huà)就是最傳統的軟件工程和計算機科學(xué)與技術(shù),這兩個(gè)專(zhuān)業(yè)是大部分學(xué)校都會(huì )有的,跟前端關(guān)系比較大。
這其中所有計算機相關(guān)專(zhuān)業(yè)的排序依次是:軟件工程、計算機科學(xué)與技術(shù)、電子工程、數學(xué),這幾個(gè)專(zhuān)業(yè)是跟計算機關(guān)系最密切的,再往上研究生到博士生有幾個(gè)方向。正巧最近跟 CCF 有合作,也研究了一下學(xué)術(shù)界的兩個(gè)方向,一個(gè)叫做圖形學(xué)方向,一個(gè)叫人機交互方向,這兩個(gè)是跟前端比較相關(guān)的,當然說(shuō)實(shí)話(huà)相關(guān)度也還是不太高,但這幾個(gè)領(lǐng)域也是我認為在現行體系里相對來(lái)說(shuō)相關(guān)度比較高的幾個(gè)領(lǐng)域了。
另外,如果高中的同學(xué)要報大學(xué)專(zhuān)業(yè)的話(huà),我推薦北京航空航天大學(xué),北航是 W3C 總部所在的學(xué)校,也就是全球四大 W3C 總部之一,所以這個(gè)學(xué)校如果在你選擇的范圍內,還是可以多考慮考慮。畢竟北航計算機學(xué)院的老師們都在 W3C 總部擔任職位,肯定也是非常重視前端相關(guān)的東西。
另外說(shuō)到卷,還是上進(jìn)心導致的,對吧?真想躺的話(huà),能躺的辦法還是挺多的。如果想要進(jìn)前端的領(lǐng)域,從學(xué)習的角度來(lái)講,我推薦 hard way。也就是說(shuō),我們看起來(lái)最難的那條路反而是最簡(jiǎn)單的,那些看起來(lái)簡(jiǎn)單的路,它有可能反而是更繞。
你想往山頂上走,肯定選擇最陡峭的,你想走下坡路,肯定選擇最遠的那條路。這個(gè)道理是是我想今天傳達給大家的,原因還是在于看到太多的同學(xué)們想走捷徑,或者說(shuō)想走簡(jiǎn)單的路,結果反而越走越遠,最后繞回來(lái)的話(huà)反而消耗更大。