Jérémy Magrin
Développeur React Native Freelance Senior · Expo · iOS & Android
Beaucoup l'ont trouvé truqué
Le reproche le moins défendable, c'est celui qu'on m'a fait sur iOS
On m'a dit que Software Mansion avait plombé KMP en lui collant une UI partagée qui redessine tout en Skia
Qu'avec du vrai SwiftUI natif, KMP aurait explosé React Native
Sauf que le SwiftUI natif, ça veut dire réécrire toute ton interface une deuxième fois
Une fois en Compose pour Android, une fois en SwiftUI pour iOS
À ce moment là tu ne fais plus du cross-platform, tu fais deux apps
C'est exactement pour ça que ce benchmark est honnête
Il compare à armes égales, une seule codebase UI de chaque côté
React Native écrit son interface une fois, KMP en shared UI aussi
Le point que je concède
Sur Android, KMP c'est du Kotlin compilé en bytecode, quasi du natif
Forcément qu'il écrase sur le démarrage et la RAM, j'aurais dû le dire plus explicitement dans mon premier post
Mais sur iOS le shared UI se retourne contre lui
React Native pilote du vrai UIKit quand KMP redessine tout en Skia
Et là c'est React Native qui tient sur 2 à 4 fois moins de mémoire
Le meilleur retour sur ce post venait d'un dev natif iOS et Android
Il a testé KMP côté iOS, s'est cogné l'usine à gaz de l'ABI Objective-C, et il conclut que pour du multiplateforme il partirait sur React
Quand ceux qui font du natif au quotidien penchent RN, c'est que le débat a bougé
Une seule codebase des deux côtés, personne ne gagne partout
Le poids d'une app tu le télécharges une fois
La vélocité d'une équipe tu la paies tous les jours
Tu réécrirais ton UI deux fois pour gagner le benchmark, ou tu gardes une codebase et tu shippes ?
