個人前端開發
web開發分爲先後,做爲一個後端工程師,或者是前端小白,前端的開發可能會很頭疼。
一路走來,坎坎坷坷,好在升級打怪仍是會遺留一些經驗的,記錄下現代前端開發的經驗。css
黑暗時代的前端開發
在這個時代,前端開發的流程多是這樣的:html
- 寫各類html、css、js
- 跑到各類前端模塊網站上手動下載各類庫
- 一遍遍刷新瀏覽器,查看效果
- 最終壓縮各類靜態文件
問題
- html代碼重複,例如對於一個header和footer極有可能違反DRY,
後期維護的時候絕對會是鎮痛
- 沒法實時查看效果,須要手動刷新,就像某些蛋疼的java服務器,寫個api不能自動加載
須要手動重啓,一個小時調不了幾個bug(Life is too short,please use python).
- 壓縮這個事情不少人是不會去作的。
- 代碼的模塊性不好,jquery確實靈活,不過期間長了以後代碼就會雜草叢生,尤爲是有
別人接管你的代碼的時候,極有可能看不懂,而後重構,這也就是爲何前端會出現各類
MVC框架的緣由
現代前端開發
這個時代已經不是刀耕火種的年代了。前端
首先說說MVC
MVC在後端已經出現N多年了,前端如今也有出現,可是前端是否是要用MVC這種
東西是有待商榷的,我的的體會是,若是你的項目很小,只有 你1~2個工程師
維護的時候,不須要用MVC框架,緣由很簡單,學習成本,時間是寶貴的,學習成本
絕對是硬傷,例如你選擇Backbone Angular的時候,陡峭的學習曲線不單單會影響
你本身,之後新人在用你項目的時候也會經歷這個痛苦。java
MVC的優勢,貌似這個就不用說了,一搜一大片。python
個人實踐
github上有不少優秀的開源項目,前端的工具也有不少,善用工具,善用優秀庫jquery
我brunch的一個腳手架項目,https://github.com/duoduo369/simple
check到不一樣分支使用,或者直接download releasegit
- 使用coffee寫js,coffee會幫你避開js裏面的各類血坑,使用相似python的語法
- 使用html、css模板引擎,可讓你少寫不少字母
html我選擇的是jade, 可使用include的語法,幫你減小DRY的可能性
css我選擇stylus
- 使用構建工具,我使用的是brunch,npm,bower
brunch解決黑暗時代一遍一遍手動刷新,以及自動引擎coffee,jade,編譯
bower使得js、css庫的安裝方式變的異常簡單
npm相似bower
- bootstrap或者purecss(YUI),我的傾向於使用purecss(IE7+),IE6須要你本身手寫css
- 若是不用MVC,對js又不是很懂的話可使用zarkfx,絕對節省你的開發時間,
zarkfx可使用brunch + jade的 具體能夠參考我simple項目的br-coffee-jade分支
- 若是使用MVC,backbone + chaplin or angular選一個吧,注意MVC裏面的限制,
例如使用MVC後他們有本身的驅動機制,對DOM操做都有限制,尤爲是不能使用
zarkfx,這點很是討厭
記住,總會有辦法解決重複的操做,提升你的開發效率的,使用工具,進行現代的web開發。github
實戰 backbone | chaplin | coffee tutotial實現web
ps: 這裏可能有你須要的東西 http://duoduo369.github.io/skill_issues/npm