Chaque semaine, un client nous demande : "Pourquoi ne pas faire du Flutter ou du React Native pour aller plus vite ?" C'est une excellente question. La réponse dépend de ce qu'on cherche à optimiser.
Chez Midas Labs, quand nous développons une application mobile pour un client, nous privilégions trois choses :
- La qualité perçue : animations fluides, comportement natif, accès au matériel.
- La maintenabilité sur le long terme : code lisible, évolutif, testable.
- La performance : démarrage rapide, consommation maîtrisée, réactivité.
Pour Android, notre choix est le Kotlin avec Jetpack Compose.
Pourquoi pas Flutter ou React Native ?
Ces outils ont des cas d'usage légitimes : prototypage rapide, MVP, équipes web qui veulent du cross-platform. Mais ils ajoutent une couche d'abstraction. Cette couche a un coût :
- des plugins à maintenir ;
- des bugs spécifiques à certaines versions d'OS ;
- des performances parfois inférieures sur des animations complexes ;
- un débogage en deux étapes (framework + OS).
Quand on livre une app à des milliers d'utilisateurs, chaque seconde de lancement compte. Le natif reste le chemin le plus sûr.
Les avantages de Jetpack Compose
Compose a transformé le développement Android. Fini les fichiers XML interminables. L'interface se décrit directement en Kotlin, de manière déclarative, proche de React ou SwiftUI.
Exemple minimal d'un écran avec une liste :
@Composable
fun ProjectList(projects: List<Project>) {
LazyColumn {
items(projects) { project ->
ProjectCard(project)
}
}
}
Ce qui nous plaît dans Compose :
- un code plus concis et plus lisible ;
- un système d'état réactif intégré ;
- une interopérabilité avec les vues Android existantes ;
- un support officiel par Google, donc une longue vie assurée.
Architecture d'une app Midas Labs
Une app typique chez nous ressemble à ceci :
UI (Compose)
↓
ViewModel (gestion d'état, logique métier)
↓
Repository (source de données unique)
↓
API / Base locale (Room)
Cette architecture, inspirée de la Clean Architecture, permet de tester chaque couche indépendamment et de remplacer une source de données sans tout refondre.
Quand choisir le natif Android ?
Si votre application doit :
- utiliser intensivement la caméra, le GPS, le BLE ou les capteurs ;
- offrir une expérience premium avec des animations complexes ;
- être maintenue 3 à 5 ans sans réécriture complète ;
- cibler principalement Android pour commencer ;
alors Kotlin + Compose est un choix solide.
Conclusion
Nous ne disons pas que le cross-platform est mort. Nous disons que le choix technologique doit découler de vos objectifs business. Si vous voulez une app Android qui dure, le natif reste la valeur sûre. Et si vous voulez aussi cibler iOS, nous proposons Swift / SwiftUI pour maintenir la même qualité sur les deux plateformes.
Envie d'en discuter ? Contactez-nous à midas@gmail.com.