当前位置: 首页 > Web前端 > HTML5

ServiceWorker在PWA中的应用

时间:2023-04-05 23:28:51 HTML5

有开发者认为Web应用使用PWA特性最大的好处就是应用安装banner,即appinstallbanners。开发人员可以使用正确的启发式(hittingtherightheuristics)得到它,剩下的基本上就是营销了。PWA起步于Google,因此Android比iOS平台对它的支持更好。在SamsungInternet中,有一个称为ambientbadging的功能。如果浏览器检测到该页面是PWA,它会动态地将URL栏中的常用书签图标更新为特殊的+图标,为用户提供一个简单的快捷方式将其添加到他们的主屏幕。现在在Android版Chrome中,您实际上获得了一个真正的Android应用程序——具有新的WebAPK功能。当用户在主屏幕上安装PWA时,它会自动创建一个轻量级的Android应用程序包装器,因此该应用程序实际上出现在应用程序列表中并且是真正的一等公民。PWA的核心是ServiceWorker。这是浏览器和服务器之间的代理层。所有浏览器请求都通过它。ServiceWorkers可以访问Web资源的缓存存储和数据的IndexDB。例如,系统可以接收浏览器请求,然后检查网络状态,然后从存储中检索数据,然后以某种方式处理它们并将结果返回给浏览器。浏览器会认为它正在使用Web资源,但实际上它正在被拦截,结果是从本地离线存储中检索的。开发者可以在isServiceWorkersReady中查看不同浏览器的就绪情况。在iOS11.3(2018年3月30日)中,Apple悄悄地添加了对渐进式Web应用程序(PWA)理念背后的一组基本新技术的支持。具体来说,iOS支持ServiceWorkers和WebAppManifest规范。然而,从苹果的角度来看,PWA只是主屏幕上的一个web应用程序,图标是一个WebClip。如果开发人员需要纯PWA的本机应用程序,可以使用https://www.pwabuilder.com/从PWA创建它。对于Windows,它会生成一个可以发送到Windows开发人员中心的.appx。对于Google,它创建了一个包含PWA应用程序的Java包装器应用程序。开发者可以在AndroidStudio中编译该项目并上传到AndroidDevCenter。对于Apple,它会生成一个XCode项目。编译后,可以将包发送到AppleStore。