如何使用 AngularDart 构建离线支持 Web 应用程序

How to build an offline supporting web application with AngularDart

我们已经开始在 AngularDart 2 上构建一个简单的 Web 应用程序。

在客户端失去互联网连接的情况下,让它在客户端上运行的最佳方法是什么?现在我正在使用 Lawndart 库来使用本地存储来保存从 REST-Api 接收到的一些数据并且它工作正常。但是我还没有想出如何告诉客户端浏览器缓存所有源并在没有互联网连接时使用它们。 (现在我只是使用我的 Redstone-Dart 服务器(REST 服务在其上 运行)来提供资源)

我偶然发现了 Angular Mobile Toolkit (https://mobile.angular.io/guides/),但它仅适用于 TypeScript,或者有没有办法将它与 Dart 一起使用?

此外,在项目的后期,可能需要向客户端发送推送通知...这可以用 Dart 和 Angular 2 实现吗?

关于以下几点:

cache all sources and use them when having no internet connection

虽然已被弃用且声誉不佳,但我个人仍然使用 AppCache (https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache)。我知道这个解决方案看起来像 2005 年人们谈论渐进式应用程序和 Service Worker 时的样子。它是目前唯一有效的跨浏览器解决方案。

易于设置(只需提供 manifest.appcache)。对于angular应用,主要包含index.html、main.dart.js和外部依赖。 对我来说,它适用于 Safari、Chrome 和 Firefox(无法判断 IE/Edge)。由于 iOS 是我的需要,我找不到另一个选择(服务工作者)。 Chrome 开始针对非 https 站点发送警告,但到目前为止一切正常。

真正的推送通知在网络环境中更为复杂;我个人使用 Firebase 实时数据库 "push" 更新