PWA 和混合应用程序之间的技术差异

Jon*_*nas 2 hybrid-mobile-app progressive-web-apps

PWA 和混合应用程序有什么区别?这个问题之前曾被问过,但我还没有找到我的问题的正确答案。

我知道 PWA 在浏览器中运行,您可以从应用程序商店获得混合应用程序。

但两者都使用带有 HTML 和 CSS 的 JavaScript,并且都启用离线支持,我可以访问相机和本地存储等本机功能。

将 PWA 添加到主屏幕后,它会使用 Web 视图来呈现应用程序,对吧?混合应用程序也使用 Web 视图,那么 PWA 和混合应用程序到底有什么区别?

借助 Ionic,我什至可以对 PWA 和混合应用程序使用完全相同的代码......

Ser*_*nko 5

大致是这样的:

  • Web 应用程序 (PWA) 只是一个使用清单文件等声明某些功能的网站,可以对其进行一些特殊处理(例如利用 Service Worker、注册 Web 通知、全屏显示等(如果目标浏览器支持)。作为一个网络应用程序,它在系统级别的“权限”非常有限(例如持久性配额等)

  • 混合应用程序(例如 Cordova)是一种二进制代码,它“包装”您的 Web 代码并通过插件公开某些“本机”SDK 功能。您还可以编写自己的插件,理论上可以通过这种方式访问​​任何本机 SDK API。但是,由于您的主应用程序代码仍然是一个在 Web 视图中运行的 Web 应用程序,因此它仍然有很多性能损失,例如性能等。但至少您可以获得存储等内容。

  • 本机应用程序是使用目标平台的 SDK 的二进制构建。从理论上讲,这可以让您最大限度地获得功能和性能,但代价是必须为每个平台编写单独的代码。

说得通?

在此输入图像描述