前端开发工程师必读书籍有哪些值得推荐?¶
统计信息:字数 24426 阅读49分钟
https://www.zhihu.com/question/48510028
1、HTML/HTML5基础:
1.0、语义化H5标签
1.1、H5引进了一些新的标签,特别注意article、header、footer、aside、nav等,注意HTML的标题结构
1.2、理解浏览器解析HTML的过程,理解DOM的树形结构,及相应API
1.3、理解HTML标签在各个浏览器上的默认样式(代理样式),理解CSS中的重置样式表的概念
1.4、理解Canvas、SVG、video等功能性标签
1.5、理解form、iframe标签,理解文件提交过程
推荐书籍: A、《HTML5秘籍》
2、高健壮性CSS
2.1、学习基础知识,包括大部分常用属性、选择器的用法,要对大多数标签有个基础概念,在日常使用的基础上,尝试学习浏览器兼容性问题,要知道兼容性的主要问题及解决方法
2.2、深入理解盒子模型,区分块级元素、行内元素,有几个比较重要的属性:display、float、position,一定要弄清楚区分盒子、行内盒子的概念另外可以考虑学一些预编译语言:sass、less,都很简单
2.3、学习常用框架,可以使用bootstrap构建项目
2.4、学习框架的代码组织方式包括:12格栅系统、组件化、组件的风格化等
2.5、学习CSS 3的新功能,特别是动画效果、选择器
2.6、认真学习一些CSS对象化思想,学习编写简洁性、高复用性、高健壮性的CSS
2.7、有空的话,可以看看所谓的扁平化设计,还有简洁性
2.8、理解CSSOM、render、reflow、CSS性能、CSS阻塞概念
学习方法:
1、多看别人的代码,一些设计的不错的网站就是很好的学习素材,比如拉勾网
2、一定要学会使用grunt、gulp压缩CSS
3、display + position + float 可以组合出很复杂的效果,多想想盒子模型
4、尝试在不用float,且position不为absolute的情况下实现等高、等宽等布局
推荐书籍:
1、《图灵程序设计丛书:HTML5与CSS3设计模式》
2、《Web开发技术丛书:深入理解Bootstrap》
3、《高流量网站CSS开发技术》
4、《CSS设计彻底研究》 这个一定要
5、《Web开发技术丛书:深入理解Bootstrap》
6、可以找一些专门讲SASS的书,但是我没找到
7、《CSS权威指南(第3版)》
3、深入学习JS
3.1、重新学习JS语法,注意:表达式(特别是函数访问表达式)、语句、类型(包括类型判断)注意,这个时候主要倾向于“原生”JS哦,不要使用框架
3.2、深入理解JS的“一级函数”、对象、类的概念,学会使用函数来构造类、闭包,学会用面向对象的方式组织代码
3.3、深入理解JS的作用域、作用域链、this对象(在各种调用形式中,this的指向)理解函数的各种调用方法(call、apply、bind等)
3.4、理解对象、数组的概念 理解对象的“[]”调用,理解对象是一种“特殊数组” 理解for语句的用法 深入理解JS中原始值、包装对象的概念(重要)
3.5、学习一些常用框架的使用方法,包括:JQUERY、underscore、EXTJS,加分点有:backbone、angularjs、ejs、jade 通过比较多个框架的使用方法,想清楚“JS语言极其灵活”这一事实 总结常见用法,提高学习速度 学习模块化开发(使用require.js、sea.js等)
3.6、适当看一些著名框架的源码,比如jQuery(不建议看angularjs,太复杂了) 重要的是学习框架中代码的组织形式,即设计模式
3.7、了解JS解释、运行过程,理解JS的单线程概念 深入理解JS事件、异步、阻塞概念
3.8、理解浏览器组成部件,理解V8的概念 学习V8的解释-运行过程 在V8基础上,学会如何提高JS性能 学会使用chrome的profile进行内存泄露分析
学习方法:
1、提高对自己的要求,要有代码洁癖
2、适当的时候看看优秀框架的源码,特别是框架的架构模式、设计模式
3、多学学设计模式
4、学习原生JS、DOM、BOM、Ajax
推荐书籍:
1、《O’Reilly精品图书系列:JavaScript权威指南(第6版)》 必看
2、《JavaScript设计模式》
3、《WebKit技术内幕》
4、《JavaScript框架高级编程:应用Prototype YUI Ext JS Dojo MooTools》
5、《用AngularJS开发下一代Web应用》
6、跨终端
6.1、理解混合APP的概念
6.2、理解网页在各类终端上的表现
6.3、理解网页与原生app的区同,重在约束
6.4、理解单页网站,特别要规避页面的内存泄露问题
6.5、入门nodejs,对其有个基础概念,知道它能做什么,缺点是什么
推荐书籍:
1、《单页Web应用:JavaScript从前端到后端 》
2、《Web 2.0界面设计模式》
3、《响应式Web设计:HTML5和CSS3实战》
5、工具
学会使用grunt进行JS、CSS、HTML 压缩,特别是模块化js开发时候的压缩
会用PS进行切图、保存icon
入手sublime、webstorm
学会使用chrome调试面板,特别是:console、network、profile、element
进阶:
4、性能
1.1、理解资源加载的过程 包括:TCP握手连接、HTTP请求报文、HTTP回复报文
1.2、理解资源加载的性能约束,包括:TCP连接限制、TCP慢启动
1.3、理解CSS文件、JS文件压缩,理解不同文件放在页面不同位置后对性能的影响
1.4、理解CDN加速
1.5、学会使用HTTP头控制资源缓存,理解cache-control、expire、max-age、ETag对缓存的影响
1.6、深入理解浏览器的render过程
推荐书籍:
1、《Web性能权威指南》
2、雅虎网站页面性能优化的34条黄金守则
5、HTTP及TCP协议族
2.1、学习http协议,理解http请求-响应模式
2.2、理解http是应用层协议,它是构建在TCP/IP协议上的
2.3、理解http报文(请求-响应报文)
2.4、理解http代理、缓存、网关等概念,指定如何控制缓存
2.5、理解http协议内容,包括:状态码、http头、长连接(http1.1)
2.6、学习http服务器的工作模型,对静态文件、CGI、DHTML的处理流程有个大致概念
推荐书籍:
1、《HTTP权威指南》
2、《TCP/IP详解》
3、《图解TCP/IP(第5版)》
更多前端书籍推荐: 《JavaScript半知半解》 《Web开发实战》
一、《JavaScript半知半解》
为什么写这本书?因为之前作者在博客上洋洋洒洒地将之前学习JavaScript的笔记整理了出来,一共17篇,感觉查找和翻阅还是不方便,所以产生了编辑成电子书的念头,一来方便作者个人查找,二来方便后续内容的补充,三来也方便喜欢JavaScript的伙伴们阅读。书籍阅读地址:《JavaScript半知半解》大纲
二、《Web开发实战》
书籍阅读地址:《Web开发实战》为什么写这本书?网上的插件虽多,但大多数并没有深究到原理,故而产生了写一本前端实例的书籍。主要是为了想深入学习的伙伴们,书上的内容也许不是最优秀的,但会一步步讲解,会告诉你每一步的原理,让你学习后也可以自己造轮子!大纲《Web开发实战》集合了大量的前端开发案例,目前主要选择日常开发中会用到的加入本书,分为四部分:CSS实战篇、JavaScript实战篇、Canvas实战篇和移动实战篇。阿里云云栖社区,汇集阿里技术精粹,点此关注(文字链接地址:https://www.zhihu.com/org/a-li-yun-yun-qi-she-qu-48/activities)
贴一个自己前几天总结的前端书评,js,css,nodejs,基本上是按照由浅入深来排的。 原文地址:我的前端书评 下面是正文: ------------------------------------------------------------------------------ 2014年一月以来,自己接触web前端开发已经两年多了,记录一下自己前端学习路上看过的,以及道听途说的一些书,基本上按照由浅入深来介绍。
**JavaScript
**
**入门
**《JavaScript权威指南(第六版)》 ★★★★★ 淘宝前端团队翻译的,看译者列表都是一堆大神。这本书又叫犀牛书,号称javascript开发者的圣经,网上对此书评价很多,大概意思都是说这本书是一本JavaScript文档手册,没有完整看过一遍此书的都不能算是一名合格的前端工程师。 我也是从这本书开始接触前端开发的,当时还是华章出版社的校园大使,免费申请到了这本书,可惜的是两年来我一直把它作为一本cookbook来查阅,一直没有好好通读一遍。个人感觉这本书还是写得枯燥了些,不过内容绝对是五颗星,无可挑剔!
《JavaScript高级程序设计》 ★★★★★! 又称红宝书,雅虎首席前端架构师,YUI的作者Zakas出品。虽然书名带了“高级”二字,但是讲得也很基础,而且行文风格很流畅,每一小节就像是一篇博客,读起来并不枯燥,个人感觉比上面那本犀牛书可读性更强。说到这里,也推荐大家多多关注作者的博客:NCZOnline - The official website of Nicholas C. Zakas ,上面也有许多高质量的博文。感觉这本书就像是作者平时的博文按照前端知识体系组织成了一本技术书。
《JavaScript DOM编程艺术》! 作为初学者如果觉得上面两本书作为入门书来说太厚了,也可以看看这本,不厚,评价也很高,但是由于本人没看过,就不作过多评价了。
《JavaScript编程精解》 ★★★★ 用上下班时间看完的第三本书。看起来比较吃力,第五章函数式编程和第六章的面向对象编程很多都没看懂。全书游戏式的编程教程还是很有意思的。译者tom大叔名头很大,翻译的质量也只是中规中矩吧。不过,还是get到很多技巧!这本书的推荐语说这本书用来入门很好,但是个人认为初学者并不合适看这本书入门,作者在代码示例中不自觉得使用了一些高级用法,初学者看容易晕菜。听说最近出了第二版,加入了NodeJS的内容,这本书是开源的:Eloquent JavaScript
《JQuery权威指南》 ★★★ 当时在北京实习时,在每天下班回家的地铁上把这本书看完了。错误很多啊,不过其中的语法+示例的形式,确实很适合初学者。但是错误实在太多了,而且有些语句还不通顺,看着很累啊,只能说写得好代码的人,书不一定写得好。
《ECMAScript6入门》 ★★★★ 前端工程师当然要关注ECMAScript的发展。阮老师的这本科普小书!短小精悍,通俗易懂。这本书也是开源的:ECMAScript 6入门
**进阶
**《编写可维护的JavaScript》 ★★★★ 又一本Zakas的书,还没读完,基本上是zakas那本红宝书的子集,重点是javascript代码风格、规范以及最佳实践。
《JavaScript异步编程》 ★★★★ 掌握异步编程,显然是一位JS开发者必备的技能,用多看的畅读优惠看完了这本介绍js异步编程的科普小书,书中介绍了js异步编程的概念、场景和工具,不过更重要的是把这些工具给用起来。
《JavaScript设计模式》 ★★★ 作者似乎很偏爱JQuery的源码,不过这本书tom大叔翻译的很烂,代码也很多没有缩进。。。 不推荐。
《Effective JavaScript》 ★★★★ 这本书我当时看到最后一章“并发”的部分就很吃力了,显然这是一本进阶的js书籍,还是先把那本权威指南啃完吧!听说这本书上的技巧对于IE6有很好的优化效果,不过显然书上提到的这些技巧肯定已经大量的运用到JQuery、Underscore这样流行的JS库中,这些第三方库已经帮我们把这些优化细节封装得很好了。
《JAVASCRIPT语言精髓与编程实践》 一本讲JavaScript的硬书,以JavaScript这门语言为栗子,讲述编程语言的特性(动态语言、函数式编程、面向对象编程等等)。作者周爱民老师是前支付宝架构师,现豌豆荚架构师。
《高性能JavaScript》 Zakas大神的又一本神书,高工推荐的。 最近开始看《You dont know JS》了,看了个开头,感觉也很不错!
**《Head First HTML与CSS、XHTML(中文版)》
进阶
《CSS权威指南(第三版)》 虽然是一本老书,但是CSS 2.1是基础
《精通CSS(第2版)》 好吧!以上三本书,我都没看过。。。
网络协议 & 架构
**《HTTP权威指南》 ★★★★★ 涉及web开发的前端、后台、运维的同学都可以看看。web应用架构师必看。其中对其中“缓存”、“负载均衡“等章节印象很深,标准的教科书啊,肯定比看枯燥的HTTP规范好多了。
《Web性能权威指南》 Google工程师教你优化web性能,刚看了个开头,高工推荐,听说讲得比较深。
《大型网站技术架构》 ★★★★ 网站架构入门科普。刚刚看完,写得挺好的,通俗易懂。开篇就明义:“大型网站是演化出来的,而不是设计出来的。”其中负载均衡那一节,基本上是参考的《HTTP权威指南》负载均衡的内容。
NodeJS
入门
《了不起的Node.js》 ★★★ 作为NodeJS入门挺好的一本书,可惜讲得太浅了,基本上就是介绍开发一个简单的NodeJS应用所要用到的一些技术和工具,对里面的原理以及NodeJS本身没有做太多的介绍,停留在介绍第三方库及其API的阶段。
《Node.js开发指南》 读了一半,就是看这本书理解了NodeJS的事件循环。作者是大神啊。进阶
《深入浅出Node.js》 很出名的一本书,对NodeJS的一些原理做了深入介绍,挺不错的,还没看完。用户体验 & 产品
《点石成金》 ★★★★ 恰好读过第二版和第三版,第三版中添加了mobile web的内容,并且更新和添加了一些新例子,总得来说,我更喜欢第二版的精简。ponyma曾经推荐过的好书。
《结网@改变世界的互联网产品经理》 ★★★★ 这本书读了挺久。用产品开发过程中的实际案例介绍了产品经理的工作内容以及如何开展工作。并从创建产品和个人修炼两个方面描述了需求分析,产品设计,项目管理,产品运营,产品经理的沟通能力以及个人和团队的创新能力等等,附录的推荐书目和工具质量也很高!作者是前腾讯产品经理,糗事百科的创始人,不过好像在知乎上因为创始人股权纠纷的问题,被黑臭了。。。
跟个人有交集的前端书籍:
-
《javaScript DOM 编程艺术》推荐 3 (比较基础,小白入门的话推荐,有基础的话不推荐)
-
《css 权威指南》推荐 2 (书是好书,看了忘了的工具书,写样式谷歌更高效)
-
《css 揭秘》 推荐 5 (不是css入门书籍,css提升必备,最棒的css工具书,css魔法)
-
《JavaScript 语言精粹》 推荐4 (有经验的js可以看看,个人没有get到传说中的惊艳,加深理解)
-
《*JavaScript 高级程序设计*》 推荐 5 (最权威的js入门书籍,不要被名字吓到)
-
《JavaScript 权威指南 (第 6 版)》推荐 4 ( 入门刚入门都不推荐,个人的枕头书,讲的挺全面的可读性不高,提升的话应该要看吧,头看大了还没看完)
-
《*你不知道的 JavaScript 上卷*》推荐5 (强烈推荐,刷新对js的看法,语言精粹的配合着看,明明白白的理解原型链不需要工作5年后还不懂)
-
《高性能 JavaScript 》推荐4 (提升必备吧,个人感觉,有些实践经常遇到)
-
《JavaScript 设计模式》 推荐4 (提升必备,设计模式是开发中的最佳实践,常看常新,我看的是张荣铭的那本,无论那本js设计模式书都可以的,想起来内容以情景对话的方式对我来说不是很友好,叙述方式个人不喜欢但是不影响内核5分)
-
《图解HTTP》 推荐3 (入门可以,简单有趣,提升不推荐)
-
《*深入浅出 Node.js*》推荐5 (强烈推荐,国人书精品,也有通病讲的比较深入但是知识点比较分散不系统像个博客集,有js基础看的比较过瘾,基础不好的话不知道能吸收多少)
-
《Node.js 实战》推荐3 (不推荐,书出的比较早实例也烂大街,一些实践已经有更好的替代模块了,没有后端基础的话可以看看)
13.《HTML5 权威指南》推荐3 (书是好书,适合入门,有前端基础的话推荐MDN效率更高,一点基础没有的话抓不到主次适合泛读,没时间看的话不推荐本书,提升没有帮助)
-
《深入React技术栈》(没看完 ... )
-
《http权威指南》 推荐 5 (强烈推荐,内容稍微有点老,但是内容比较全面,协议,URL,代理,缓存,爬虫,cookie, 认证,负载均衡等等,看完绝对物超所值)
-
《深入理解ES6》推荐5 (强烈推荐,内容不多,相对于es6零散的入门博客文章来说,更加系统的介绍ES6的新特性)
-
《Three.js开发指南》推荐3 (不做3d可视化不推荐购买,我自己没看完,看文档也差不多水平)
-
《精通css》推荐0 (书比较陈旧,新的特性比较少,看w3cSchool就够了,入门也不用看,当年确实是好书)
-
《javaScript 忍者秘籍 第2版》 推荐5 (强烈推荐,对js底层进行深入讲解,知其然知其所以然)
-
《web性能权威指南》推荐4 (暂时不需要网络性能极致优化暂时缓缓,入门那会没看懂,提升推荐)
-
《锋利的JQ》推荐1 (jQuery,Zepto前两年用的还挺多的,Bootstrap5即将移除对jquery的依赖,感兴趣的话可以看看文档,不需要特意看书学习了,d3.js 开发有时候也会用到不过都比较简单,querySelectorAll等原生方法是时候用起来了)
-
《编写可维护的javaScript》 推荐 0,(团队协作的工具书,关于js风格,JsLint,压缩,自动化测试,部署,内容过时了已经2012年第一版,建议参考 airbnb,google js风格指导,工程化是一个持续的过程,这本书价值不大,现在的前端框架,cli工具,git,webpack/rollup, npm/yarn, JSLint/ESLint/TSLint, jenkins基本上已经完成了Js项目的工程化,ui级别自动化测试一直没有好的实践)
-
《SVG动画 用复杂交互动画改善用户体验》推荐0,SVG简单的介绍了常用元素,三言两语的介绍了几个常用的SVG框架,实现灰常简单的Demo,简单的翻一下半天就看完了,深度和参考意义呵呵(这本书原本是打算做H5编辑器创建矢量组件的目的购买,想多了)
感觉其实不用看那么多,只是前端的4本书《JavaScript高级程序设计》《深入理解es6》( 基础,都是Nicholas 的作品,eslint作者 )和《js忍者秘籍(第2版)》,《http权威指南》(提升)足够了,不要为了看书而看书,MDN 是个好网站比较基础,但是20%的基础可以完成90%的工作量,学习node的话还是推荐朴灵的《node深入浅出》,多看书没什么坏处,本身就是一个向大佬学习的过程。
书不在多,好并且适合就行。我个人整理了一个书单,为了照顾懒癌,链接一块贴了:
-
head first html与css Head First HTML与CSS(第2版) (豆瓣)
-
css实战手册 CSS实战手册(第2版) (豆瓣)
-
javascript权威指南 JavaScript权威指南 (豆瓣)
-
css权威指南 CSS权威指南(第三版) (豆瓣)
-
javascript高级程序设计 JavaScript高级程序设计(第3版) (豆瓣)
-
javascript语言精粹 JavaScript语言精粹 (豆瓣)
-
高性能网站建设指南 高性能网站建设指南(第二版) (豆瓣)
上面的排列顺序就是我建议的阅读顺序,从入门到进阶。其实我想说,看书虽然是很必要的,但是看完不动手练基本上就是自我安慰,以为自己懂罢了。 大家共勉吧。