PWA和W2A 技术和应用对比
PWA 全称为 Progressive Web App,中文译为渐进式 Web APP,其目的是通过各种 Web 技术实现与原生 App 相近的用户体验。
可以实现的效果,在手机桌面上生成一个icon,点击后和APP一样可以直接实现访问web端的应用功能,比如打开网页,操作游戏等。好处是,安卓+iOS都可以直接访问,而且不需要通过应用商店下载,还能实现比如推送功能,开发难度也比较低,可能某些原先主要是做网站功能的,只需要再额外开发一些辅助功能就能实现icon在手机上,打开后访问网站实现其他功能。
技术方便的细节,我大概看了下(不怎么理解),但是没关系,不关注这么细节,毕竟我也不是搞开发的,从各种文章描述,基本上PWA是可以通过技术手段,基本上实现和APP没多大差别的体验,其实大家看微信小程序就可以大致感受到,在很多领域基本上看不出来差距了,可能是类似大型游戏,美术复杂一些的可能不行(不确定)。
PWA 的技术原理基于以下关键要素:
Service Workers: Service Workers 是 PWA 的核心组成部分,它是一种在浏览器背后运行的脚本,可以使 PWA 具有离线访问能力、网络性能优化以及推送通知等功能。Service Workers 可以在后台拦截和处理网络请求,从而使 PWA 具有在离线状态下缓存资源并提供离线体验的能力。
App Shell Model: PWA 采用了 App Shell Model,这是一种设计模式,将应用程序的界面和核心功能提前缓存到本地,以确保用户第一次加载应用程序时具有快速的响应速度。这样,用户可以立即看到应用程序的基本结构,而不必等待所有内容加载完成。
Web App Manifest: Web App Manifest 是一个 JSON 文件,描述了 PWA 的元数据,如应用程序名称、图标、颜色主题等。通过 Web App Manifest,开发者可以为 PWA 提供与原生应用程序类似的外观和行为,并将其添加到设备的主屏幕上。
HTTPS 安全连接: 为了确保 PWA 的安全性,它必须通过 HTTPS 协议提供服务。HTTPS 不仅可以确保数据传输的安全性和完整性,还可以让 PWA 具备一些必要的功能,如 Service Workers 和推送通知等。
PWA实际应用上,正常是特别适合以下几种类型的应用:
移动应用替代品: PWA 可以提供与原生移动应用类似的用户体验,包括快速加载、离线访问、推送通知等功能。因此,许多企业选择使用 PWA 来构建移动应用的替代品,以减少开发成本、简化发布流程,并且不需要用户下载和安装。
在线商城和电子商务应用: PWA 可以为在线商城和电子商务平台提供快速、流畅的购物体验。用户可以通过 PWA 快速浏览产品、添加到购物车、进行安全的付款,而无需离开浏览器。
新闻和内容发布平台: PWA 可以用于构建新闻应用、博客平台和内容发布网站,为用户提供快速加载和即时更新的新闻内容、文章和多媒体资料。
在线工具和应用程序: PWA 可以用于构建各种在线工具和应用程序,如日历应用、笔记应用、天气应用、翻译工具等。这些应用可以在浏览器中运行,并且无需安装。
社交网络和通讯应用: PWA 可以用于构建社交网络应用和通讯平台,包括聊天应用、社交媒体应用等。它们可以提供即时通讯功能、推送通知和离线消息存储等功能。
相比W2A,PWA有自己的优势,同样解决的是不能上架问题,大多数都是灰色产品在应用,PWA不用再额外下载APP,也能解决网站留存问题,对比W2A下载Apk可以解决风控数据不足,W2A还能解决iOS归因问题。
投放追踪上,按说可以直接走类似Facebook conversion api + GA4归因广告,比W2A的难度可能更低。
从公开的文章看,其实PWA技术上算是比较成熟的,但是看起来各个手机厂商都不爱支持,所以之前苹果一度想要舍弃支持PWA,不过”在欧盟宣布调查后苹果认怂 不再放弃PWA的支持“。最主要原因还是厂商有自己应用商店,能审核应用和商店抽成30%,没动力把这个技术扩大。
不过其实站在用户角度也好,不用自己花心思去辨别这些应用是否存在挂羊头卖狗肉或者一些灰色产业,从商店下载至少有商店拦截了一部分。考虑到目前PWA都是灰色产业使用为主,我这边也就没计划深入研究和开发之类。但是整体难度不大,如果后续看到有合适的正规业务需求,估计实现速度也会比较快。