Publié le 23 juin 2023, modifié le 23 juin 2023.
Par La Rédaction

Tech radar : vision de l’écosystème mobile

Publié le 23 juin 2023, modifié le 23 juin 2023.
Par La Rédaction

L'agence BAM lance sont 2éme Tech Radar, ils partagent leurs avis d'expert sur les 61 techniques, plateformes, outils, langages et frameworks associés aux technologies mobiles phares qu'ils utilisent au quotidien : React Native, Native et Flutter.

Malgré une certaine maturité, l’écosystème mobile reste extrêmement dynamique. La multitude de technologies, de frameworks et de SDKs place chaque équipe mobile face à des choix complexes. Depuis des années, cette agence de Dev construit une base de connaissances qu’ils ont décidé d’opensourcer.  Ils espèrent que cela permettra à la communauté de bénéficier de leurs expériences et de leurs apprentissages. Co-construit à l’occasion de plusieurs ateliers, ce Tech Radar est un snapshot des sujets qui animent les discussions au sein des 3 tribes Tech BAM qui utilisent au quotidien : React Native, Flutter et les technologies natives. 13 membres du comité de contenu se sont penchés sur les technologies et techniques qui constituent les 61 blips sélectionnés par leur équipe Tech. Leur vision dans le Tech Radar est découpée en 4 niveaux de recommandation, sur la base de leur  interprétation : Adopt, Trial, Asses, Hold.

  1. React Native -> 19 BLIPS | 7 ADOPT | 5 TRIAL | 6 ASSESS | 1 HOLD
  2. Flutter -> 10 BLIPS | 4 ADOPT | 5 TRIAL | 1 ASSESS | 0 HOLD
  3. Natives -> 19 BLIPS | 5 ADOPT | 5 TRIAL | 7 ASSESS | 2 HOLD

Une particularité de ce Tech radar que les équipes de développeurs mobiles apprécieront, il n’émet pas de recommandation claire entreFlutter, React Native et Native. Ces 3 technologies définissent les cadrans de la publication, mais BAM ne les compare nulle part. Chaque agence de développeur ou développeur indépendant doit expliquer rapidement à son client pourquoi il sera fait le choix une solution spécifique pour chaque projet, ces discussions doivent prendre en compte :

  • La stratégie produit : quelles fonctionnalités, quel design, qui seront les utilisateurs ?
  • La vision Tech : quelle vision technique de l’entreprise, qui va travailler sur ce projet, qu’elles sont les équipes existantes, quelle stratégie de recrutement ?
  • Le budget : quel est le montant qu’on peut investir, sur quelle durée et quelles sont les conditions de financement du projet ?

6 différences entre React Native, Native et Flutter

Langage de programmation : React Native utilise JavaScript, un langage largement utilisé dans le développement web, ce qui facilite la transition pour les développeurs web. Native, en revanche, utilise les langages spécifiques à chaque plateforme, telle que Java ou Kotlin pour Android, et Objective-C ou Swift pour iOS. Flutter utilise Dart, un langage développé par Google spécifiquement pour le framework Flutter.

Performance : Les applications développées en utilisant les langages natifs (Java/Kotlin pour Android, Objective-C/Swift pour iOS) ont généralement une meilleure performance, car elles s’exécutent directement sur le système d’exploitation de la plateforme. React Native utilise un pont qui connecte le code JavaScript avec les composants natifs, ce qui peut entraîner une légère perte de performance. Flutter, quant à lui, utilise un moteur de rendu personnalisé qui permet des performances élevées et fluides.

Interface utilisateur : React Native et Flutter utilisent des composants et des widgets personnalisés pour créer l’interface utilisateur, ce qui leur permet de fournir une apparence native sur chaque plateforme. Native, étant spécifique à chaque plateforme, offre une interface utilisateur complètement native. Cela signifie que chaque plateforme a son propre ensemble de composants d’interface utilisateur et de directives de conception.

Écosystème et communauté : React Native bénéficie d’une large communauté de développeurs et d’une grande quantité de packages et de bibliothèques disponibles, en raison de sa popularité et de son adoption précoce. Flutter, bien qu’étant plus récente, connaît également une croissance rapide de sa communauté et de son écosystème. L’écosystème pour le développement natif est plus mature et offre une plus grande variété de bibliothèques et d’outils.

Développement multiplateforme : React Native et Flutter sont des frameworks de développement multiplateforme, ce qui signifie que vous pouvez développer une application pour les deux plateformes (Android et iOS) en utilisant un seul codebase. Native nécessite le développement séparé d’une application distincte pour chaque plateforme.

Temps de développement : Le développement avec React Native et Flutter peuvent être plus rapides que le développement natif, car ils permettent de partager du code entre les plateformes. Les changements apportés à l’interface utilisateur peuvent être répercutés instantanément, ce qui facilite le processus de développement itératif. En revanche, le développement natif nécessite plus de temps et d’efforts pour maintenir deux codebases distinctes.

Lire aussi