微信官方再度”发力“

首先说明为什么是个心机婊

今年4月,自从微信浏览器X5 升级Blink内核之后,各前端社区一片高潮,仿佛看到了前端er,眼含热泪进而抱头痛头的说:终于可以不用兼容这“移动端的IE6 ”了,总的来说,自从微信4月升级 X5 Blink内核之后,兼容性大大好转。安卓版的微信浏览器,全面升级为TBS2.0 (基于Android 5.0 WebView Blink内核,Chrome 37),所有版本的安卓系统均为同一内核,开发只需考虑适屏问题了,HTML5和CSS3均有较好的支持,当时随即便涌现大批Html5项目,使得HTML5一度成为2016年年度互联网最热话题,而在2017年1月6日晚,微信IOS也公布了重大利好消息“微信IOS客户端将升级为WKWebview内核,请网页开发者尽快适配”,而发布时间就在临近小程序正式开发日发布,很明显这前面铺的路都是为了小程序发布后,能够带来更好的用户体验,让用户在体验小程序小程序的时候能获得原生App一样的性能体验,这样才会带来更多的开发者(更多的是能够带来更多的公司开发者,因为大多公司团队更加愿意去购买腾讯的其他第三方服务),以至后期流量的涌入,也只有这样,才会有更多的开发者加入,才能形成一个正在的盈利市场,对于站在一个开发者的角度来看,对于我们怎么看都是利大于弊,所以我个人还是很看好小程序的发展的。

关于原来微信内核UIWebView

在iOS开发中,在iOS8.0之前,加载网页文件确实都是使用UIWebView,而且还没得选择,UIWebView加载网页文件之后,应用占据的内存飙升了很多,特别是网页文件比较大时,这个问题尤为突出。一言不和就导致了内存泄露了。而且UIWebView加载网页的速度慢,性能差。更让开发者难易忍受的是,官方对这些问题并没有提供很好的解决方案,网上存在各种对UIWebView的优化文章,但都只是治标不治本,依然无法解决根本性问题。不少开发者都跟苹果官方反馈过关于UIWebView存在的上述问题,但官方一直保持沉默,不作任何回应也没有对UIWebView存在的问题进行处理。 直到iOS8.0开始,也是迫于开发者的各种吐槽的压力,官网推出了全新的WKWebView,

升级WKWebView后的好处

HTML5渲染性能提升4倍,内存占用将会减少至30%。WKWebView捕捉并处理了更多页面内的异常,即使页面出错,也不会导致App崩溃。它使用与Safari中一样的Nitro JavaScript引擎,大大提高了页面js执行速度。更多的支持HTML5的特性 官方宣称的高达60fps的滚动刷新率以及内置手势

占用内存对比图

微信官方再度”发力“_第1张图片
微信官方再度”发力“_第2张图片

升级带来的问题,开发者总结(开发者看)

微信官方发布文章后,我也及时的去看了官方的文章,仔细看了下,发现现在存在两个严重的问题,这也是大部分H5开发同行所面临的问题:

(1)微信Webview中会注入微信JSBridge相关的脚本

有使用JSSDK,并且使用了wx.config进行权限授权需关注jsapi调用的失败 ,页面使用HTML5的History API pushState; popstate;replaceState等控制页面导航(典型的如单应用页面),同时使用JSSDK的wx.config为jsapi授权,此时大几率会出现jsapi因为无权限而调用失败的问题

现在大部分的前端开发开发框架都是的支持单页面开发(不懂的可以网上搜索),而大部分项目都是采用单页面形式开发,所以作为开发的我们来说,又是工作量的增加啊。而且还不知道还会带来多少其他的坑呢,对于微信我真的是又爱又恨啊。

(2):将不再支持cache

这将导致用了wx.config进行权限授权配置的,需要处理jsapi调用的失败的问题

(3)Cookie和LocalStorage设置相关

退出微信账号后,将会清空所有Cookie和LocalStorage,这尼玛真的会被人的打的啊,微信。你们这样搞那些依赖本地缓存吃饭的应用还怎么活下去啊。看又得用性能去换了。

说明

本篇文章部分内容源自互联网搜集。

本篇文章未提供任何技术解决方案。

微信官方解决方案及其说明文档:

https://mp.weixin.qq.com/advanced/wiki?t=t=resource/res_main&id=mp1483682025_enmey

(看来我们又要一起踏上踩坑之路了)

微信官方再度”发力“_第3张图片

你可能感兴趣的:(微信官方再度”发力“)