零基礎的前端開發初學者應如何系統地學習?

回想四年前我剛入行的時候,那時候不少人對於前端的見解是「切圖,畫頁面,有個編輯器+瀏覽器就能幹,門檻低」,如今已經徹底不是那樣了,能夠說如今的前端這個職業的門檻雖然仍是沒怎麼變,可是整個行業的門檻提高了,換句話說就是整個行業對於前端這個職位要求更高了,對於前端小白的需求量下降,對於高級前端的需求量還在上升,甚至是供小於求的局面。從市場經濟學角度上講你只有進入到高級級別,才能真正吃到行業的紅利。 所以想要入行的朋友要先想清楚,不要頭腦發熱,若是你想清楚了,那麼請繼續往下看。 說實話,如今的前端大環境對初學者來講實在有點不友好,學習資料魚龍混雜,參差不齊,有質量很高的學習資料,也有謬論,先後不一,觀點錯誤,或者講述不清晰的。 更可怕的是質量低下的文章有時候更受歡迎,所以須要你們有很好的甄別能力,但這對於初學者來講實在有些困難,我在這裏就來談一下 初學者如何少走彎路,而且系統性地學習前端javascript

興趣是最好的老師

興趣無論對於學習什麼來講都是最好的老師。固然前端也不例外,若是你對這一門感興趣,絕對會對你有很大的幫助。前端

關於如何培養興趣,我提一點,你能夠嘗試去作一些小的「發明創造」,從而激發本身心裏的「成就感」。這些小發明能夠是一些小工具,小頁面。你能夠從開源社區,好比Github或者一些論壇,甚至本身的生活中收集一些創做素材。對於我來講,我就作過一個「前端開發工做流」的軟件,「siri」, 「小門神」等,從而帶來成就感,提高本身的興趣。java

權威,權威,仍是權威

其實技術越往上走,越會關注標準,關注協議等更上層和抽象的東西。而制定這些協議和標準的人每每都是世界上的「殿堂級」程序員,所以關注這些東西對於他們來講就是權威,對他們來講就很是很重要,可是這對於初學者來講彷佛還比較遙遠。那麼初學者如何對接「權威」呢? 剛纔提到了網上的學習資料良莠不齊,這其實對於入門學習來講是很不利的,就像童年時期對於整我的生的影響同樣,入門階段對於整個前端開發生涯的影響也是巨大的。關於如何初學者如何對接權威,我這裏總結了如下三點: 看一些權威的書籍,包括前端基礎,軟件工程以及算法等。這裏不太建議看太老的,畢竟技術的發展是很快的,之前很是經典的書並必定適合看了,尤爲是初學者而言。這裏前端方面我重點推薦兩本書,一本是《你不知道的JS》,一本是《JavaScript語言精粹》。除了前端,你還能夠看一些軟工類的書,我我的比較喜歡的有《程序員修煉之道》等,算法類的有《圖解算法》,《編程之美》等。其餘的我就不一一贅述了,想要更多書單的能夠私信我。react

  • 查權威資料。 這裏我推薦兩個,一個是MDN的文章,真的是又全面又專業,絕對是前端開發必備神器,哪裏不會點哪裏。 另外推薦一個Google開發者 , 裏面乾貨不少,絕對權威。 這裏順便再安利一個軟件,用來查文檔什麼的,簡直如虎添翼,這個軟件的名字是Dash,你們能夠把本身經常使用的框架,類庫等導進去,想用的時候直接查詢便可,比去網上搜更快更高效,這個軟件對於定製的支持度也是蠻高的,誰用誰知道。

(你們能夠看到我下載了不少documentation)

(你能夠直達某一個documentation搜索,也能夠全局搜索,甚至能夠搜goole和stackoverflow,是否是很貼心?)

  • 關注一些圈內權威人士。 我通常會關注幾個圈內比較知名的人的知乎,微博和twitter。這是我關注的Github的權威人士列表。其實這些都是公開的,你也能夠點開個人知乎,微博資料看我或者大佬們關注了誰。

作一些完整的簡單項目

你們能夠嘗試作一些簡單的項目,不要嫌簡單。 在作的過程每每能發現不少問題,若是有問題那這正好是本身提升的機會。 若是你以爲很簡單,也沒有關係,你能夠思考一下,我有沒有可能作的更好?我能不能把這些東西封裝起來,創建更高一層的抽象(A New Level of Abstraction),作到DRY(Don't Repeat Yourself)。 接下來就是關於怎麼找項目。 你能夠找個正式工做或者實習來作,也能夠本身找一些小項目來練手, 比較常見的練手項目有模仿某個網站,APP或者搭建本身的我的主頁,博客系統等。作好了不只能夠當敲門磚,說不定會收益很長時間呢。實在沒有什麼項目練手,這裏再推薦一個網站,你能夠再上面打怪升級。freecodecamp 如今你已經掌握了前端開發的基本概念和技能,那麼如何作到更進一步,持續成長,作到高級呢?我相信這是不少人的疑問,下面咱們就來看一下。git

學習路線

你可能已經聽過過大前端這個詞,我這裏不是勸退你哦。如下內容很高能,不過不少知識點不知道不要緊,由於就算是工做了不少年了老手也很難了解其中的大半知識點。 我我的爲了讓本身鞏固知識,同時也爲了幫助他人,總結了大前端下的30多個主題內容,內容覆蓋大前端的方方面面,雖然是從面試角度出發,可是你用來提高本身,查缺補漏也是頗有用的。程序員

多圖預警:github

拿《編程題》主題來講,我總結了各大公司常考的幾十道題目。 web

對於其餘主題也是同樣,我都會盡量地深度講解和剖析,而且從多方面理解,我相信這是在市面上不多見的。面試

並且我還畫了不少圖,來幫助你們理解一些抽象的知識點。算法

項目地址: lucifer.ren/fe-intervie… 歡迎圍觀。

開源項目

實話實說,不少優秀的思想,規範,寫法我都是從優秀的開源項目中學來的。 我會不按期閱讀一些優秀的開源項目源碼,也會參與到開源的工做中去,這給我本身帶來了很大的提高。 不只技術獲得了提高,團隊協做,規範化等方面也有了質的提升,另外還認識了一些優秀的人。四年來,我閱讀了不少優秀的源碼,也嘗試本身去造一些輪子,並開源出去,回饋社區。

輸入 + 輸出

前面重點講述的是輸入。 其實學習的過程不只僅是輸入,輸出也是很好的學習方法。 輸出的形式有不少,好比寫博客,講給別人,開源出去讓別人用等。 這實際上是很好的學習機會,這種學習方法可讓你的成長速度呈指數型增加,所以千萬不要小看它。 我會經過以練代學的方式來學習,好比我學習React,我會迅速看文檔,而後寫demo,最後我會本身《從零實現React》來內化它。

我還會按期作總結,寫文章,寫開源項目,作分享等,目的一方面是影響他人,另外一方面是成長本身。

持續學習

選擇了技術這條路,就要作好持續學習,每日精進的準備,跟上時代潮流是頗有必要的。

  • 日報週報。 你們能夠訂閱一些前端方面的日報週報,這方面其實有不少,這裏只推薦一個我常看的一個JavaScript週刊。我本身也出了一款《每日一薦》, 天天推薦一個優秀的開源項目,優秀文章, 週一到週五咱們不見不散。

  • 深度參與開源項目。 關於如何參與開源項目其實能夠另起一篇文章了,這裏再也不贅述,感性的話,我會再寫一篇文章,你們記得關注我就好。
  • 按期總結,技術輸出。 個人習慣是對於學習的內容按期和不按期地進行總結。 好比最近我在總結的[《leetcode題解》](如今有18k+ ✨了)(github.com/azl39798585…),《大前端面試寶典》

千萬不要以爲算法對前端不重要,算法,網絡,操做系統屬於基礎,從事相關工做的都應該認真學習,打好基礎才行。

關注我

你們能夠關注個人公衆號《腦洞前端》,公衆號後臺回覆「大前端」,拉你進《大前端面試寶典 - 圖解前端羣》。回覆「leetcode」,拉你進《leetcode題解交流羣》

最後祝你們在前端的路上越走越遠。

相關文章
相關標籤/搜索