0_1520237220754_1.jpg

2018:PWA破局之年

PWA喊了很久,最近终于迎来了重大突破。

目前,全球顶级的浏览器厂商,Google、Microsoft、Apple已经全数宣布支持PWA技术。在不远的将来,移动端APP的将会迎来全新的WEB时代。

回顾桌面端应用从C/S架构向B/S架构的迁移历程,我们正在见证历史的重演。

Google:用PWA整合Chrome和ChromOS

2017年10月23日,Chrome团队在旧金山主办了Chrome Dev Summit。

0_1520236798472_2.jpg

Owen Campbell-Moore ,Chrome团队的Product Manager做了一个演讲,详细描述了PWA的现状和演进路线图。

0_1520236824319_099-CDS2017.jpg

Owen在他的演讲中提到,Google将会把PWA技术推向自己的所有平台,从而达成用PWA整合Chrome和ChromOS的目标。同时,将会在未来的一段时间内修补缺失的API接口,包括解决一些安全性问题。

以下是基于PWA的纸牌游戏ChromeOS上的运行效果截图:

0_1520237535186_333.jpeg

0_1520236865193_3.png

Apple:从iOS 11.3开始支持PWA

0_1520237926557_深度截图_选择区域_20180305161625.png

2018年1月25日,根据Ricky Mondello在自己的twitter上发布的消息,Safari 11.1 beta版已经支持Web App Manifest 和 Service Worker,这两个东东是PWA所倡导的核心技术特性,这就意味着Safari开始全面拥抱PWA技术。

以下是Safari已经支持的一些接口:

0_1520237613970_safari.png

需要注意的是,Safari团队提供的实现与Chrome团队并不完全一致,例如:Safari会把超过数周不活动的Service Worker删除掉。Webkit团队自己的blog上对这些实现做了详细的说明:https://webkit.org/blog/8090/workers-at-your-service/

根据Maximiliano Firtman在Medium上的描述,Safari团队和Chrome团队针对PWA相关的技术进行了好几轮讨论。

Microsoft:Edge和Windows 10全面支持PWA

0_1520238701990_深度截图_选择区域_20180305163104.png

2018年2月6日,微软在自己的技术blog上发布了一篇文章,宣布全面支持PWA。

微软自己的应用商店里面将可以搜索到基于PWA技术的应用,PWA应用可以直接在系统里面启动,在独立的沙箱里面运行,微软管这种应用叫做AppX。

同时,微软还提供了一款工具叫做PWA Builder,用来帮助开发者生成PWA应用:

0_1520238854925_PWA Builder.png

更详尽的描述请参考这里:https://blogs.windows.com/msedgedev/2018/02/06/welcoming-progressive-web-apps-edge-windows-10/#uifT4al7ZkQgfuHf.97

WTF is PWA?

那么,PWA到底是什么鬼呢?

有一些朋友可能是第一次接触这个概念,这里做一个简要的介绍:

Progressive Web Apps are just great web sites that can behave like native apps—or, perhaps, Progressive Web Apps are just great apps, powered by Web technologies and delivered with Web infrastructure.

用人话说是这样的:PWA是基于最新WEB技术的应用,它可以拥有原生应用那样的行为,甚至能比原生应用更牛叉。

0_1520239612213_MIami-responsive-web-design.jpg

PWA所倡导的一些核心技术特性有:

  • 无需安装APP,无需发布到App Store
  • 性能要好,尤其是首屏加载时间
  • 可以在主屏幕上创建图标
  • 可以离线运行,利用后台线程与服务端通讯(ServiceWorker)
  • 对搜索引擎友好
  • 支持消息推送
  • 用户体验要高:响应式界面,支持各种类型的终端和屏幕;方便分享,用户可以方便地把URL地址分享出去

对于某个应用是否很好地支持了PWA,这里提供了一份清单供检查:https://developers.google.com/web/progressive-web-apps/checklist

(个人观点:在上面一堆优点里面,“对搜索引擎友好”最关键,你懂的。)

推荐阅读

(本文由 大漠穷秋 收集整理,请保留署名。)