专注营销型网站建设外贸网站建设!自适应IPAD+手机微信+电脑

专属定制:138 2557 5516 关于智唯 | 联系智唯
网站建设News
公司网站建设

前端性能优化 —— 移动端浏览器优化策略

关键词:广州建站 作者:智唯建站 | VISITORS: | 来源:智唯网络科技
10Jan
2018
前端性能优化是一个很宽泛的概念,本书前面的部分也多多少少提到一些前端优化方法,这也是我们一直在关注的一件重要事情。

  前端性能优化是一个很宽泛的概念,本书前面的部分也多多少少提到一些前端优化方法,这也是我们一直在关注的一件重要事情。配合各种方式、手段、辅助系统,前端优化的最终目的都是提升用户体验,改善页面性能,我们常常竭尽全力进行前端页面优化,但却忽略了这样做的效果和意义。先不急于探究前端优化具体可以怎样去做,先看看什么是前端性能,应该怎样去了解和评价前端页面的性能。

  相对于桌面端浏览器,移动端Web浏览器上有一些较为明显的特点:设备屏幕较小、新特性兼容性较好、支持一些较新的HTML5和CSS3特性、需要与Native应用交互等。但移动端浏览器可用的CPU计算资源和网络资源极为有限,因此要做好移动端Web上的优化往往需要做更多的事情。

  首先,在移动端Web的前端页面渲染中,桌面浏览器端上的优化规则同样适用,此外针对移动端也要做一些极致的优化来达到更好的效果。需要注意的是,并不是移动端的优化原则在桌面浏览器端就不适用,而是由于兼容性和差异性的原因,一些优化原则在移动端更具代表性。

  一、网络加载类

  1.首屏数据请求提前,,避免JavaScript文件加载后才请求数据

  为了进一步提升页面加载速度,可以考虑将页面的数据请求尽可能提前,避免在JavaScript加载完成后才去请求数据。通常数据请求是页面内容渲染中关键路径最长的部分,而且不能并行,所以如果能将数据请求提前,可以极大程度上缩短页面内容的渲染完成时间。

  2.首屏加载和按需加载,非首屏内容滚屏加载,保证首屏内容最小化

  由于移动端网络速度相对较慢,网络资源有限,因此为了尽快完成页面内容的加载,需要保证首屏加载资源最小化,非首屏内容使用滚动的方式异步加载。一般推荐移动端页面首屏数据展示延时最长不超过3秒。目前中国联通3G的网络速度为338KB/s(2.71Mb/s),所以推荐首屏所有资源大小不超过1014KB,即大约不超过1MB。

  3.模块化资源并行下载

  在移动端资源加载中,尽量保证JavaScript资源并行加载,主要指的是模块化JavaScript资源的异步加载,例如AMD的异步模块,使用并行的加载方式能够缩短多个文件资源的加载时间。

  4.inline首屏必备的CSS和JavaScript

  通常为了在HTML加载完成时能使浏览器中有基本的样式,需要将页面渲染时必备的CSS和JavaScript通过<script>或<style>内联到页面中,避免页面HTML载入完成到页面内容展示这段过程中页面出现空白。

  <!DOCTYPE html>

  <html lang="en">

  <head>

  <meta charset="UTF-8">

  <title>样例</title>

  <meta name="viewport" content="width=device-width,minimum-scale=1.0, maximum-scale=1.0,user-scalable=no">

  <style>

  /* 必备的首屏CSS */

  html, body{

  margin: 0;

  padding: 0;

  background-color: #ccc;

  }

  </style>

  </head>

  <body>

  </body>

  5.meta dns prefetch设置DNS预解析

  设置文件资源的DNS预解析,让浏览器提前解析获取静态资源的主机IP,避免等到请求时才发起DNS解析请求。通常在移动端HTML中可以采用如下方式完成。

  <!-- cdn域名预解析 -->

  <meta http-equiv="x-dns-prefetch-control" content="on">

  <link rel="dns-prefetch" href="//cdn.domain.com">

  6.资源预加载

  对于移动端首屏加载后可能会被使用的资源,需要在首屏完成加载后尽快进行加载,保证在用户需要浏览时已经加载完成,这时候如果再去异步请求就显得很慢。

  7.合理利用MTU策略

  通常情况下,我们认为TCP网络传输的最大传输单元(Maximum Transmission Unit,MTU)为1500B,即网络一个RTT(Round-Trip Time,网络请求往返时间)时间内可以传输的数据量最大为1500字节。因此,在前后端分离的开发模式中,尽量保证页面的HTML内容在1KB以内,这样整个HTML的内容请求就可以在一个RTT时间内请求完成,最大限度地提高HTML载入速度。

  二、缓存类

  1.合理利用浏览器缓存

  除了上面说到的使用Cache-Control、Expires、Etag和Last-Modified来设置HTTP缓存外,在移动端还可以使用localStorage等来保存AJAX返回的数据,或者使用localStorage保存CSS或JavaScript静态资源内容,实现移动端的离线应用,尽可能减少网络请求,保证静态资源内容的快速加载。

  2.静态资源离线方案

  对于移动端或Hybrid应用,可以设置离线文件或离线包机制让静态资源请求从本地读取,加快资源载入速度,并实现离线更新。关于这块内容,我们会在后面的章节中重点讲解。

  3.尝试使用AMP HTML

  AMP HTML可以作为优化前端页面性能的一个解决方案,使用AMP Component中的元素来代替原始的页面元素进行直接渲染。

  <!-- 不推荐 -->

  <video width="400" height="300" src="/videos/myvideo.mp4" poster="path/poster.jpg">

  <div fallback>

  <p>Your browser doesn’t support HTML5 video</p>

  </div>

  <source type="video/mp4" src="foo.mp4">

  <source type="video/webm" src="foo.webm">

  </video>

  <!-- 推荐 -->

  <amp-video width="400" height="300" src="/videos/myvideo.mp4" poster= "path/poster.jpg">

  <div fallback>

  <p>Your browser doesn’t support HTML5 video</p>

  </div>

  <source type="video/mp4" src="foo.mp4">

  <source type="video/webm" src="foo.webm">

  </amp-video>

  三、图片类

  1.图片压缩处理

可能感兴趣文章推荐:佛山网站建设究竟能为企业带来哪些优势?

全网(营销型+响应式)专业定制

快速搭建高询盘企业独立站

专业建站,找智唯

扫码加好友,即送价值3880元的SEO优化教程

(以及18种网络营销技术+学习100节互联网推广课程)