10. Interim Conclusion
The 25 examples presented, one by one, the tools for mobile programming with [Kotlin] and [Jetpack Compose]:
- the structure of a [Android] application: the [Gradle] project, the manifest, the activity, and the resources;
- functions ([@Composable]), state ([remember], [rememberSaveable], [mutableStateOf]), and recomposition;
- controlled fields, forms, and their validation;
- components: parameters, events, composition, lifecycle (effects), [CompositionLocal];
- navigation: [navigation-compose], typed routes, deep links, guards;
- asynchronous operations: coroutines, [Flow]; shared state: [ViewModel], [StateFlow], [DataStore];
- Internationalization: resources [strings.xml], application language;
- communication with a server JSON: [OkHttp], cookies, [kotlinx.serialization], an access layer to API, server errors.
The following case study brings them all together into a complete application: the [Android] client for the RdvMedecins application.