We often say we have to consider differently when building a complex mobile application. But what is complex?
In general complexity in a mobile application comes from:
- Asynchronous communication capabilities.
- Orchestration of many stateless service calls that are subject to a single transaction semantics. Example: Create a ServiceOrder with its Notifications.
- On device persistency and in particular keeping object state consistent with the server state.
- On device business logic such as a Pricing or a Configuration Engine.
- The ability to handle large data load. Example: equipments, material, products.
- Pushing data and updates to the mobile application.
- Support for complex data distribution rules (from server to device).
- Scalability in number of devices, requests, and data volume.