我必须为Android和(将来)IOS做一个Hybrid-App。
我在Cordova开发方面拥有丰富的经验。和流星的基本经验。
该应用程序应该做什么。
离线办公
自动更新(连接到互联网时)
提供后端功能,可以在其中上传新资产(视频,图像)和文本
多语言
我可以自己做多国语言
对于后端功能,我认为在应用程序内部只有一个可在应用程序的Web版本中访问的管理部分。据我了解,我从PHP中学到了为应用程序提供新资产的方法,就是将其上传到指定目录并更新我的数据库。
因此,随着流星应用程序捆绑在一起。我可以从捆绑的应用程序上传到未捆绑的目录吗?还是我在这里有限制?
我假设我可以根据自己的了解将文件从后端上传到服务器上的每个目标,并且可以为https://github.com/GroundMeteor/db提供脱机访问权限。即使appcache无法缓存视频文件,也可能https://atmospherejs.com/meteor/appcache,对吗?
然后-我想到的下一个可能的差距是,在将新的视频/资产上传到服务器之后。以我的理解,我将不得不重新捆绑它,因此应用程序可以访问它了吗?
好的,我可以让它正常工作,在每种情况下,我都必须重新捆绑该应用程序才能将Hot-Code-Push推送给其他客户端,对吗?
下一步-如果之前的所有方法都在工作。并且该应用程序(现在短时间内在线)获得了新的数据库条目(通过GroundDB)并下载了新资产,我有最后一个问题。
由于该应用程序是多国语言,每种语言可能有15个视频,因此我认为该应用程序大小可能会增加到40GB-刚好超过Hot-Code-Push。
有问题吗?带有Cordova / Android / IOS限制甚至性能问题。另一方面,如果新设备将获得实际的应用程序,则其中已经有40GB的视频。这个应用程式Android / IOS会安装吗?
注意:
我认为要提供“真实的” Appstore更新,我会删除所有资产。将新版本的App发布到Appstore,然后->再次捆绑以再次触发Hot-Code-Push。
如果一切都按我的想象进行,我会有点害怕。因此,非常感谢任何帮助(技巧,解决方案,提示或想法),因为更好的是我告诉客户现在要更改概念,然后再迟到。
编辑:为了更好的理解:这是不适合公众使用的Bussines-App。
最佳答案
首先,不需要每次都重新打包流星应用程序。当您在网站上部署该应用程序时,客户端将检查它是否具有最新版本,如果没有,请下载新版本。
GroundDB非常适合脱机收集,但使用localStorage。因此,您将受到localStorage(5mb)容量的限制。
现在有一种方法可以发布40Gb的应用程序。
我建议您只推送所需的数据(用户不会一次需要所有数据),并希望他在内容用完之前可以上网。