![](https://csdnimg.cn/release/download_crawler_static/88208106/bg9.jpg)
应用程序之间的关系,让开发变得更专注,就像赛车的驾驶员一样,只需要了解
各种车辆的性能,并且进行操作,不需要研究轱辘如何制造,这样让程序开发更
加的细化。
2.3 微信小程序技术
小程序并非凭空冒出来的一个概念。当微信中的 WebView 逐渐成为移动
Web 的一个重要入口时,微信就有相关的 JS API 了。
实际上,微信官方是没有对外暴露过如此调用的,此类 API 最初是提供给
腾讯内部一些业务使用,很多外部开发者发现了之后,依葫芦画瓢地使用了,逐
渐成为微信中网页的事实标准。2015 年初,微信发布了一整套网页开发工具包,
称之为 JS-SDK,开放了拍摄、录音、语音识别、二维码、地图、支付、分享、
卡券等几十个 API。给所有的 Web 开发者打开了一扇全新的窗户,让所有开发
者都可以使用到微信的原生能力,去完成一些之前做不到或者难以做到的事情。
JS-SDK 是对之前的 WeixinJSBrige 的一个包装,以及新能力的释放,并且
由对内开放转为了对所有开发者开放,在很短的时间内获得了极大的关注。从数
据监控来看,绝大部分在微信内传播的移动网页都使用到了相关的接口。
JS-SDK 解决了移动网页能力不足的问题,通过暴露微信的接口使得 Web
开发者能够拥有更多的能力,然而在更多的能力之外,JS-SDK 的模式并没有解
决使用移动网页遇到的体验不良的问题。用户在访问网页的时候,在浏览器开始
显示之前都会有一个的白屏过程,在移动端,受限于设备性能和网络速度,白屏
会更加明显。我们团队把很多技术精力放置在如何帮助平台上的 Web 开发者解
决这个问题。因此我们设计了一个 JS-SDK 的增强版本,其中有一个重要的功
能,称之为“微信 Web 资源离线存储”
这个设计有点类似 HTML5 的 Application Cache,但在设计上规避了一些
Application Cache 的不足。
在内部测试中,我们发现 离线存储 能够解决一些问题,但对于一些复杂的
页面依然会有白屏问题,例如页面加载了大量的 CSS 或者是 JavaScript 文件。
除了白屏,影响 Web 体验的问题还有缺少操作的反馈,主要表现在两个方面:
页面切换的生硬和点击的迟滞感。