Native还是PWA?移动开发我们该如何选择?(译)

Native还是PWA?移动开发我们该如何选择?(译)_第1张图片

在移动开发方面有越来越多的选择,随着各个浏览器对service work的支持,PWA应用已经成为众多移动应用的新选择,从每个应用的主要因素考虑,其选择也会不一样,我们可以将其分为四类:设备覆盖范围,移动用户体验,设备集成和应用的发布。

设备覆盖范围

        在考虑使用PWA时,您要考虑的第一个因素是设备覆盖范围。非常重要问题可能是:

        1.应用需要运行哪些设备?

        2.它适用于移动用户,桌面用户还是两者兼而有之?

        3.用户的浏览器是否为PWA提供支持?

      目前移动用户的占比很大,具有很高的时效性和侵入性,大多数会考虑定位移动设备,主流的移动设备的支持主要考虑iOS和Android。但是,也不影响我们考虑要覆盖桌面计算机上的用户?随着用户偏好的发展,用户有需求可以在任何和所有设备上使用。

        如果你是原生的开发的应用,那么可能意味着需要构建多达三个应用程序,每个应用程序都有自己的代码库。

        另外,PWA采用网络技术构建,网络可以在任何其他平台上最远的地方运行,几乎可以在任何地方运行。这意味着,使用PWA,应用程序可以使用相同的代码库构建一次,并且能够访问所有目标设备。

        但是,在考虑PWA和设备范围时,还有一些问题需要考虑,例如浏览器支持。需要用户的Web浏览器是否支持运行PWA?今天的大多数浏览器都支持大多数PWA功能,但如果有少量用户的浏览器不支持怎么办?

        而且,即使不支持浏览器,如果用户在某个特定功能无法使用的情况下降级,是否可以优雅降级降级?此外,更重要的是所有用户都具有相同的体验(android更像android原生体验,iOS也是如此),或者在最新支持的浏览器的用户提供最佳体验,但仍然为那些不支持浏览器的用户提供优雅的回退?

移动用户体验

通常,当人们说“app-like”时,通常会归结为以下特点:

原生外观:app在设备上的外观和行为是否应该如此?用户可以通过自然动作轻松使用app吗?

速度和性能:当用户与之交互时,app是否能够快速加载并感受到响应?是否快速启动?

离线支持:当几乎没有网络连接时,app仍然具有可用的体验(即使有限)吗?

可安装:用户可以从主屏幕上的图标启动您的应用程序吗?

原生功能:app可以执行常见的操作吗?例如接收推送通知或访问设备硬件(如相机和传感器)。

        就在几年前,移动网站并不是替代原生移动app的可行选择。即时仿照原生的UI,移动网站在浏览器中运行的效果并不是完美。

        PWA可以解决上述问题来解决移动网站的缺点。此外,移动UI框架(如Ionic)可以为移动应用程序提供所需的外观和感觉,而最近的Web标准为PWA提供了必要的离线支持和设备集成,使其感觉更像app。

设备集成

        选择原生还是PWA一般考虑的主要因素还是你的APP需要有哪些原生能力的支撑。Web平台提供了基于Web的API来访问许多这些功能。有访问设备硬件的API,如相机,GPS,加速度计,生物识别传感器等。但是如果是定制化的APP需求,比如你要调用第三方的SDK的集成,PWA就无法满足了。

        Web平台仍在不断改进,并且随时会出现更多设备API,因此很可能会出现目前无法获得的内容。

应用的发布

        选择移动应用的开发方向时要考虑的最后一个问题是:APP将如何发布?

        PWA享有与普通网站相同的发布过程。一旦发布到服务器,每个人都可以即时使用PWA。以下是PWA分发的一些优点:

更新很快,无需通过应用商店批准流程

PWA的内容仍然可以被搜索引擎索引,这意味着应用程序仍然可以搜索和链接

如果您正在为企业构建应用程序,并且它仅在内部,那么将app作为PWA发布可能比通过商店简单得多

传统的应用商店模式仍然有一些好处。比如:

商店中的应用程序可以更容易货币化(尽管这些钱与商店分成很多)

应用商店可以在专有的渠道中宣传你的应用。

应用商店会自动为应用提供指标和错误报告(当然这一点我们也可以在发布PWA时置入探针)。

应用商店为您的应用下载提供带宽和基础架构

原生APP在硬件API访问更灵活

你可能感兴趣的:(Native还是PWA?移动开发我们该如何选择?(译))