如何克服 JavaScript 框架疲勞?

【編者按】Tero Parviainen 著有 Build Your Own AngularJS,曾兩次組織 Clojure CUP 競(jìng)賽,在 Twitter 上有近兩千名關(guān)注者。在本文中,Tero 闡述了在 JavaScript 框架層出不窮的當(dāng)下,不少開發(fā)者對(duì)選擇框架的種種困惑,如果你也有類似的困惑,不妨讀一讀。

如何克服  JavaScript  框架疲勞?
如何克服 JavaScript 框架疲勞?

以下為譯文:

JavaScript 社區(qū)正受「框架疲勞」困擾。著眼近段時(shí)間涌現(xiàn)出的大量新框架、技術(shù)和想法,令人振奮的同時(shí)也讓人覺得很難追上科技更新的腳步。

既然難以追趕,那么必須選擇專注的領(lǐng)域,而做這個(gè)選擇也正是因?yàn)檫@種焦慮感。那么,你在專注于「正確的事」么?你正在學(xué)習(xí)的框架又是否是最合適你的,或許還有比它更好的?會(huì)不會(huì)下個(gè)月就發(fā)生些什么讓你的選擇顯得過時(shí)?

這里有一些個(gè)人總結(jié),用以抵抗這種疲憊感和焦慮感。

1.學(xué)會(huì)欣賞已知中的未知數(shù)

事實(shí)上如果你遭遇了這個(gè)問題,那么說明你已經(jīng)很了解圍繞 JavaScript 正在發(fā)生些什么。所有你認(rèn)為應(yīng)該學(xué)習(xí)的其實(shí)都是你有所了解的,它們都是你知識(shí)領(lǐng)域中的未知點(diǎn)。在這里,你必須要理解——「已知的未知」會(huì)不停地?cái)U(kuò)張,永無止境。事實(shí)上,恰恰相反:這不僅意味著新事物在不斷出現(xiàn),還意味著每一次你學(xué)習(xí)了一些東西,也會(huì)了解到與它相關(guān)的——那些你原本還不了解的事情。

舉個(gè)例子,在讀 Cycle.js 時(shí),才發(fā)現(xiàn)對(duì) Reactive Programming 知之甚少。學(xué)習(xí) React 又帶來了接觸 React Native、GraghQL、Redux 的途徑,并如此無休止的反復(fù)。一件事總是能夠引起另外一件事。

與其被一系列已知的未知所擾,不如學(xué)著接受這種情況。當(dāng)意識(shí)到缺乏某種知識(shí),可以選擇后續(xù)去學(xué)習(xí)。知道它存在并大概知道它是什么,這意味著你可以決定在某個(gè)時(shí)候,如果可能的話,花費(fèi)時(shí)間去學(xué)習(xí)這種知識(shí)。我們總是陷入選擇中,傾向于抗拒這種選擇卻又因?yàn)槿杂心敲炊嗖粫?huì)的知識(shí)而抱有負(fù)罪感。這種糾結(jié)毫無意義,進(jìn)行選擇比忽略所有可以學(xué)習(xí)的東西更好。

這種未知——你所不知道的知識(shí)——不能作為實(shí)際知識(shí)和技能的替代,但也絕不是毫無用處。

2.接受事情總是處在變化中

毫無疑問, Web 開發(fā)總在不停地衍變——更好的解決方案被共認(rèn),亦或是設(shè)備性能增強(qiáng)等等。

無論現(xiàn)在 JavaScript 最前沿的技術(shù)是什么,我敢說這個(gè)「前沿」絕對(duì)支撐不了3年。它們中的大多數(shù)會(huì)被長久的遺忘,也有一些會(huì)留存,但創(chuàng)新也許會(huì)圍繞我們甚至還不能想象的某些事情發(fā)生。

舉個(gè)例子,Angulai 1.x 現(xiàn)在仍然很強(qiáng)大并且會(huì)維系數(shù)年,但圍繞它并沒有創(chuàng)新點(diǎn)。這種情況最終也同樣會(huì)發(fā)生在 React 或其他現(xiàn)今看來新奇的技術(shù)上。

我們也許并不希望這些發(fā)生,但這卻是不可避免的現(xiàn)實(shí),你只能選擇去接受事情的持續(xù)變化或者停留在落后于前沿技術(shù)的拐點(diǎn)。任何一種選擇都是有效的,但也都要付出成本。無論如何,變化是持續(xù)的,試圖阻止這種變化往往收效甚微。

3.理解一切都有價(jià)值

無論你選擇將時(shí)間用在哪種框架或者技術(shù)上,付出終究會(huì)得到回報(bào),即使它不是最正確的那一個(gè)。你所學(xué)習(xí)的一切都在幫助構(gòu)建你頭腦中的神經(jīng)元網(wǎng)絡(luò),會(huì)幫你建立某種聯(lián)系使你在后續(xù)學(xué)習(xí)其他東西時(shí)更加容易,了解一種知識(shí)能夠使你跟其他知識(shí)進(jìn)行比較和對(duì)比。因此,學(xué)習(xí)總是有用的,無論學(xué)什么。

這還意味著焦慮地去尋找一種正確的框架或技術(shù)用來學(xué)習(xí)并沒有想象中那么重要。不僅僅是因?yàn)樗^的正確的框架或技術(shù)很難確定,而且在很多情況下它們并不是一開始就存在的。相反,尋找有用的知識(shí)顯然更為簡單,它們無所不在。你也許可以學(xué)習(xí)一些看起來有趣的東西,即使它并不是絕對(duì)正確的東西。

舉個(gè)例子,我花費(fèi)了數(shù)年時(shí)間學(xué)習(xí)多種 Ruby 技術(shù)并且利用 Ruby 和 Rails 做 App,而在今天我用不到它們,甚至不確定以后是否會(huì)用。那么,這是否意味著我花費(fèi)的那段時(shí)間一無所獲?我不這么認(rèn)為。那些技術(shù)不僅在當(dāng)時(shí)很有用,并且所有在當(dāng)時(shí)學(xué)過的東西形成了我現(xiàn)在的編碼風(fēng)格。我非常希望這種情況也最終發(fā)生在我現(xiàn)在學(xué)習(xí)的工具上。

那么,如何去擺脫因?qū)ふ艺_框架所產(chǎn)生的焦慮感?在這里你不妨去尋找也許此時(shí)并不那么有用的知識(shí)——尋找一篇有趣的計(jì)算機(jī)科學(xué)論文并探索其中的觀點(diǎn),或者花時(shí)間在并不能直接應(yīng)用于所做之事的技術(shù)上。你從這些地方得到的收益也許并不那么明顯,但它們真實(shí)存在并會(huì)在不經(jīng)意的地方顯現(xiàn)。暫時(shí)擺脫激烈的框架選擇也能夠讓人振奮。

4.學(xué)會(huì)學(xué)習(xí)##

另一種有效的方法是回歸本源,僅僅將時(shí)間花在學(xué)會(huì)學(xué)習(xí)上。為什么不練習(xí)解決問題這一過程本身,或者像刻意練習(xí)一樣去研究技術(shù)。類似行為將有助于了解職業(yè)真正能帶來什么。

這是 Rich Hickey 對(duì)此的看法:

你需要仔細(xì)辨識(shí)事情的本質(zhì)。精通編程不在于語言、范例、平臺(tái)、構(gòu)建模塊、開源、會(huì)議等。這些都是隨著時(shí)間變化的基礎(chǔ)知識(shí),汲取知識(shí)的能力能夠使你按需使用。我更愿意選擇具備良好學(xué)習(xí)技巧和解決問題能力的程序員,而不是任何時(shí)候只汲取淺顯經(jīng)驗(yàn)的程序員。

就像學(xué)習(xí)新框架很有價(jià)值,學(xué)會(huì)學(xué)習(xí)很顯然能獲得更大的回報(bào)。善于學(xué)習(xí)和解決問題,將會(huì)使你遇到更少的麻煩,不論接下來你會(huì)需要什么樣的新技術(shù)。

原文鏈接:Overcoming JavaScript Framework Fatigue

本文系 OneAPM 工程師編譯整理。OneAPM 是應(yīng)用性能管理領(lǐng)域的新興領(lǐng)軍企業(yè),能幫助企業(yè)用戶和開發(fā)者輕松實(shí)現(xiàn):緩慢的程序代碼和 SQL 語句的實(shí)時(shí)抓取。想閱讀更多技術(shù)文章,請(qǐng)?jiān)L問 OneAPM 官方博客。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • JavaScript 社區(qū)正受「框架疲勞」困擾。著眼近段時(shí)間涌現(xiàn)出的大量新框架、技術(shù)和想法,令人振奮的同時(shí)也讓人覺...
    老夫的天閱讀 396評(píng)論 0 2
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,781評(píng)論 25 709
  • DD5512閱讀 847評(píng)論 1 0
  • 我是一個(gè)初生的孩子 我像赤子一樣用好奇的眼光打量世界 我相信我的力量來自不斷生長的力量 我是一個(gè)初生的孩子 我像陶...
    wujihong閱讀 1,202評(píng)論 0 0
  • 無意看到一篇關(guān)于舊時(shí)愛情文章『這世上最好的男子一定是你的樣子』@青山安瀾;還有『我們究竟還要讓父母等多久』@小黎小...
    狐貍_Fox閱讀 469評(píng)論 0 2

友情鏈接更多精彩內(nèi)容