今天是2017年6月26日,星期一,开始从第一章看起。第一章主要讲的是前端技术的发展概况以及一些必须掌握的浏览器基础知识与经常使用开发技术。前端
页面内容多而复杂,为了保证开发效率,咱们能够借助符合特定场景的前端框架来提升开发效率,例如使用JQuery丶MVVM等开发框架,对经常使用的 HTML DOM 操做进行高效封装,大大简化开发工做量,提升效率。
web
前端项目代码愈来愈多丶结构愈来愈复杂,咱们必须考虑用模块化和组件化的思路来管理。所谓的模块化和组件化是指采用代码管理中分治的思想,将复杂的代码结构拆分红多个独立丶简单丶解耦合的结构或文件分开管理,使项目结构更加清晰。若是页面的内容增多,咱们能够借助 Web Component(HTML 5的一种组件化规范),注册一个<news>的标签来直接引入使用,而后再使用<news>这个标签来代替上面组件的内容进行管理维护,页面中其余的标签内容也能够这样来处理。
数据库
页面加载的内容不少,为了尽快将网页内容显示给客户,咱们能够经过异步的方式来实现,即将一部份内容先展现给用户,而后根据用户的操做,异步加载用户须要的其余内容,避免用户长时间等待。后端
为了限制页面内图片的大小以保证页面快速展现,就须要对图片进行优化处理,如使用更高压缩比 webp 格式的图片,在图片质量不下降的状况下,能够大幅度减少图片的网络流量消耗,提升图片的加载速度。
浏览器
对于重复打开的页面,使用 文件缓存 能够使浏览器再也不向服务器请求重复的内容,这样能够大幅度提升网页资源的加载速度。并且幸运的是,浏览器默承认以支持文件缓存,对于一段时间内浏览器的重复请求,服务器可能会返回 HTTP 的 304 状态码或者不发送请求,让浏览器直接从本地读取内容。
缓存
前端结构的开发实现模式前后经历了 静态黄页时期丶服务器组装动态网页数据时期丶后端为主的 MVC 模式时期丶先后端分离时期丶纯前端 MV* 为主和中间层直出时期丶前端 Virtual DOM 丶MNV*丶先后端同构时期。前端从无到有且发展到如今的不变宗旨是,一直持续在以效率和质量为最终导向的道路上探索前进,而且将来关于 Web 技术效率和质量这两方面的探索仍会有增无减。
前端框架
接下来谈论一个比较常见的问题:从咱们打开浏览器输入一个网址到页面展现网页内容的这段时间内,浏览器和服务端都发生了什么事情? 咱们直接来看一个相对简洁但比较清晰的过程描述。服务器
整个过程当中使用到了较多的浏览器功能,如用户地址栏输入框丶网络请求丶浏览器文档解析丶渲染引擎丶Javascript 执行引擎丶客户端存储等。
网络
一般咱们认为浏览器主要由七部分组成:用户界面丶网络丶Javascript 引擎丶渲染引擎丶UI 后端丶Javascript 解释器和持久化数据存储。以下图所示: 做为前端开发者,咱们须要重点理解渲染引擎的工做原理,灵活运用数据持久化存储技术,由于实际的开发工做中这部分的操做比较多,而其余几个部分都是由浏览器决定的,开发者控制的部分相对较少。渲染引擎在浏览器中主要用于解析 HTML 文档和 CSS 文档,而后 将 CSS 规则应用到 HTML 标签元素上,并将 HTML 渲染到浏览器窗口中以显示具体的 DOM 内容。
框架