前段時間,公司來了個做前端的實習生,領導讓我給她講講前端方面的技術學習階段。回想自己接觸前端也就1年多點,其實也沒什么的經驗,但作為組內唯一會前端的開發人員,還是將自己接觸的前端技術整理了一下,吧唧吧唧的給妹子講了一個多小時。先看圖吧,畢生的前端功力都在圖上了。
基礎階段
基礎階段是最重要的一個階段,猶記得高中化學老師的的名言:基礎不牢,必然地動山搖。主要包括HTML,CSS,JavaScript三個方面的基礎知識。HTML要了解標簽的使用,行級元素,塊級元素等等,還有了解HTML新的一些語義標簽,記住就行了。CSS這塊分為幾大類:字體、顏色、背景、定位、動畫等等,孰能生巧。在網頁中HTML構建網頁的骨架,CSS用于美化網頁。JavaScript就負責網頁的行為了,如動畫效果,DOM操作,BOM操作,http請求等。JavaScript是需要好好學的,畢竟它已經從存粹的前端語言進化到可以開發服務端的語言了。當時我是在w3cschool和慕課網上面學的,多看看就記住了。
在學習基礎知識的時候,要多加練習,學會使用開發工具,瀏覽器的調試工具來查看寫的demo例子。同時要積累網頁布局,css樣式標記,問題定位和解決等基本的技能。最好的學習方式莫過于模仿,可以嘗試模仿一些比較復雜的頁面,能夠很快的熟悉各方面的基礎知識。經常看看別人的頁面是怎么布的局,樣式是怎么寫的,有什么技巧等。當時的極客學院的網頁布局特別好看,包含的類型也很多,我就模仿了一下,也養成了經常看別人網頁源碼的習慣。
基礎階段就這么多,會了這些基本上算是入了前端的門。大二的時候在一家公司實習做網頁的時候,我的前端基本上就在這個水平上吧。
框架階段
做前端的,再怎么也得會幾個框架吧,我剛學前端的那會,Bootstrap,JQuery這些框架特別火,很多招聘內容里面都寫的要求會這這些框架的。在現在這個公司做的第一個前端項目就是寫一些工具展示類的頁面。當時就用Bootstrap+Jquery+eharts+ThinkPHP等框架進行開發。框架基本上都是邊學邊用,不會的就多查查官方文檔。
有了幾個熟練使用的框架之后,以為前端的技術發展基本上到此結束了,但是nodejs開發,mvvc框架逐漸的火起來了。各種新的前端技術也都冒出來了,你方唱罷,我方登場。自己創造不了潮流,就跟著潮流走咯。在mac上搭建好node環境、學習node開發環境、包管理、學習nodejs框架express、學習2016年很火的Vue框架等等,基本上每天都徜徉在新的知識的海洋里。
這時公司做一個股票研究的web平臺的原型系統,各種圖表組合啥的,都是數據驅動,用jquery寫簡直就是要逼瘋人,就使用了Vue+Larvavel來開發。開始學習Vue是很痛苦的過程,舊的前端開發思維已經根深蒂固了,要轉變很難,那些日子,不斷看es6,看vue文檔,看demo,學習新的特性等等。一個好的前端框架,會形成一個技術的生態系統。于是只學習了Vue還是不行,還有Vue-router,vuex,vue-resource等等Vue全家桶。經過痛苦的前端技術轉型,我已逐漸適應新的前端開發模式。現在做的一些網站,如內部的mongo的數據監控、項目管理網站等等都是采用Vue寫的,我覺得比之前簡單多了。
由人為驅動到數據驅動,是一次前端開發思維的轉變。經過框架階段的洗禮,我已能自如的對待新技術的變化,并為自己所用。由于前端開發已經不再是我的主業,因此我的前端技術水平基本上停留在這個水平上,但是可視化已經應用在工作的各個方面,如數據監控等。
提升階段
其實提升階段穿插在上面的兩個階段之間,主要涉及到后臺方面的知識。前端與后端主要是數據的交互,現在講究前后端分離,但是還是很有必要會寫后端的,不會寫后端的前端不是一個好前端吧。最開始當時是學習世界上最好的語言—PHP咯,簡單,快捷,基礎知識一天就會。然后就是學會使用PHP框架。我最先學習的就是ThinkPHP,一個MVC的PHP框架,在我的三個項目中運用到了它,因此我對他也最熟悉。我不去評價它好不好,只能說開發特別快速就夠了,如果想更高級一點的就學習Lavravel吧,一個藝術的、優雅的框架。我女朋友看到這句話都笑了,我只能說文科生不懂理科生的浪漫吧。
Linux的基本操作,如文件,網絡,軟件安裝等是必須要學會的,不然就只會開發網站不會部署。apache和nignx都得了解,如何配置,啟動等。會最基本的操作后就可以將開發好的網站部署上去,供別人訪問了。開發的目的不就在于此嘛!然后要學習如何去優化網站的性能,提高網站的加載性能,并發性能,可用性等等,這相當于在做運維工作吧。
提升階段在于提高自己的綜合能力,擴展自己的技術范圍,提高競爭力,不要做只是一個會寫前端的人。我的每一次提升都是項目驅動的,需要用到什么就去學什么,然后匯集在一起就成了我的前端之路啦。做項目是檢驗,提升自己能力的最好機會吧。
總結
我學前端是從2015年下半年的時候開始學習前端開發技術,那時我大三上,處于人生的一個迷茫期,一直猶豫以后應該從事什么的技術開發。之前我學習過android開發,也給別人做過一點安卓開發。之后陰差陽錯的參加了一個php的全棧工程師培訓,聽了三分之一的課就沒聽了,從此走向了前端的不歸路。到2016年底陸陸續續的開發了4、5個網站項目吧。走過了三個階段,應該可以說是一個合格的前端開發人員吧。
2017年開始,前端開發已經不是我的主業了,但這些技能已經成為了我的一個利器,我在一些項目中進行了運用前端技術,如數據監控等,處理完數據后,做出網頁可視化,自定義查詢,來減少每次需要數據方面的信息就得手動去查詢,然后使用excel做圖的時間,提高了工作效率。
前端之路并未停止,新的技術還會不斷涌現,隨時保持一顆探索嘗試的心。