The Static Build for Distribution option is used to speed up the performance of MobileSmith apps, particularly in low-bandwidth conditions, by reducing or eliminating the need for apps to call the MobileSmith servers when apps launch on end user devices. Let's take a look at how it differs from the Dynamic build option.
|The MobileSmith Server is called to get...||Dynamic Build option||Static Build option||For example|
|Layout updates||YES||NO||Changes to canvas elements (Fonts, layout, backgrounds, formatting, alignment, images from the image library, etc.) can be pushed to app user with the Dynamic Build Option, or they can be "locked" at build time with the Static Build option to speed up page load times.|
|Content updates||YES||YES||Your content data is always served dynamically so that your end users have the latest and greatest in their app.|
The Details - Static Build vs Dynamic Build
For many pages in a mobile app, the app needs two separate pieces of data to "draw" the page: layout data and content data. The layout data tells the app about colors, fonts, and page arrangement - which fields go where and what each field looks like. The content data tells the app what data to show in those fields.
For example, let's say you have an RSS Feed AppBlock that shows stories from the New York Times.
Look at the "title" field - its configuration data would include its location on the canvas, Background Color, Text Color, etc.
Its content data would be the title of each item - (As Dallas Sniper Prowled, Quick Decisions and Life-Altering Consequences; Amid Broad Movement Against Police Abuse, Some Act on the Fringe; etc)
When the app user navigates to the RSS page, the app will call the MobileSmith platform and request the configuration data. The app will call the RSS feed URL to get the content data. The call to the MobileSmith platform is designed to be extremely fast - under normal circumstances, the app user won't notice a delay. However, the delay might be noticeable if the user has a weak connection (while driving through a tunnel, for example). In that situation, the app user will have a better experience if the app already has the configuration data and doesn't need to talk to the MobileSmith platform.
When you do a test build, it is always Dynamic. When you do a Build For Distribution, you can choose to use the Static Build option or the Dynamic Build option. This is because, generally, you will use test builds while creating your app and distribution builds when you are ready to give the app to your end-users. While creating your app, you might make a number of layout changes as you work to get the optimal display for your app. If you had to build and install a whole new app every time you made a layout change, it could become time-consuming. Fortunately, the Dynamic Build option solves that problem by getting the latest layout changes.
Maybe when you see it on your phone, you think it might look better if the title were displayed in bold. Since a test build is always Dynamic, you can see how it looks immediately. First, make the change in the platform. Then, on your phone, leave the AppBlock. In this example, you would go back to the Menu List. Finally, return to the page in question, and you will see your layout changes.
When you are satisfied with the layout of your app and are ready to give it to your end-users, you can do a Build For Distribution and choose the Static Build option.
The app will always be able to load each page quickly because it won't have to call the MobileSmith platform.
Of course, if you want to do a Build For Distribution and retain the ability to make dynamic layout changes, you can choose the Dynamic Build option.
Your end-users will always get the latest layout updates, although they might experience slightly slower page loads when their devices have weak connections.