现在的位置: 首页 > 移动开发 > 正文

移动开发的未来是PWA吗

2020年01月11日 移动开发 ⁄ 共 1125字 ⁄ 字号 评论关闭

  为了构建原生且可离线工作的移动应用程序,可以采用的方式主要有两种:使用移动操作系统原生编程语言的原生开发;使用ReactNative、Ionic、Xamarin等技术的混合式移动开发。

  但是,这两种方式都需要通过Google或苹果应用商店发布应用程序。

  这时候我们就会想起PWA。它们的程序包都很小,可以像原生应用程序一样运行,可以部署到Web,还可以轻松地添加到手机桌面。

什么是PWA?

  渐进式Web应用程序(ProgressiveWebApplication,简称PWA)是使用常见的Web技术(HTML、CSS和JavaScript)构建的应用程序,其发行方式与其他Web应用程序一样,还拥有类似于原生的功能。

  Google定义的PWA具备以下特征:

  可靠:即使在互联网连接不佳或没有互联网的情况下,也可以快速加载,因为如果网页未能在3秒内加载完毕,则超过一半的用户就会离开网站。当没有互联网连接时,PWA会使用ServiceWorker来消除对Web服务器的依赖。

  快速:流畅的动画和交互效果,应用程序拥有原生的体验。(没有笨拙的网页滚动。)

  参与感:应该尽可能向原生设备的用户体验靠近。这意味着至少能够全屏运行(如果添加到手机桌面),并处理通知(iOS尚不支持)。

ServiceWorker

  ServiceWorker是浏览器在后台运行的JavaScript文件。主要用作Web服务器的代理。这意味着,如果浏览器没有稳定的互联网连接,则由ServiceWorker处理请求。

  因此,ServiceWorker可以模仿Web服务器的操作,只不过数据全部来自缓存,因此可以在离线模式下工作。

  ServiceWorker还可用于创建不需要网页或用户互动的功能,例如推送通知。

  ServiceWorker还在不断地发展,将来它们可能拥有新功能,例如地理定位等,让用户享受原生的体验。

iOS和PWA?

  如上所述,苹果拥有超过20%的手机市场份额,如果我们只看欧洲和北美的话,这个份额会更高,而且这些手机对于PWA的支持进展非常缓慢。

  虽然iOS11.3及更高版本支持PWA,但这并不意味着PWA得到了完全的支持,与其他浏览器(尤其是Chrome)相比。在近期的版本中,尤其是在iOS13上,这种支持更好一些。

  尽管iOS仍不支持推送通知和后台同步等重要的功能,但这是否意味着苹果反对PWA?不,我不这么认为,我只是相信他们的策略还不能完全支持PWA的想法。

  iOS各个版本所作出的改进表明苹果同意有必要添加更多支持,这只是时间的问题。

  结束语:以上就是关于移动开发的未来是PWA吗的全部内容,更多内容请关注学步园。

抱歉!评论已关闭.