PWA 和 Hybrid App 的技术差异
Technical differences between PWA and Hybrid App
PWA 和混合应用程序之间有什么区别?之前有人问过这个问题,但我还没有找到正确的答案。
我知道 PWA 在浏览器中运行,您可以从应用商店获得混合应用。
但两者都使用 JavaScript 与 HTML 和 CSS,并且都启用了离线支持,我可以访问相机和本地存储等本机功能。
我将 PWA 添加到主屏幕后,它会使用 Web 视图来呈现应用程序吗?混合应用程序也使用 Web 视图,那么 PWA 和混合应用程序之间到底有什么区别?
有了 Ionic,我什至可以为 pwa 和混合应用程序使用完全相同的代码...
渐进式应用程序
- 如今,这些应用仅适用于 Opera、Chrome 和三星移动浏览器。然而,这些浏览器仅占移动浏览器市场的不到一半。
- 在某些设备上,某些功能将无法使用。例如,iOS 设备上的通知将不起作用。
- 在某些应用程序中,相机、指纹扫描仪和 GPS 可能无法正常工作或出现故障。
基于 Cordova/Ionic 的混合应用程序
- 在多个平台上高效地制作混合应用程序 运行 并非易事。在某些情况下,它的成本可能与 运行ning 本机应用程序几乎相同。费用将取决于您希望获得原生应用体验的程度。
- 由于这些应用程序将使用类似浏览器的组件启动,因此它们的好坏取决于它们所在的组件 运行。早些时候,Google 和 Apple 在 WebView 上没有达成一致。虽然它已经有了很大的改进,但它的效率不如 运行 本地应用程序。
大致如下:
Web 应用程序 (PWA) 只是一个网站,它使用清单文件等声明某些功能,这可以获得一些特殊处理(例如利用服务工作者、注册 Web 通知、完整屏幕等如果目标浏览器支持它)。作为一个网络应用程序,它的 "privileges" 在系统级别上非常有限(例如持久性配额等)
混合应用程序(例如 Cordova)是一种二进制代码,它是 "wrapping" 您的网络代码,并通过插件公开某些 "native" SDK 功能。您也可以编写自己的插件,理论上可以通过这种方式访问任何本机 SDK API。但是由于您的主要应用程序代码仍然是在 webview 内部运行的网络应用程序,它仍然有很多性能等方面的损失。但至少您可以获得存储等方面的东西。
本机应用程序是使用目标平台的 SDK 的二进制构建。在
理论让您最大限度地获得能力和性能
为每个平台编写单独代码的费用。
有道理吗?
PWA 和混合应用程序之间有什么区别?之前有人问过这个问题,但我还没有找到正确的答案。
我知道 PWA 在浏览器中运行,您可以从应用商店获得混合应用。
但两者都使用 JavaScript 与 HTML 和 CSS,并且都启用了离线支持,我可以访问相机和本地存储等本机功能。
我将 PWA 添加到主屏幕后,它会使用 Web 视图来呈现应用程序吗?混合应用程序也使用 Web 视图,那么 PWA 和混合应用程序之间到底有什么区别?
有了 Ionic,我什至可以为 pwa 和混合应用程序使用完全相同的代码...
渐进式应用程序
- 如今,这些应用仅适用于 Opera、Chrome 和三星移动浏览器。然而,这些浏览器仅占移动浏览器市场的不到一半。
- 在某些设备上,某些功能将无法使用。例如,iOS 设备上的通知将不起作用。
- 在某些应用程序中,相机、指纹扫描仪和 GPS 可能无法正常工作或出现故障。
基于 Cordova/Ionic 的混合应用程序
- 在多个平台上高效地制作混合应用程序 运行 并非易事。在某些情况下,它的成本可能与 运行ning 本机应用程序几乎相同。费用将取决于您希望获得原生应用体验的程度。
- 由于这些应用程序将使用类似浏览器的组件启动,因此它们的好坏取决于它们所在的组件 运行。早些时候,Google 和 Apple 在 WebView 上没有达成一致。虽然它已经有了很大的改进,但它的效率不如 运行 本地应用程序。
大致如下:
Web 应用程序 (PWA) 只是一个网站,它使用清单文件等声明某些功能,这可以获得一些特殊处理(例如利用服务工作者、注册 Web 通知、完整屏幕等如果目标浏览器支持它)。作为一个网络应用程序,它的 "privileges" 在系统级别上非常有限(例如持久性配额等)
混合应用程序(例如 Cordova)是一种二进制代码,它是 "wrapping" 您的网络代码,并通过插件公开某些 "native" SDK 功能。您也可以编写自己的插件,理论上可以通过这种方式访问任何本机 SDK API。但是由于您的主要应用程序代码仍然是在 webview 内部运行的网络应用程序,它仍然有很多性能等方面的损失。但至少您可以获得存储等方面的东西。
本机应用程序是使用目标平台的 SDK 的二进制构建。在 理论让您最大限度地获得能力和性能 为每个平台编写单独代码的费用。
有道理吗?