本科生如何系统地学习前端开发?

前端技术 everyinch 4663℃ 0评论

整体而言,前端的要求是对细节要求非常丰富。前端可能并不太需要工程师非常的smart,但是很需要积累。解决方案更偏重细节和对语言特性的理解,需要微观的考虑问题,相对后端来说更需要有一些折衷和权衡。

前端的技术更新换代快,设备层出不穷,所以要求开发者能够不断与时俱进,多追一下新技术新设备的潮流。同时,开发者要能有眼光,敢于付出时间成本,学习再学习。

从学习的层面来说,需要在以下方面逐渐提高个人能力:

  1. 掌握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等。
  2. 深入理解JavaScript的语言特性,如JS的类和对象,闭包,prototype等。因为脚本语言的模块化较差,维护成本高,故良好的设计和统一的规范显得非常重要。
  3. 面对浏览器兼容性,能够有能力找到浏览器的共性和不同,擅长用健壮的解决方案解决兼容性问题,通过定量分析(如浏览器的使用份额)做出产品功能性、实现优雅性和项目进度的抉择。
  4. 理解并掌握至少一门JavaScript library,新手不妨直接选择jQuery,简单而主流,熟练掌握library的dom selection, event handling,用jQuery的AJAX接口实现前后端通信。有余力的话,可以研习下引领潮流的Node.js。
  5. 从头到脚的完成一个独立域名的网站或网页,同样支持pc和mobile,有条件的话,了解CDN的工作。
  6. 深入理解client side latency的成因,能够分析出造成网站性能问题的瓶颈,擅长用行业通用方案(减少http数量,压缩下载文件的大小,lazy load,pre-cache)来解决延迟问题。能够使用数据即量化考量机制来监控网站的性能。
  7. 擅长借助Google和社区解决实际问题,尽量不要一次次的刷网页重试,在前端的世界里,严谨同样比猜测更重要。
  8. 紧追形势,培养对新设备,前端新型技术的热情。当看到一个发展方向的市场价值时可以投入课余时间,勇于做第一个吃螃蟹的人。

书籍方面,推荐:

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》

分享&收藏

转载请注明:陈童的博客 » 本科生如何系统地学习前端开发?

喜欢 (2)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 文章写的很好,支持一下
    朱海涛自媒体2015-09-02 15:37 回复
  2. [偷笑]
    雪鹰领主小说2015-09-06 15:30 回复
'; } if( dopt('d_footcode_b') ) echo dopt('d_footcode'); ?>