前端開發應該怎么學(含CSS布局練習源碼)

題圖

1. 價值

我是一個對后端有一定經驗的程序員,一直從事相關的工作,不過我對前端也挺感興趣的,總想學點前端的技術,做點東西來玩玩,比如做個寫周報的頁面,這樣就不需要花時間去整理周報內容;再比如利用這些知識定制開源的監控頁面,讓它更貼近我們的需求,或者利用前端做一些運維自動化工作。當然目前想到的這些對自身的改變都不大,無非是多學習一種程序語言,但我心里一直篤信,如果能夠同時掌握前端技術,對我整個人的價值提升是無法想象的。

前后端原本是不分家的,一個公司剛開始的時候,不管前端還是后端代碼,應該是一個人,或少數幾個人一起做出來的,只是隨著公司發展過程中管理的需要和分工協作的原因,前后端分離這件事才越來越明顯,導致現在許多人一進入公司,就只會做前端,或另一部分只會做后端,而且保持十幾年不變,在我看來,作為一個后端程序員,如果不了解前端,屬于技能上的缺失,不僅無法獨立完成一個完整的產品,而且在思維上不會站在前端程序員的位置上思考,即將來如果成為一個系統設計師,設計出來的軟件也很有可能存在缺陷,反之亦然。這也是為什么整個行業越來越鼓吹全棧工程師,這個概念并不是虛幻不實際的,而是企業對人才的一種實實在在的需求,即人們常說的復合人才的一種,全棧工程師對于一個企業來說價值巨大。

2. 失敗經歷

我學習前端開發斷斷續續也有幾年時間,總是想著自己有不錯的基礎,應該不費吹灰之力就可以學會,有一兩次還做了些計劃,例如每天跟著w3school學半個小時,相信自己十幾天之內就可以掌握,但一方面因為自己工作比較忙,另一方面因為計劃不太實際,沒有收到相應的成效,最終都以從入門到放棄告終。最近花了些時間學習學習的方法,再次總結之前的失敗原因,發現以前失敗主要是因為自己的重視程度不高,加上前端技術棧確實龐大,如果隨隨便便就可以學到的技能,那其實本身它的含金量就不高;學習任何一個新技能都應該注重它的學習過程,首先要分析這個技能的主要框架,然后針對框架的每一個知識點,做大量的實踐及練習,這樣你才能夠’快速’學會一門新技能。

曾經有過這樣的經驗,公司要開發一個云存儲系統,為了完成這個需求,我引進了一個開源的云存儲項目,并將其進行修改,讓它符合公司的需求,這個開源的項目自帶一些運維可視化的工具,是用AngularJs和BootStrap做成的,當時我也花了些時間看懂了這些代碼,以為自己以后就會使用這些技術來做可視化了;但真正要開發新的項目時,我并不能很快利用AngularJs和BootStrap為我所用,即便花很多時間做得和以前一模一樣,我也很難在上面添磚加瓦,或做得比以前更好。根本原因在于我沒有了解前端開發的全貌,不知道某些技術的主要用途是怎樣的,只看代碼而不實踐也是無法讓技術成為自身技能的。

3. 領悟

直到最近,我在github上發現了free code camp社區,全世界最大的學習前端開發的社區,我同時也鼓勵零基礎的老婆在上面學習,希望有一天她可以通過學習一門編程語言體會到成長的樂趣。在fcc中國社區,作為自愿者,給他們翻譯了幾篇前端學習的入門文章:

  1. Things you probably didn’t know you could do with Chrome’s Developer Console
  2. I finally made sense of front end build tools. You can, too.
  3. From Zero to Front-end Hero (Part 1)
  4. From Zero to Front-end Hero (Part 2)

在翻譯的過程中,其實對我幫助比較大的是英語能力的提升,讓我專門騰出時間來利用英語進行翻譯工作。其中最后兩個翻譯的文章,是點擊量最多的,反映了翻譯水平比以前有了提升,同時這兩篇本身質量也非常高。其原因在于文章給初學者規劃出了一個版圖,讀者拿著這個版圖,對每個版圖分別進行實踐,就可以把其中的知識據為己有,注意,如果你只看文章而不實踐,是沒有用的,知識不會因為你看了文章而自動鉆到你的腦袋里。

所以,說到這里,最佳的學習前端的方式是實踐,而最佳的實踐其實文章中已經說了:依葫蘆畫瓢,即把例子原封不動的克隆一遍。當然盡量不要ctrlC + ctrlV。

From Zero to Front-end Hero系列真的不錯,我現在已經按照文中的路線在練習,從布局開始,已經學會了基本的布局方式,以及知道了平時看到的一些交互式頁面,其實是通過CSS的技術做出來的,例如Media Query技術可以自動適應pc瀏覽器和移動端瀏覽器。關于布局的練習,我把它保留在了我自己的CodePen中,里面都有源碼,還等什么,趕緊動手把,相信你也可以做到,原布局練習教程在這里

本文沒有提到科學上網、英語能力等,這些不是必要的,但它們確實會帶來很大的幫助。

希望本文可以給你帶來幫助,如果你喜歡這篇文章,可以將其分享到社交網絡中,如果你有任何問題,可以在文章后留言,或者通過社交網站找到我。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容