前端开发工程师必读书籍有哪些值得推荐

html-css012

前端开发工程师必读书籍有哪些值得推荐,第1张

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半知半解》

《Web开发实战》

一、《JavaScript半知半解》

为什么写这本书?

因为之前作者在博客上洋洋洒洒地将之前学习JavaScript的笔记整理了出来,一共17篇,感觉查找和翻阅还是不方便,所以产生了编辑成电子书的念头,一来方便作者个人查找,二来方便后续内容的补充,三来也方便喜欢JavaScript的伙伴们阅读。

书籍阅读地址:《JavaScript半知半解》

大纲

二、《Web开发实战》

书籍阅读地址:《Web开发实战》

为什么写这本书?

网上的插件虽多,但大多数并没有深究到原理,故而产生了写一本前端实例的书籍。主要是为了想深入学习的伙伴们,书上的内容也许不是最优秀的,但会一步步讲解,会告诉你每一步的原理,让你学习后也可以自己造轮子!

大纲

《Web开发实战》集合了大量的前端开发案例,目前主要选择日常开发中会用到的加入本书,分为四部分:CSS实战篇、JavaScript实战篇、Canvas实战篇和移动实战篇。

CSS网页布局的意义体现在如下方面: 一、使页面载入得更快 由于将大部分页面代码写在了CSS当中,使得页面体积容量变得更小。相对于表格嵌套的方式,DIV+CSS将页面独立成更多的区域,在打开页面的时候,逐层加载。而不像表格嵌套那样将整个页面圈在一个大表格里,使得加载速度很慢。 二、降低流量费用 页面体积变小,浏览速度变快,这就使得对于某些控制主机流量的网站来说是最大的优势了。 三、修改设计时更有效率 由于使用了DIV+CSS制作方法,在修改页面的时候更加容易省时。根据区域内容标记,到CSS里找到相应的ID,使得修改页面的时候更加方便,也不会破坏页面其他部分的布局样式。 四、保持视觉的一致性 DIV+CSS最重要的优势之一:保持视觉的一致性;以往表格嵌套的制作方法,会使得页面与页面,或者区域与区域之间的显示效果会有偏差。而使用DIV+CSS的制作方法,将所有页面,或所有区域统一用CSS文件控制,就避免了不同区域或不同页面体现出的效果偏差。 五、更好地被搜索引擎收录 由于将大部分的HTML代码和内容样式写入了CSS文件中,这就使得网页中正文部分更为突出明显,便于被搜索引擎采集收录。 六、对浏览者和浏览器更具亲和力 我们都知道网站做出来是给浏览者使用的,对浏览者和浏览器更具亲和力,DIV+CSS在这方面更具优势。由于CSS富含丰富的样式,使页面更加灵活性,它可以根据不同的浏览器,而达到显示效果的统一和不变形。 说了这么多CSS网页布局的意义与优点,同时也不能轻视CSS网页布局的副作用: 一、DIV+CSS尽管不是高不可及,但至少要比表格定位复杂的多,即使对于网站设计高手也很容易出现问题,更不要说初学者了。 二、CSS网站制作的设计元素通常放在1个外部文件中,或几个文件,有可能相当复杂,甚至比较庞大,如果CSS文件调用出现异常,那么整个网站将变得惨不忍睹。 三、虽然说DIV+CSS解决了大部分浏览器兼容问题,但是也有在部分浏览器中使用出现异常,比如火狐浏览器,在IE中显示正常的页面,到了火狐浏览器中可能会面目全非。当然这应该是浏览器的问题,但是可以说在目前来看,DIV+CSS还没有实现所有浏览器的统一兼容。 四、DIV+CSS对搜索引擎优化与否,取决于网页设计的专业水平,而不是DIV+CSS本身。DIV+CSS网页设计并不能保证网页对搜索引擎的优化,甚至不能保证一定比HTML网站有更简洁的代码设计,何况搜索引擎对于网页的收录和排序显然不是以是否采用表格和CSS定位来衡量,这就是为什么很多传统表格布局制作的网站在搜索结果中的排序靠前,而很多使用CSS及web标准制作的网页排名依然靠后的原因。因为对于搜索引擎而言,网站结构、内容、相关网站链接等因素始终是网站优化最重要的指标。

1、提升用户的体验,用户来到网站,访问页面加载速度一定要满足用户,页面打开速度5秒前是为比较理想的,超过这个时间值,必然间接地流失用户,所以服务器的响应速度这是最基础也是很重要的事情,而我们就是优化好打开页面的速度。

2、网站整体色调符合网站主题,不要出现刺眼,反光,影响用户阅读的因素存在,排版是否整齐,段落要分明,不要出现混乱现象。

3、网站图片:丰富页面内容元素,图片是必不可少的,那么我们需要做的事情很简单,尽可能在不失真的情况下压缩图片再传至网页。百度是不识别图片的,所以给图片添加Alt属性是非常重要的。

4、文章着陆面的优化:主题与着陆面要符合,相关性要高,主题内容要突出,要清楚知道自己网站的定位,用户群体来决定文章内容。

5、网站元素的丰富性,在网站首页、列表页、详情页加上利于用户二次浏览的链接,引导用户进行二次浏览降低跳出率,比如:最新、最热、好文推荐,相关阅读等插件,辅助用户了解网站更多信息。

6、网站不要出现自动弹窗广告,网站自动咨询窗口等信息,一两次还好,每隔几秒又跳出一个窗口会让用户很反感的。严重影响用户在网站的体验,打断用户阅读浏览,这种网站迟早被用户淘汰无人问津。