2017-01-16 117 views
3

有谁知道任何可用于Meteor的资源,可以帮助为(主要)离线使用加载大型(20MB-80MB)资产?迁移到流星/反应

我目前的发展完全是在香草JS(在客户端)和我正在考虑建立一个流星性能和实践/阵营版本。目前我的应用程序可以在线和离线运行,并在与MongoDB数据库存在连接时同步数据。它还最初动态地将大型资产加载到IndexedDB中供离线使用(实际上,视图层仅与本地数据库通信)。整个系统使用WebSocket将所有数据传输到初始负载之外。大型资产的运输通过套接字稳定地加载,因此需要一段时间,但是数据可以下载并暂停并重新启动。

有没有处理这样的事情呢?或者有更好的方法来下载大型数据文件并将它们安装在本地数据库中?它可能是一个JSON文件,但我担心会这样做会导致用户的浏览器试图一次加载所有数据。任何方向或建议将不胜感激。谢谢。

+0

我想你想在这个YouTube视频引入此视频,我完全解释的谷歌I/0 2016'建设下线一进网站Apps' https://youtu.be/cmGr0RszHc8?list=PLyHVYmk4Ww8hUrHgbtLVTNmkT1jFlSOOE – ncubica

+0

感谢什么。它非常有趣。我已经实现了服务人员来处理html,css,js和图像的初始缓存。我不喜欢他们的事情是,他们只是喜欢结束时,他们觉得喜欢它。相反,我依靠websockets来保持连接的开放,并且我使用webworkers来处理大数据到本地数据库中的初始资产和同步处理。 –

回答

3

正如我所能理解的,你正试图构建一个可以脱机工作的web应用程序。在这种情况下,Progressive Web App (PWA)是你应该寻找的东西。

事实上,PWA是一个标准,离线工作是核心功能之一。实际上,PWA利用service worker来将您的静态资产缓存在浏览器中,并将其用于将来的加载。但请记住,这项技术仍然是新的,并且尚未成为Web开发的标准,因此您应该检查它是否适用于用户的浏览器。

谈到流星,已经有一些尝试,使流星应用程式离线工作。我知道的最好的两个是meteor-service-workerGroundDB。第一个帮助你缓存浏览器中的应用程序源,最后一个帮助你的数据库存在于客户端。它们都是很好的软件包,但我认为它们还不成熟,所以在使用它们之前三思。

+0

我不确定我的应用程序是否完全有资格参加PWA。这不是移动友好的,根据项目设置软件的初始安装需要15到45分钟(软件仍然可以使用,但不能立即脱机)。我研究过GroundDB,但是我找不到很多有用的信息。我主要好奇的是GroundDB如何处理大量数据。你知道在GroundDB上做的任何测试吗? –

+0

您不需要为您的应用程序实现所有PWA功能,因为不需要仅专注于离线工作的缓存就足够了。关于GroundDB,我不知道使用它的任何现实生活中的示例应用程序。 – Khang

+0

我明白了。我对Google的信息一定感兴趣。我会经历它,因为它全部适用于我正在做的事情。 –