上个月,微信在Android测试版中加入了定向清理缓存的功能,似乎以第一方的身份印证了微信缓存管理遇到了问题。而在短短两周之后,微信又一次在Android手机客户端中加入了更多的性能检测工具:在Android版8.0.22中,用户可以在“帮助与反馈”界面找到微信修复工具的入口,在打开下方的性能检测工具后就能看到新加入的MAtrix性能检测工具。
这个Matrix性能检测工具能以屏幕悬浮窗的形式常驻用户显示页面的最上方,提供了占用率,FPS、功耗信息、内存信息等详细的性能数据,甚至还会实时显示当前的核心温度。
难道微信也要进军手机性能检测/跑分行业,像某兔某大师发起挑战吗?
作为国内装机量“数一数二”名列前茅的软件,微信的目标当然不会是放弃第一即时通信软件的身份,转而去做“一次性”的跑分软件。这个性能检测与其说用来测试手机,方便用户比较手机性能的,倒不如说是用来发给开发者监测自己的程序、优化软件资源需求的。
而什么软件需要用到微信内置的性能检测工具呢?没错,说的就是功能越来越多,资源需求越来越高的微信小程序。
小程序、大负担2017年1月9日,微信正式上线了微信小程序的功能。在上线初期,微信小程序其实备受争议:尽管小程序可以在微信的体系内快速调用,同时也能借助微信的平台快速部署、分发,但和传统的本地App相比,微信小程序无论在功能的丰富程度还是运行的稳定性上都略显逊色。再加上微信小程序的开发者文档和接口常常在短时间内多次更新,小程序的初期体验并不好。
但在微信团队持之以恒地更新和推广下,凭借低成本、简单适配、快速部署的特点,微信小程序在不到一年内就完成了对传统本地App的超越,越来越多的商业服务选择使用微信小程序执行,餐厅的微信点餐就是其中一个最好的例子。
而同年年底上线的小游戏更是让微信小程序迅速破圈。以著名的“跳一跳”为例,这款游戏不仅向微信生态的开发者展示小程序框架内的无限可能性,更是向所有微信生态参与者展示了微信生态“造神破圈”的能力。
但随着小程序的爆红,越来越多的第三方小程序和不规范开发也让微信小程序里自己原本的目标越走越远。
在最初的设想中,微信小程序的定位介于服务号和本地App之间:在功能上,它比服务号要多,同时也能跳出网页交互的限制,实现更丰富的交互功能;在易用性上,小程序也不需要下载安装,点开二维码就能直接运行,还能延续微信自己的用户身份识别,不需要另外的注册步骤。
但在产品上线运行五年后的今天,小程序早已不是原本轻量化的样子。越来越大的本地文件缓存,越来越复杂的环境依赖让小程序的体积越发膨胀,也对小程序的流畅运行提出了全新的要求。微信之所以会在软件中性能检测工具,而且将重点聚焦在内存占用和界面交互上,相信也是出于同样的考虑。
为微信打下大片江山的小程序,是时候执行“瘦身计划”了。
但话又说回来,即使微信小程序越做越复杂,但依旧是不少政企介入移动互联网的第一道关。为什么国内互联网依旧没能迎来下一个“小程序*手”呢?
那些小程序的挑战者们首先需要澄清的是,小程序虽然是微信独创,但借助浏览器内核将网页封装成独立“App”却不是微信的创意。别的不说,即使在本地App时代,绝大多数的注水App采用的都是封装一个前端网页来凑数的开发方式。时至今日,某游戏App的手机客户端采用的依旧是封装浏览器的原理。
而在微信小程序发光发热的这几年,网页封装App经历了多次的技术迭代,并最终拿出了应对微信小程序的“*手锏”——PWA应用(渐进式 Web 应用)。
简单来说,PWA的本质依旧是Web程序,但不同于直接用浏览器打开一个页面,PWA可以和手机操作系统更好地整合,离线依旧可以运行就是PWA应用相较于一般Web和微信小程序最大的亮点。
另外,对于那些已经有成熟桌面网页的网站来说,PWA应用可以最大限度地复用已经存在的系统资源,对增量更新和热更新的支持使PWA应用能在桌面互联网高度发达的市场中快速普及。
但为什么PWA在国内行不通呢?在我看来原因主要有三点:
首先,PWA脱胎于Web,尽管移动互联网也可以二次开发成PWA应用,但这都只停留在用户端或者前端的范畴,对于背后的服务提供者来说,从零开始拥抱PWA显然有着更高的熟悉和开发成本。而微信小程序连同背后的腾讯云提供了完整的配套服务,这显然更适合国内互联网市场。
其次,PWA没有一套行之有效的通用ID系统。作为Web的变体,PWA的需要服务提供者自行建立用户ID系统,而在电子邮箱使用率相对较低的国内市场,由微信、支付宝等生态提供的统一接入ID可以显著降低用户使用软件的门槛。
最后是应用的分发,PWA应用的分发离不开URL或URL的各种变体,比如二维码。但微信小程序作为微信的一部分,可以直接以图形化交互分享给其他用户,再联合刚刚提到的第二点,微信小程序能在国内互联网中飞速发展自然也是水到渠成的事情。
至于支付宝的“小程序”为什么无法在国内大规模展开,在我看来还是用户习惯的问题,国内用户对手机支付显然有更高的警惕性,不愿意在金融类App中使用和交易无关的功能。如果不将“芝麻”体系和支付体系进行切割,支付宝的小程序很难达到微信小程序的高度。
总结归根结底,微信需要在手机App中加入性能检测套件,其实是国内移动互联网飞速发展的一个缩影。在“跳过”以桌面为基石的传统互联网生态后,国内互联网建设的重任全都移交到了移动互联网身上。本应朝着轻量化发展的移动互联网生态,也被迫承担起越来越复杂的交互和大量的缓存。微信此次选择加入性能检测工具,其最终目的也是为开发者提供更加趁手的开发工具,从而提升移动互联网的整体体验。
但问题是推出工具让开发者自查在我看来只是治标不治本的举措。移动互联网生态的臃肿大家有目共睹,一个量化工具难以对生态优化提出实质性的推动作用。在便捷的移动互联网和手机运行效率之间,用户和开发者都需要作出艰难的选择。