前端开发,又称web前端开发,是从网页制作演变而来的。随着互联网进入web2.0时代,各种类似桌面软件的web应用的大量涌现,使得网站的前端发生了翻天覆地的变化。
在许多外行人眼里总是觉得前端开发工程师是个特别高深的职业,其实前端开发工程师并没有那么高深,一般四个月左右就能学会。
前端优化的目的是什么 ?
1. 从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。
2. 从服务商角度而言,优化能够减少页面请求数、或者减小请求所占带宽,能够节省可观的资源。
前端优化的途径
大致可以分为两类,第一类是页面级别的优化,例如 HTTP请求数、脚本的无阻塞加载、内联脚本的位置优化等 ;第二类则是代码级别的优化,例如 Javascript中的DOM 操作优化、CSS选择符优化、图片优化以及 HTML结构优化等等。
本着提高投入产出比的目的,下面提到的各种优化策略大致按照投入产出比从大到小的顺序排列。
1. 减少 HTTP请求数
这条策略基本上所有前端人都知道,而且也是最重要最有效的。一个完整的请求都需要经过 DNS寻址、与服务器建立连接、发送数据、等待服务器响应、接收数据这样一个 “漫长” 而复杂的过程。
2. 将外部脚本置底
前文有谈到,浏览器是可以并发请求的,这一特点使得其能够更快的加载资源,然而外链脚本在加载时却会阻塞其他资源,例如在脚本加载完成之前,它后面的图片、样式以及其他脚本都处于阻塞状态,直到脚本加载完成后才会开始加载。如果将脚本放在比较靠前的位置,则会影响整个页面的加载速度从而影响用户体验。解决这一问题的方法有很多。
3. 异步执行 inline脚本
inline脚本对性能的影响与外部脚本相比,是有过之而无不及。首页,与外部脚本一样, inline脚本在执行的时候一样会阻塞并发请求,除此之外,由于浏览器在页面处理方面是单线程的,当 inline脚本在页面渲染之前执行时,页面的渲染工作则会被推迟。简而言之, inline脚本在执行的时候,页面处于空白状态。此外,在HTML5中引入了 Web Workers的机制,恰恰可以解决此类问题。
4. Lazy Load Javascript
随着 Javascript框架的流行,越来越多的站点也使用起了框架。不过,一个框架往往包括了很多的功能实现,这些功能并不是每一个页面都需要的,如果下载了不需要的脚本则算得上是一种资源浪费既浪费了带宽又浪费了执行花费的时间。
5. 异步请求
Callback在某些页面中可能存在这样一种需求,需要使用 script标签来异步的请求数据
6. 减少不必要的 HTTP跳转
关注翡翠教育官微:翡翠教育总部(feicuitec),了解更多IT培训行业资讯