Vahana is a configuration based system and everything is a configuration which gets executed by mobile and web VRT. That means configuration never gets converted into real code but read as a settings to render a page.
for a typical enterprise application like Tab banking, what is the first download size?
For eg, If someone is downloading the app first time ( going to happen a lot in case of employees installing the app), how much configuration is getting Dowloaded at the first time( full configuration or dashboard page means lazy loading)?
What is the cost of such type of rendering?
How often the configuration is updated from server and is there any mechanism to download configuration only in case of any change?
@naks @Vikas_Dhillon @lmehta @tushar.jain @vipin.verma @dinesh.parekh
When a user download the app and login first time in App and then two type of data is downloaded in Mobile App.
- Config Data
- LOVs Data
So JSON size that will be downloaded on first app login depends on complexity of application i.e. No of components in that app and no of LOVs used in that App.
Below is the size of JSON for a LOV & Component (at a very high level you can consider one screen= one component):
1 LOV Size= 400-500 Bytes
1 Component Config Size= 50-60KB
So, for example an app have 20 LOVs & 50 Components, size of JSON will be:
500 Bytes*20=10000 Bytes = 10 KB
60 KB * 50= 3000 KB
Total Size of JSON (sum of data exchange in all 4 APIs)= 3000+10= 3010 KB
Hope it helps.
Aside above, if your number of components are at high level (means your application is complex) and you don’t want slowness on first login then you can include your config JSON at compile time as well, while downloading the apk. This option is available in Download APK section.
What happens when user opens the app again?
Does it download the configuration again?
It calls an apis that provides config version number for each component and if there is mismatch in config version then it pulls the incremental configuration from server.