0
votes

i have todo a Hybrid-App for Android and (in future)IOS.

I have solid experience in Cordova Development. And basic experience in Meteor.

What the app should do.

  1. Work Offline
  2. Auto-Update (when connected to internet)
  3. provide backend-functionality where new assets(videos,images) and text can be uploaded
  4. Multi-Language

    • Multi-language i can do myself

    • for the backend-functionality i consider to have a admin section inside the app only reachable in the Web-Version of the app. For providing new assets to the app as i learned in PHP in my understanding i just would do an upload to the specified directory and update my DB as well.

So as Meteor Applications are bundled. Do i have the possibility to upload into the unbundled directories from my bundled app? Or do i have restrictions here?

I assume i can upload my files from the backend to every destination on the server as i learned and can provide Offline Access with https://github.com/GroundMeteor/db. and maybe also https://atmospherejs.com/meteor/appcache even if appcache can´t cache video-files, right?

Then - the next possible gap in my mind is that after uploading the new videos/assets to the server. In my understanding i would have to rebundle it, so the application has access to it right?

Ok let´s say i can get this to work , in every case i have to rebundle the app to trigger Hot-Code-Push to the other clients, right?

Next - if all before is working. And the App(now Online for short time) gets new DB-Entries(via GroundDB) and downloads new assets, i have the final question.

As this app is Multilanguage and per language maybe has 15 Videos each the App-Size in my understanding will grow unto maybe 40GB - just over Hot-Code-Push.

Is there a problem? with Cordova/Android/IOS restrictions or even performance issues. On the other hand if new device will get the actual app, where already 40GB Videos inside. Will this App Android/IOS even install?

Note: I think to provide "real" Appstore Update i would delete all assets. Publish the new version of the App to the Appstores and after that -> bundle again to trigger the Hot-Code-Push again.

I am a bit scared if everything will work how i imagine it. So really any help (tips,solutions,hints or thoughts) is appreciated a lot because better i tell the client now to change concept then when it is to late.

EDIT: for better understanding: It is a Bussines-App not for the public available.

1

1 Answers

1
votes

First, there is no need to rebundle the meteor app each time. When you deploy the application on the website, the client will check if it has the last version and if not, download the new one.

GroundDB is great for offline collections but uses localStorage. Hence you will be limited by the capacity of localStorage (5mb).

There is now way you can publish an app of 40Gb.

I suggest that you push only the data needed (the user won't need everything at once) and hope that he will have internet before running out of content.