另一个应用时代崛起:见证PWA书写历史

iOS 上的“超级小程序”苹果在春天正式推送的 iOS 11.3 带来了不少重要更新,大家比较熟悉的就是电池管理和关闭降频功能,不过对于很多关注前端技术和 Web App 的用户应该注意到了,苹果 iOS 11.3 已经悄悄加入了对“渐进式 Web 应用”(PWA)这一系列新技术的基本支持。这可能是促进行业发展的一项重要改变,只是苹果自己并没有大肆声张,普通用户也未必这么关心。但如果说这项改变的意义,不亚于 6、7 年前我们讨论移动 App 拥有多大的潜力,如今,新的 App 发展已经铺好了道路。PWA,全称 Progressive Web App,不是特指某一项技术,而是应用了多项技术的 Web App。其核心技术包括 App Manifest、Service Worker、Web Push、Credential Management API ,等等。其核心目标就是提升 Web App 的性能,改善 Web App 的用户体验。PWA 所倡导的一些核心技术特性有:可以在主屏幕上创建图标可以离线运行可以利用后台线程与服务端通讯对搜索引擎友好响应式界面,支持各种类型的终端和屏幕方便分享,用户可以方便地把URL地址分享出去简而言之,PWA 可以通过浏览器 Safari 将支持网页或者网页服务添加到桌面,生成一个图标,形成一个 Web App,它和从 App Store 安装原生 App 相同,点击图标即可开启,不会出现地址栏也不需要你再输入地址,它还能在离线状态下使用,原生 App 可以做到的离线使用、消息推送、后台自动更新等,Web App 通过 PWA 也可以具有类似的能力。而且它还免去了 App 的安装过程,可以用理解为一种以浏览器为入口的“小程序”。再说一句大通俗话:你可以将支持的某个网页直接生成一个 App 放在 iOS 桌面上,并且以后都像打开 App 一样打开了,以后这种形式还会扩展到更多。PWA 的发展正是这两年开始的事,苹果虽然默不作声但是对 PWA 的发展一直保持着关注,从去年年底开始就不断有消息预测苹果 iOS——更确切的说是苹果 Safari 会支持 PWA,不过我们没想到它这么快就来了。PWA 只能在浏览器或 Web 平台的安全和执行模型中运行,所以我们要通过 Safari 来找到:打开 Safari,前去一个支持 PWA 的站点,点击下方分享图标,你会发现分享项上有一个“添加到主屏幕”,戳它,点击确定,主屏幕上就会出现一个长得跟原生 App 很像的 App 图标(有些已经推出独立 App 的会在角标上注明网页版)。

以后你但凡需要到这个网页,只要点开这个 App 图标就完事了,不用通过 Safari,它的启动和原生 App 的速度一样快,而且最大的优点是可以在网络很不好的情况下流畅地开启和使用。是不是感觉,添加 Web App 很像添加 Web 收藏夹?但既然它能够叫做 App,能做到事情自然还有很多。iOS 平台上 PWA 的可用能力有1、访问地理位置2、使用传感器数据(磁力计、加速计、陀螺仪)3、访问摄像头4、音频输出5、语音合成(仅限使用耳机的情况)6、调用 Apple Pay7、WebAssembly、WebRTC、WebGL 以及很多带标签的实验性功能PWA 还是小容量 iPhone 用户的福音,随着谷歌地图、微软翻译等引擎网站和京东等电商网站都支持 PWA 之后,我们手机中有大量的应用可以转为 PWA 代替,不用再从 App Store 下载动辄几百 M 大小的应用,直接用几十 M 的 Web App 取代即可。大量内容商们也可以从原生 App 的开发和维护中解脱出来,做一个 PWA 就搞定,还不用通过 App Store 磨人的上架审核。这种形式同时也很适合商家、企业对内对外的一些移动服务管理。iOS 端 PWA 才刚刚起步,目前体验起来只能说相当原始,前面讲了,除了少数 API 调用以外,它就跟加了个收藏夹那么弱鸡,不能保持后台,每次退出都要重新打开,另外它还有很多暂时实现不了的功能(但是别的平台比如 Android 端大部分都实现了)。

iOS 平台 PWA 暂时实现不了的功能有1、Web App 可以存储脱机数据,但是文件大小上限为 50 Mb。2、目前还未开放功能:蓝牙、序列号、Beacon 信标、Touch ID、Face ID、ARKit、高度计、电池信息等等。3、如果用户长时间内没有使用某个 Web App,iOS 自动对其进行清空。应用图标依然会显示在主屏上,但是需要重新下载数据。4、无法访问私有信息(联系人、后台定位),也无法访问原生社交应用。5、不能进行应用内付款。6、在 iPad 上,无法与其他应用使用侧拉或分屏显示,始终占据整个屏幕。7、无推送通知,无图标标记,无法与 Siri 集成。苹果对 PWA 的态度也还很微妙,支持是支持了,给予的权限和接口都非常少,随着 PWA 本身越来越被看重,包括苹果也已经在致力着桌面端和移动端相统合,而 PWA 可以说是其中的一个关键,相信他们会展现更开放的态度。至少现在,我们已经可以在 Android、Windows、iOS 几大系统上认识和使用 PWA 了,这个“超级小程序”今后前景可能比我们现在想象的更加宽广。Web 体验突破之年早在 10 年前,苹果就已经在寻找一种基于浏览器上开发应用的方法,那个时候,App Store 都还没有被设计出来。苹果前 CEO 史蒂夫·乔布斯 2007 年 WWDC 上提出了为初代 iPhone 开发应用的概念,当时所公布的,就是 Web App——可以从主屏直接启动的 Web 应用。可惜当时这个理念没有引发太大关注,反而是后来原生 SDK 的 App 应用蓬勃发展起来,互联网公司更愿意投入人力在原生 App 的开发上,而忽略了 Web。因此对原生 App 大量的需求出现,占据了移动时代的主流地位,Web 似乎就要被 App 所取代。然而 Web 一直没有放弃努力,早在 2014 年, W3C 公布就公布过 Service Worker 的相关草案,其生产环境在 2015 年被 Chrome 支持,随后 PWA 得到了完善。自 2015 年以来,PWA 相关的技术不断升级优化,在用户体验和用户留存两方面都提供了非常好的解决方案。PWA 可以将 Web 和 App 各自的优势融合在一起:渐进式、可响应、可离线、实现类似 App 的交互、即时更新、安全、可以被搜索引擎检索、可推送、可安装、可链接。

对于原生 App 来说最大的痛点是由于其天生封闭的基因,内容无法被索引,相对于原生 App 的封闭,PWA 却是完全开放的——PWA 现有的所有技术都是遵循 W3C 的标准,完全开放,因此能够快速被站点接受、被浏览器快速支持。而随着移动互联网的发展,用户下载 App 的热情也逐渐减弱,积极探索新 App 已经成为过去式了,80% 的用户的 80% 的时间被少量超级 App 占据,原生 App 的分发成本将越来越高。可以说原生 App 的发展肯定会遭遇瓶颈,并且这几年正在接近这个瓶颈,Web 看到了自己的机遇,PWA 以及支撑 PWA 的一系列关键技术应运而生。除了苹果 Safari 是阵营新丁之外,各家浏览器厂商从 2017 年开始大力支持 PWA,主流浏览器基本上 PWA 已经支持得很好了,不如说浏览器厂商们唯恐自己没跟上标准而被淘汰。全世界很多大站点也已经跟上步伐,纷纷支持 PWA。

 

到眼下的 2018 年,全球顶级浏览器厂商,Google、Microsoft、Apple 已经全数宣布支持 PWA 技术,这预示着,移动端 App 将会迎来全新的 Web 时代,以后对 PWA 的需求还会大量增加。当然,PWA 不会杀死原生 App,这个问题我们之前和大家讨论微信小程序的时候就已经谈过,PWA 会前所未有地扩展 App 的外延,也不可避免的改变现有的 App 理念,打破独立封闭原生的界限,让更多来自外围的“App 们”(包括 PWA,也包括小程序)同台竞技,让用户在桌面端和移动端上体验到更少割裂感,更强的关联性,更强大的搜索和牵引,更快速地获取到一切你所想要的,这才像真正的未来 App。有希望的土地才百花盛开前面我们拿了“小程序”来作对比,又说了 PWA 的前景,其实微信小程序(还有支付宝小程序等)就是 PWA 技术应用的一个范例。只不过广义标准的 PWA 支持更大平台——Web,而小程序们更依托于它们各自的平台。从微信小程序发展了一年多然而并没有凉,我们就可以看出小程序背后的需求能力,当然也可以说是对 PWA 的需求。根据腾讯提供的数据,小程序连接着 10 亿用户与 200 多个类目的商家,目前已经拥有 1.7 亿日活用户、上线 58 万个小程序、吸引了超过 100 万个开发者、2300 个第三方开发平台加入。2018 年,微信小程序还将有一个野心勃勃的计划:将支持各个 App 直接打开小程序。

你没有听错,简单来说,在不久以后,所有的 App 里面都可以看到小程序的身影。这是一个大设计,将把微信打造成全面串联移动端应用的一个港口,同时又让各个 App 之间,有了一道便捷的传送门。这个门不再是诸如 App Store 和 Google Play 这样的应用商店,而是通过小程序,无限远和无限多地跳转。比如,用户在使用旅行攻略 App,会需要订机票、酒店、打车等服务,有时候一个 App 可能不能全包括,按照现在的技术就要重新下载一个 App 来查看其他项目。但如果以后 App 可以打开小程序,那么不需要退出也不需要去应用商店找,小程序就能帮你解决。这无疑是一种生态上的破壁,也应该是 App 的历史演变结果,我们将见证这一过程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章