OutSystems Mobile Developer Specialist study materials
OutSystems Mobile Developer Specialist study resources

OutSystems Mobile Developer Specialist: Mobile App Architecture and Lifecycle

OutSystems Mobile Developer Specialist · Work through your exam, one topic at a time.

All guide sections

Mobile App Architecture and Lifecycle

Mobile App Architecture and Lifecycle

OutSystems mobile apps are Reactive Web Apps with a mobile UI target; the native shell is produced by the Mobile App Build Service (MABS). The exam tests whether you can split work correctly between client and server and use screen lifecycle events without breaking offline behavior.

Core rules

  • Client Actions run on the device; Server Actions run on the server. A Client Action cannot query the database directly unless it calls a Server Action or Data Action.
  • Screens and Blocks have lifecycle events: OnInitialize (before first render, set local variables), OnReady (after the screen is ready, safe for UI interactions), OnRender (after each render, keep light), and OnDestroy (cleanup).
  • Use Data Actions to encapsulate server-side queries and expose them to screens.
  • Keep long-running work off the UI thread; show feedback while a Server Action runs.

Worked example

A product list screen must open instantly and refresh in the background. Put an Aggregate over a Local Entity on the screen so the list renders from device data. In OnReady, call a Client Action that invokes a Server Action to fetch updates, then writes them to the Local Entity. The UI refreshes because the Aggregate re-runs. Reasoning: the screen does not wait for the network; OnReady is the right hook because the screen exists and can show a feedback message.

Traps

  • Putting a Server Action in OnInitialize and expecting offline data to appear.
  • Using OnRender to call a Server Action on every render, causing loops.
  • Assuming a Client Action can use an Aggregate directly on a normal server entity while offline.
  • Forgetting OnDestroy cleanup for timers or subscriptions.