面對眾多的前端框架,你該如何學習?
記得就在剛接觸 AngularJS 的時候,那時市場上正值 React、Vue、AngularJS 三足鼎立,大量的前端新人可能都會有這樣的困惑:這三個框架到底該學哪個好呢?我自己當時也是非常的迷惑,找不到一個合適的答案。
作為一個 React、Vue、AngularJS 都寫過的人,現在這個已經不再是問題了。先說結論:
公司用哪個框架就先學框架;其次自己喜歡哪個框架就學哪個框架
我的經歷是因公司業務而以 AngularJS 起步,再因個人興趣學習 Vue,最後再因為新公司以 React 技術棧為主,從而擁抱 React。
知識和學習能力是可以遷移的,掌握了 Vue 技術棧,再去學習 React,其遷移成本非常的小,你所需要做的是看文件,比較二者的異同,然後就可以直接上手了,反之也成立。因為 Vue 和 React 的相似度確實蠻高的。
經過了這三個框架的學習,發現學習可以總結成3個步驟:
* 第一步:基礎學習
* 第二步:專案驅動學習。要想快速熟練掌握一門框架,少不了大量的寫程式碼。通過專案的方式來寫編寫大量的程式碼,可以幫助你快速掌握該框架的用法及踩坑,快速積累經驗;
* 第三步:求知驅動學習。在求知驅動學習過程中,遇到任何產生困惑或者感興趣的點,都要去深入學習。這樣的學習過程雖然比較慢,但是足夠的系統,持續學習下去,能讓我們對於這個領域保持足夠的專業。
第一步:基礎學習
基礎的重要性已經無需強調了。打好基礎才能走得更遠。所以在一開始的時候,儘量選擇官方文件及教程。優先選擇英文原版,如果閱讀有困難,退而求其次,選擇中文翻譯版。擼一遍文件能幫你快速建立對於框架的認識。
第二步:專案驅動學習
技術學習中最推崇的可能就是Learning by doing,做中學。光看文件的學習是不完整的。真正快速有效的學習是通過專案驅動學習。因為通過專案,你能將你學到的知識用於解決實際的問題。在解決問題的過程中,又發現了知識的不足,再反過去查閱文件,學習。一方面,因為正反饋非常及時,會讓自己更有成就感;另一方面,也能快速得吸取知識。
這種方式吸取新知識的效率非常高,能夠對新技術進行快速的學習和應用。但是它的缺點便是:不夠系統。因此你還需要求知驅動。
第三步:求知驅動學習
在專案驅動學習中,講究的是效率。但是對於整個框架,你掌握得並不全面、系統。這三個步驟的關係就好比建造一座大廈的過程,先是打地基(基礎學習,擼文件),再是搭建建築的水泥主體框架(專案驅動學習,幫助建立對於框架的整體架構),最後才是上磚,裝修(興趣驅動學習,深入學習,不斷補全之前遺漏的知識,完善整體架構)。求知驅動的意義在於通過對於該框架的深入研究,不斷完善你的系統知識,最終建立一個完整的系統
這三個過程並不是獨立隔斷的,而是一個不斷迴圈、交替的過程。只有通過這樣的交替、迴圈,才能構建最終的知識體系。
但是很多人會只停留在第二步專案驅動學習就止步不前了。一旦覺得自己能hold住專案開發後,就不再去深入學習了。不會再花時間去補上之前的不足,不再花時間去了解框架或者語言背後的優秀思想及實現。缺少求知驅動學習這一階段,雖然並不妨礙你成為一個合格、高效的開發者,但是絕對無法讓你成為一個優秀的開發者。
一個優秀的開發者或者說學習者,一定是保持著好奇心和鑽研的動力。