整体而言,前端的要求是对细节要求非常丰富。前端可能并不太需要工程师非常的smart,但是很需要积累。解决方案更偏重细节和对语言特性的理解,需要微观的考虑问题,相对后端来说更需要有一些折衷和权衡。
前端的技术更新换代快,设备层出不穷,所以要求开发者能够不断与时俱进,多追一下新技术新设备的潮流。同时,开发者要能有眼光,敢于付出时间成本,学习再学习。
从学习的层面来说,需要在以下方面逐渐提高个人能力:
- 掌握HTML基本标签(div, span, table, form, input, a, style, table, tr, td, meta..)和属性(id, class, name, value, float, , 事件属性),了解get和post的异同。掌握CSS中的重要属性,如布局属性margin, padding,位置属性position,显示属性display等等。了解HTML5带来的特性如animation等。
- 深入理解JavaScript的语言特性,如JS的类和对象,闭包,prototype等。因为脚本语言的模块化较差,维护成本高,故良好的设计和统一的规范显得非常重要。
- 面对浏览器兼容性,能够有能力找到浏览器的共性和不同,擅长用健壮的解决方案解决兼容性问题,通过定量分析(如浏览器的使用份额)做出产品功能性、实现优雅性和项目进度的抉择。
- 理解并掌握至少一门JavaScript library,新手不妨直接选择jQuery,简单而主流,熟练掌握library的dom selection, event handling,用jQuery的AJAX接口实现前后端通信。有余力的话,可以研习下引领潮流的Node.js。
- 从头到脚的完成一个独立域名的网站或网页,同样支持pc和mobile,有条件的话,了解CDN的工作。
- 深入理解client side latency的成因,能够分析出造成网站性能问题的瓶颈,擅长用行业通用方案(减少http数量,压缩下载文件的大小,lazy load,pre-cache)来解决延迟问题。能够使用数据即量化考量机制来监控网站的性能。
- 擅长借助Google和社区解决实际问题,尽量不要一次次的刷网页重试,在前端的世界里,严谨同样比猜测更重要。
- 紧追形势,培养对新设备,前端新型技术的热情。当看到一个发展方向的市场价值时可以投入课余时间,勇于做第一个吃螃蟹的人。
书籍方面,推荐:
CSS类:《精通CSS:高级Web标准解决方案(第2版)》
HTML类:
《HTML5移动应用开发入门经典》 (基础入门不错)
《HTML5移动Web开发实战》 (哈哈,我觉得较坑)
《JavaScript面向对象编程指南》
JAVASCRIPT类:
初级:
《javascript高级程序设计》 (俗称 高程3)
《javascript权威指南》(俗称 犀牛书)
《编写可维护的JavaScript》 (让你知道编辑风格的,需要看看)
《JavaScript语言精粹》 (入门很好)
中级:
《JavaScript启示录》(当来入门来看,可是入门者会觉得没意思,当你想深入js后再看,深入理解javascript)
高级:
《基于MVC的JavaScript Web富应用开发》
《JavaScript设计模式》
《JavaScript框架设计》
其它JS类:
《Node js开发指南》
《深入浅出node.js》
《node.js实战》
《深入浅出CoffeeScript》
转载请注明:陈童的博客 » 本科生如何系统地学习前端开发?