Web App Optimization

Use app-load optimization implements a just-in-time web asset retrieval and DOM-load strategy in order to speed up initial app-load.
When checked the Build Type is displayed and offers 3 options.
  • Debug - creates and interim build of the app for debugging.

  • Test - creates a predominately degugged test release of the app

  • Production - creates the production release of the app for deployment



Production Option
When you are ready to deploy your app to your users, and only when you are ready to deploy, you must increment the "publish version id" - as shown in the 'Visual Studio Settings' on the screen image above. Then select the 'build type' of "production" and Generate your app design.
New Evoke app designs have the publish ID shown by default on the login page or this can be retro-fitted by exposing the AppInfo Entity.
When generated as a "production" version, live apps will only re-load web assets if the Publish Version ID is higher than the version ID of the version of the app already in use by a user.
Debug Option
The debug option can help with debugging app designs that have a lot of images or a slow app start up. When an app is generated in "Debug" mode the web browser asset caching will not be automatically disabled. This allows browser debug breakpoints, in the F12 Browser debug tools, to be retained.
Test Option
The test option should really only be used when you have a predominately debugged test release of an app or you are testing on a mobile device where web asset/image caching can be a challenge. It is for final QA/sweep testing as web browser asset caching will be automatically disabled and debug options, such as breakpoints, disabled.
It is recommended that you generate and run your app in "test" mode locally on your computer prior to generating a "production" build for deployment.


Deployed apps
When you are testing or have deployed an app using app-load optimization options you may notice that, for very large page series, the egg-timer symbol appears very briefly (as shown on the right) the very first time a large page series is entered.



It is also important that your users do not use a "cached URL" to access your app as the URL extension "/Run?v-x.x" is not required and could result in the wrong version of your app being loaded.

Examples of the two types of URL are shown on the left and it is important that users only type in the actual URL and not any extension that they may have previously seen added to a URL.