1 重複讀了兩本經典的前端書籍:《Javascript高級程序設計》、《CSS權威指南》,基礎知識獲得了鞏固javascript
02 換了一個工做,通過一輪業務開發,進入框架組,開始全站基礎框架開發 css
03 工做中逐漸接手框架核心業務,面向對象思惟,框架思惟,設計思想逐漸獲得薰陶 前端
04 研究webapp模式的框架,接觸並解決移動端各類各樣難題,如300ms延遲,點透、層級管理、兼容性,渲染問題...... java
05 源碼學習,包括:zepto、Backbone、underscore、requireJS、Fastclick、IScroll...... node
06 公司業務產生井噴效應,業務快速發展,全站CSS文件三易其手,框架龐大化、複雜化,公司架構變化,由無線框架組轉戰公司框架組 jquery
07 框架積重難返,要作優化不易,思考以前所學,由工做總結出輕量級webapp框架blade,並再上作大量優化 android
08 框架變慢,維護成本變高,團隊開始框架升級,將blade的優化成果從新迴歸框架 ios
09 開始全站優化,與幾位老大哥優化框架,框架尺寸降低1/3,框架結構清晰 git
10 開始全站樣式遷移,分拆CSS入各個UI,引入shadow dom技術,梳理全站樣式,樣式文件尺寸降低一半 程序員
11 過程當中寫了接近200篇博客;而後接觸了不少高手,如Aaron、OD、左盟主、周文斌、結衣等
因此,在接近兩年的時間裏,我以爲我勉強能算得上優秀的前端技術人員了,個人第一個計劃算是實現了吧?溫故而知新,因而第二輪的計劃也要開始了
後兩年計劃,成爲一個合格的架構師,因此15年的計劃是:
① 全站優化整理總結
② web components研究
③ 正則、nodejs
④ 架構思想、文檔水平學習提高
⑤ webapp框架再研究,pad方案、seo方案研究
⑥ 移動端調試工具研究
⑦ 深化重構思想、深化面向對象思想、深化工程思惟
⑧ 擴大視野
第三個階段固然是讀源碼了,必定要讀源碼,並且必須好好讀!!!這裏尤爲推薦讀本身熟悉而且不太包含思想的源碼
好比我上個星期看了下backbone就搞得莫名其妙的,緣由是沒有用過,這裏推薦幾個庫:
Zepto
zepto與jquery相似,說白了就是借鑑,可是zepto非常輕便,讀起來輕鬆,可是首次讀如果沒有半個月的話基本就是沒讀(不考慮神人)
由於工做後不多專門有時間去讀源碼,讀的時候要細細的讀,看不懂的地方就反覆看,慢慢的就所有清晰了
zepto讀完後,整個js的水平會看似上升一大截,這個時候再加緊來點經驗就穩穩的前端入門了
第二個推薦的庫是underscore,這個庫比zepto還要簡單,建議好好讀下,務必讀明白,不要不懂裝懂
如果有移動端編程經驗的朋友,建議好好的讀下這個庫,寫的很是不錯,完了後會讓你對移動端的事件兼容有深刻的理解
與Fastclick相似的庫
初級程序員讀以上幾個庫就差很少了,並且建議花一到兩個月詳細的研究一個庫,而且將裏面的思想用於項目中去,這樣才能真正的吸取
讀源碼不是看熱鬧,看熱鬧會一問三不知
本身學習前段也接近一年了 可是效率比較低,但願經過這些計劃來 一步步增強本身的學習。
1.看書是最好的途徑 不在多 在於精反覆閱讀 JavaScript高級程序設計 和 css揭祕(最新出版的css祕籍)
2.因爲本身反覆了學習原生js的知識 可是缺乏實踐。因此增強js的練習。
3.jquery是本身最常使用的 庫。經過jquery庫來實踐出更多的功能 一來更加熟練使用jquery 二來增長本身的編程感受
4.開始仔細學習h5 的新知識 固然最主要的仍是js的能力 因此閱讀幾個js源碼。 underscore zepto fastclick backbone 反覆仔細的研究 對提高你的js頗有幫助
高手行列(取自葉小釵葉老師的博客)
以上幾個階段結束後,就能夠去外面看看本身的斤兩了,真的作到以上的朋友,基本是面幾個有幾個了,真正的瓶頸就出如今大公司了
這個時候又到了另一個階段:
① 深度-細節點
② 廣度-知識面
以細節點來講,真正的高手一個javascript事件機制就能夠問的多數人啞口無言:
① javascript綁定事件的方式
② javascript事件對象
③ 自定義事件
④ 如何觸發自定義事件
⑤ zepto/jquery事件機制
⑥ 解決移動端300ms延遲
⑦ ios android事件差別
⑧ 事件冒泡/捕獲機制以及鬼點擊
⑨ javascript事件底層實現......
以CSS來講,一個position就夠了
① Position的各類屬性值
② 行內元素塊級元素
③ 行高問題
④ fixed在移動端的問題
⑤ 由fixed引導至viewport
⑥ 縮放等等問題......
因此,javascript真正的高手對這些把握是很細的,不是所有都會,但不可能所有都不會。這裏可能會有朋友提出學院派以及實幹派的想法
其實個人道友Aaron就是真正的實幹派,徹底白手起家,他就確定知道這些問題,至少七七八八
因此深度必定要有,並且是慢慢積累的,不信看正美那700篇博客吧,有了深度再提廣度,否則你的廣度就不值錢
深度完了就是廣度,光有深度還不夠還得有廣度,廣度表明業務能力,表明工做水平
① nodejs
② 打包工具
③ H5嵌入APP
④ 移動端調試工具(如何在手機console,如何在頁面上調試手機程序)
⑤ 壓縮工具
⑥ 項目管理工具(git/svn)
⑦ 各類開源框架
這些都是廣度的體現,優秀的人不僅是知識穩固,並且還能推進團隊使用新技術,帶給團隊不同的感受
前端知識點繁雜,毫不止局外人看見的那麼點
如果你發現各個大公司想去就去,offer拿到手軟了,那麼恭喜你,你成爲了中級程序員了!!!!