The mobile applications developed with Dynamics Mobile Studio are hosted inside the Mobile CORE native app.
Dynamics Mobile Apps are actually a hybrid apps – e.g. contains native part and web-app part. There is a single app called Dynamics Mobile for each of the supported mobile platforms. This native app may “host” inside web-apps devleloped with Dynamics Mobile Studio. The native app is also called CORE.
The developers can create business apps hosted inside the mobile CORE by using Dynamics Mobile Studio.
These mobile apps hosted inside the mobile CORE are called mobile modules.
Anatomy
Each mobile module (or mobile app) contains the following component types:
- Business objects
- Code
- Views
- Tasks
- Translations
- Resources
- Libraries
The mobile module can contain all or some of the component types.
Business objects
The data consumed from the mobile module is described as business object. Each business object has a Name , set of members and other attributes.
See the Business Objects section for more details.
Each business object represents a pice of data, which the module will use. The business object is stored as database table on the device and can be accessed by the developer either by using the ORM (object relational management) style API or direct sql queries.
The business objects are automatically synchronized with the “linked” ERP system behind the scene without the need for the developer to take care for the sync process.
Code
The developer can create multiple “code files” to put the module’s business logic used across the various module’s views and tasks. The ‘code’ files are developed with javascript.
Views
The views describes a reusable pieces of user interface ( forms ) containing buttons, textboxes, lists and other user interface elements. Dynamics Mobile Studio provides a set of built-int widgets, which can be used by the developers. However the developer can use pure HTML5 to create even more appealing user interfaces. Each view has a layout description ( e.g. visual design ) and associated code section executed during the view life cycle.
The Views can be used in the Tasks to compose the actual flow of the user interface of the mobile module. Single view can be re-used in multiple tasks , allowing the developer to easily provide consistent UI across the various application sections.
Tasks
The user interface is organazied in tasks. Each task is redered as icon (tile) on the screen and has a title and contains set of steps and routes. Each step has associated view and can navigate to other step. The navigation path between two steps is called route. The views can be used by differen tasks.
The administrators can define the tasks allowed for specific device role.
The user can click a task’s icon to launch the task, which will navigate the user to the first step within the task.
Translations
The translation of the user interface can be easily done by using the built-in translation API. It allows the developer to use string constants for labels, button texts, messages and others. Then those string constants can be translated to different languages by using the built-in Dynamics Mobile translation designer.
Resources
The module can contain additional resources like images and CSS files
Libraries
The libraries are not part of the modules, but the modules always depends on libraries. Each module will depend on the standard Dynamics Mobile CORE library. Developers can create their own libraries and even package any other third party javascript library and upload it as Dynamics Mobile library and use it in mobile modules.