个人前端开发
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