离线优先方法和 PWA 的区别?
Difference in offline-first approach and PWAs?
在谷歌搜索我的困惑时,我没有找到满意的资源。
所以我一直在寻找的问题是,离线优先移动应用程序和 PWA 之间的区别是什么。
至于我对任何移动应用程序的理解程度,可以说;使用 redux 或使用 SQLITE 或使用 realm 的 react-native 应用程序可以作为离线优先访问的应用程序。
使用 PWA,服务工作者(我对此知之甚少)进行所有离线用户交互,最后当确认网络连接时,根据 PWA 的要求获取或检索数据。
虽然我没有提到 PWA 可以执行的其他功能(同样我对这些功能知之甚少)。甚至当现代浏览器只能支持 PWA 时,为什么在今天的趋势中大肆宣传 PWA?
如果我的问题有任何错误,请指导我。非常感谢任何类型的信息、知识或 link 来回答我的问题。
您可以阅读 first of a series of articles about PWAs 以获取有关 PWA 功能及其优点的更多详细信息。
这两个概念并不相互排斥。
PWA,由于 Service Worker and caching strategies,能够通过缓存目标资产或数据响应来 implement/provide 离线优先方法。
但是,您也可以使用其他技术提供离线优先方法,而无需引入 PWA。
PWA 背后的炒作是由于我们可以添加到网络应用程序的许多额外功能,使其在行为和外观上都像本机解决方案。想想让你的前端团队开发一个网络应用程序的好处,这个应用程序几乎完全是一个原生应用程序。而且无需聘请专门的本地团队 (iOS/Android)。
然而,PWA 并不是适用于任何情况的灵丹妙药。它们仍然具有只有本机应用程序才能提供的限制(例如 SMS 功能和访问设备联系人),即使有不同的 API 旨在解决这些差距,如 Google Contact Picker API。
直到最近,大多数主要应用程序都针对拥有良好互联网连接的国家/地区。随着发展中国家互联网访问量的激增,大部分未开发的市场正在曝光。虽然这些部分现在可以访问互联网,但连接问题很多。因此,为了给这个新客户品牌提供最佳体验,我们需要可以 运行 离线的应用
离线第一种方法:
这种方法主要适用于任何可以 运行 离线直到建立可靠连接的设备。作为开发人员,这意味着构建通过数据库、缓存或任何其他本地存储方法在设备中存储信息的能力。
然后当用户打开应用程序 (desktop/mobile) 时,这些 运行 尽可能正常。只是提醒用户它与最新版本不同步。
因此,离线优先的方法可以是
- Android 具有离线功能的本机应用程序
- IOS 具有离线功能的应用程序
- 依赖互联网的桌面应用,支持离线
- 具有离线功能的 WebApp:PWA 是最新的
PWA(渐进式 Web 应用程序):
PWA 是一种 Web 应用程序,具有 运行 离线功能。由于这些用户中的许多人使用的是低成本设备(内存不足、处理能力低),因此安装新本机应用程序的人数势在必行。此外,很难说服人们下载并安装新的应用程序。
这就是 Web 应用程序可以改变游戏规则的地方。具有原生体验和离线功能的渐进式 Web 应用程序可以推动更多用户尝试新产品。除此之外,无需强迫用户再安装一个应用程序,link 可以轻松推向市场。
渐进式 Web 应用程序是离线优先方法的一个子集。正如@Francesco 指出的那样,随着浏览器添加更多访问本机功能(如联系人)的功能,PWA 可能是迈向现代应用程序开发以发布任何新功能的第一步。
在谷歌搜索我的困惑时,我没有找到满意的资源。
所以我一直在寻找的问题是,离线优先移动应用程序和 PWA 之间的区别是什么。
至于我对任何移动应用程序的理解程度,可以说;使用 redux 或使用 SQLITE 或使用 realm 的 react-native 应用程序可以作为离线优先访问的应用程序。 使用 PWA,服务工作者(我对此知之甚少)进行所有离线用户交互,最后当确认网络连接时,根据 PWA 的要求获取或检索数据。
虽然我没有提到 PWA 可以执行的其他功能(同样我对这些功能知之甚少)。甚至当现代浏览器只能支持 PWA 时,为什么在今天的趋势中大肆宣传 PWA?
如果我的问题有任何错误,请指导我。非常感谢任何类型的信息、知识或 link 来回答我的问题。
您可以阅读 first of a series of articles about PWAs 以获取有关 PWA 功能及其优点的更多详细信息。
这两个概念并不相互排斥。
PWA,由于 Service Worker and caching strategies,能够通过缓存目标资产或数据响应来 implement/provide 离线优先方法。
但是,您也可以使用其他技术提供离线优先方法,而无需引入 PWA。
PWA 背后的炒作是由于我们可以添加到网络应用程序的许多额外功能,使其在行为和外观上都像本机解决方案。想想让你的前端团队开发一个网络应用程序的好处,这个应用程序几乎完全是一个原生应用程序。而且无需聘请专门的本地团队 (iOS/Android)。
然而,PWA 并不是适用于任何情况的灵丹妙药。它们仍然具有只有本机应用程序才能提供的限制(例如 SMS 功能和访问设备联系人),即使有不同的 API 旨在解决这些差距,如 Google Contact Picker API。
直到最近,大多数主要应用程序都针对拥有良好互联网连接的国家/地区。随着发展中国家互联网访问量的激增,大部分未开发的市场正在曝光。虽然这些部分现在可以访问互联网,但连接问题很多。因此,为了给这个新客户品牌提供最佳体验,我们需要可以 运行 离线的应用
离线第一种方法:
这种方法主要适用于任何可以 运行 离线直到建立可靠连接的设备。作为开发人员,这意味着构建通过数据库、缓存或任何其他本地存储方法在设备中存储信息的能力。 然后当用户打开应用程序 (desktop/mobile) 时,这些 运行 尽可能正常。只是提醒用户它与最新版本不同步。
因此,离线优先的方法可以是
- Android 具有离线功能的本机应用程序
- IOS 具有离线功能的应用程序
- 依赖互联网的桌面应用,支持离线
- 具有离线功能的 WebApp:PWA 是最新的
PWA(渐进式 Web 应用程序):
PWA 是一种 Web 应用程序,具有 运行 离线功能。由于这些用户中的许多人使用的是低成本设备(内存不足、处理能力低),因此安装新本机应用程序的人数势在必行。此外,很难说服人们下载并安装新的应用程序。
这就是 Web 应用程序可以改变游戏规则的地方。具有原生体验和离线功能的渐进式 Web 应用程序可以推动更多用户尝试新产品。除此之外,无需强迫用户再安装一个应用程序,link 可以轻松推向市场。
渐进式 Web 应用程序是离线优先方法的一个子集。正如@Francesco 指出的那样,随着浏览器添加更多访问本机功能(如联系人)的功能,PWA 可能是迈向现代应用程序开发以发布任何新功能的第一步。