Veterans Track

Introduction to Mobile App Architectures

Mobile application architecture from a software architect's lens — covering layers, Android, iOS, hybrid, cross-platform, quality attributes, delivery pipelines and mobile security.

Domain 01 · Architecture Layers

Presentation Layer

Renders the application to end users. Covers UI components, navigation flows, UI process components, accessibility and state management.

UI componentsNavigationAccessibilityState management

Business Layer

Encodes domain logic, workflows, entities and business rules decoupled from UI and data concerns.

WorkflowsDomain entitiesBusiness rulesUse cases

Data Layer

Manages local persistence, remote APIs, caching, encryption at rest and repository patterns.

Repository patternLocal cacheEncryptionOffline sync

Cross-Cutting Concerns

Logging, error handling, analytics, crash reporting and feature flags across all app layers.

Crash reportingAnalyticsFeature flagsLogging

Domain 02 · Platform Architectures

Android Architecture

Modern Android uses Jetpack, MVVM/MVI, Kotlin Coroutines and Compose for declarative UI.

Linux kernelJetpackKotlinCompose

iOS Architecture

Darwin/XNU kernel, UIKit or SwiftUI, Swift, MVVM, Clean Swift and The Composable Architecture.

SwiftUIUIKitTCAMVVM

Hybrid Architecture

Web technologies wrapped in a native shell with bridge capabilities for device APIs.

WebViewIonicCapacitorPWA

Cross-Platform Architecture

Single codebase targeting multiple platforms through Flutter, React Native, MAUI or Kotlin Multiplatform.

FlutterReact Native.NET MAUIKMP

Microservices Back-End

Mobile clients should connect to a Backend-for-Frontend layer that aggregates microservices.

BFFAPI gatewayRESTGraphQL

Layered Architecture

Classic three-tier model: application layer, middleware/service layer and platform layer.

App layerMiddlewarePlatform

Domain 03 · Quality Attributes & Fitness Functions

Performance

Startup time, frame rate, ANR prevention and smooth interaction performance.

StartupFrame rateANR

Data Security

Encryption, token handling, secure storage, keychain and keystore usage.

EncryptionTokensKeychain

Maintainability

SOLID design, modularity, clean boundaries and scalable codebase structure.

SOLIDModularityBoundaries

Reusability

Shared libraries, design systems and reusable domain/application components.

Shared libsDesign systemComponents

Resilience

Offline support, retry logic, circuit breakers and graceful degradation.

OfflineRetryCircuit breaker

Scalability

Back-end throughput, BFF scaling and API response optimisation.

ThroughputBFFAPI scaling

Accessibility

WCAG, TalkBack, VoiceOver, colour contrast and keyboard/switch access.

WCAGTalkBackVoiceOver

Testability

Dependency injection, mocks, UI automation and testable architecture patterns.

DIMocksUI automation

Observability

Crash reports, traces, metrics, logs and app performance monitoring.

TracesMetricsCrashes

Domain 04 · Team, Delivery & Governance

Skill Sets

Platform expertise, backend integration knowledge and UX/design-system literacy must be mapped before finalising architecture.

Native specialistsCross-platformUXDesign system

CI/CD & Release Pipeline

Mobile CI, automated store submission, code signing and over-the-air update mechanisms.

FastlaneBitriseCode signingOTA

Mobile Security Posture

Certificate pinning, root detection, obfuscation, OWASP Mobile Top 10 and secure IPC.

Cert pinningRoot detectionOWASP MobileObfuscation

UI Design Patterns

MVC, MVP, MVVM, MVI and Clean Architecture govern layer interaction and app maintainability.

MVCMVPMVVMMVIClean Architecture