Hi all,
it's a couple of days that I'm considering pros and cons about two alternate strategies on how to keep a B4J UI app updated.
Please contribute with your experiences and observations. TIA.
External
A different app, let's call it a checker, has as its main task the checking for new versions of one or more of the locally installed apps. It will (could) check for ancillary files too (like images, videos, whatever) specific for each app. I'm considering to auto-launch by a batch file at PC boot just the checker app . On its exit, the same batch file will decide what to do next based on the checker's exit code (ExitApplication2).
If need arises, the checker could be updated to an UI-based app so to interact with the user (a simple use case could be: do you want to update app X now? It's not a mandatory update).
Internal
Each application will sport its own "checker". On boot, the OS will launch the app (or apps) and each one will check its own status against a server (LAN o remote) and update itself (automatically or based on user input). Once updated the app should terminate and start itself again.
A third way could be an app that uses jshell to wait for the execution of an external checker; the app will then operate as for the Internal options above. The advantage could be to separate the checking code from the main app.
Note: all the above is just for updating apps' code. Each app knows how to alter its sqlite db (versioning) , if needed.
udg
it's a couple of days that I'm considering pros and cons about two alternate strategies on how to keep a B4J UI app updated.
Please contribute with your experiences and observations. TIA.
External
A different app, let's call it a checker, has as its main task the checking for new versions of one or more of the locally installed apps. It will (could) check for ancillary files too (like images, videos, whatever) specific for each app. I'm considering to auto-launch by a batch file at PC boot just the checker app . On its exit, the same batch file will decide what to do next based on the checker's exit code (ExitApplication2).
If need arises, the checker could be updated to an UI-based app so to interact with the user (a simple use case could be: do you want to update app X now? It's not a mandatory update).
Internal
Each application will sport its own "checker". On boot, the OS will launch the app (or apps) and each one will check its own status against a server (LAN o remote) and update itself (automatically or based on user input). Once updated the app should terminate and start itself again.
A third way could be an app that uses jshell to wait for the execution of an external checker; the app will then operate as for the Internal options above. The advantage could be to separate the checking code from the main app.
Note: all the above is just for updating apps' code. Each app knows how to alter its sqlite db (versioning) , if needed.
udg