React-native, pourquoi devrais-je m’en soucier ?

React-native est un framework pour construire des applications natives à l’aide de React” est la définition officielle dans la page officielle de react-native. Il vous permet de créer des applications mobiles natives en utilisant les technologies dont la plupart des développeurs maitrisent parfaitement (Les technologies Web).

image1

Ainsi, vous pouvez faire une application iOS, Android et Windows-phone en utilisant: JavaScript et un sous – ensemble de CSS (lire sans cotés négatifs). Plus que cela, vous pouvez partager la plupart de votre code entre les plates-formes (partager tout le code mènerait probablement à un mauvais UX, mais vous pouvez choisir de le faire).

“? … Nous pouvons le faire en utilisant Cordova ou Ionic”

Oui. Mais attendez, il y a plus.

Les applications react-native sont de véritables applications natives

React-native ne crée pas une application Web et l’enveloppe dans un WebView. Au lieu de cela, il utilise les composants de la plate-forme native. Donc, un composant `Text` mapperait à `UITextView` sur iOS et à `TextView` dans Android.

Sur le plan architectural, react-native a deux threads: un thread principal responsable de l’affichage de l’interface (UI) et d’un autre thread qui exécute le code JavaScript dans le moteur JavaScript local. Et ils communiquent via un pont.

image2

Nous pourrions aborder ce sujet plus en profondeur dans des publications futures. Mais pour l’instant, gardez à l’esprit que cette architecture permet de bonnes performances, car la communication entre les threads est asynchrone, groupée (batched) et sérialisable.

Performance sous react-native

La performance de react-native est supérieure à ses concurrents hybrides. En plus, elle a récemment été comparée à swift et les résultats sont incroyablement bons. Apparemment, react-native dépasse Swift dans plusieurs cas! Lisez l’article complet ici.

De plus, une équipe de Facebook dédiée aux performances de react-native est basée à Londres. Et il est important de noter que les améliorations de performances dans React affectent directement react-native, y compris le tout nouveaux React Fiber qui promet des performances impressionnantes.

“? Je ne sais pas, nous avons une équipe de développeurs natives iOS et Android et nous sommes heureux ”

React-native rend tout le monde heureux

Je sais, c’est une revendication très étrange à faire. Mais, soyez patients. Je m’explique :

1. Les managers: react-native vous sauvera des tonnes d’argent

React-native est bénéfique quelle que soit la taille de votre équipe :

  • Un développeur(typique pour un démarrage ou un projet secondaire): vous pouvez écrire une application mobile cross-plateforme sans apprendre (ou embaucher quelqu’un qui maitrise) Java ou Objective-c / Swift. Et même mieux, vous pouvez même écrire l’application Web en utilisant les mêmes technologies ! → C’est au moins 50% du coût sans compromettre la qualité.
  • Des équipes séparées pour Android et iOS:Tout d’abord, vous n’avez pas à réécrire vos applications existantes sous react-native. Vous pouvez l’adopter de façon incrémentalle dans votre application existante, comme Facebook et AirBnB le font. Deuxièmement, si vous optez pour ce faire, vous bénéficierez immédiatement d’un gain sur le temps nécessaire pour expédier une nouvelle fonctionnalité + réduction du nombre de personnes qui doivent travailler sur la même fonctionnalité de 2 → Et donc, vous aurez plus de temps pour essayer ces fonctionnalités brillantes qui se trouvaient dans votre Backlog. Une dernière chose, c’est que vous pouvez également renforcer votre équipe mobile avec des personnes de l’équipe Web. Dans cette vidéo, Tal Kal Head de l’ingénierie mobile partage l’expérience de Wix avec react-native dans ses nombreuses équipes (ça vaut la peine d’être regardé)

2. Les développeurs : react-native fournit la meilleure expérience de développeur

DeveloperExperience (DX) est un terme qui a été inventé ces derniers temps et nous en avons beaucoup entendu parler dans le contexte des API principalement. Mais l’écosystème React valorise fortement DX et le place comme une priorité absolue!

 

Notez qu’avoir une bonne DX n’est pas un luxe, puisque de nombreuses entreprises du Fortune 500 sont des entreprises technologiques et toutes dépendent fortement de la technologie. Mais, plus important encore, les développeurs sont les nouveaux rois et sont aujourd’hui les plus importants atouts dans les affaires (plus à ce sujet plus tard). Et donc, les satisfaire n’est plus un luxe.

Explorons ensemble pourquoi react-native a une superbe DX:

  • Temps nécessaire pour le Hello World:React-native détient le record sur celle-là. Puisque vous pouvez commencer à coder et exécuter votre application dans votre téléphone en un rien de temps (sans avoir à télécharger des SDK et à configurer des variables d’environnement …)!

 

  • Cycles de développement extrêmement rapides: si vous avez travaillé sur le développement Android ou iOS ou en utilisant une langue compilée, vous avez l’habitude d’attendre quelques (ou plusieurs) minutes pour recompiler votre projet et voir la modification. Mais sur react-native, il suffit de cliquer sur le bouton de rechargement (ou pas si vous utilisez le rechargement en direct) pour voir votre changement (disponible également si vous exécutez l’application sur votre téléphone!). Et cela fait toute la différence dans le monde (au moins le monde du dévelopeur).
  • Pas de friction: si vous êtes un développeur web, vous vous sentirez comme chez vous en utilisant react-native. Vous allez écrire en utilisant des outils familiers (JavaScript et un sous-ensemble de CSS) et vous allez déboguer à l’aide des incroyables outils chrome devtools.
  • Ungrand choix de bibliothèques à votre disposition: si vous vous souciez de travailler dans un nouvel écosystème et donc de manquer de paquages pour vous assister … soyez assuré, vous êtes couverts. Vous pouvez utiliser la majorité des paquets npm ( le plus grand référentiel de modules au monde), et vous pouvez même exécuter tout ce que node peut exécuter sur desktop en utilisant le react-native-node (Android uniquement pour le moment)

image3

 

3. Utilisateurs finaux : react-native vous permettra d’obtenir des avantages sans précédent dans les terres mobiles

Satisfaire vos utilisateurs finaux est la chose la plus importante pour quiconque construit une application. Et cela peut être assez difficile à faire, ce qui peut entraîner de mauvaises notes (dans les stores) ce qui pourrait bien être au détriment de votre belle application.

Passons par un scénario simple et courrant: vous faites une nouvelle fonctionnalité et lancez une nouvelle version au app store. Vous attendez un jour ou deux pour être approuvé par Apple, puis les utilisateurs peuvent installer la mise à jour.

Disons que vous découvrez un bug ? juste après que votre application a été acceptée au store. Vous décidez de le réparer et de l’expédier immédiatement. Mais il s’avère immédiatement environ 2 jours dans l’Apple land! Et après cela, vous avez besoin que les utilisateurs concernés installent une nouvelle mise à jour! ?

React-native à la rescousse!

En react-native, réside la solution à ces deux problèmes. Les mises à jour Over the Air vous permettront de mettre à jour votre application sans que les utilisateurs ni l’app store, ne le remarquent

image4

À l’aide d’un outil comme Microsoft Push , vous pouvez faire encore plus. Vous pouvez gérer les applications alpha, bêta et de production et effectuer des tests et des expérimentations A / B avancés (gratuitement)!

“?, cool, mais puis-je vraiment utiliser react-native en production?”

Les entreprises qui utilisent react-native en production

Croyez-le ou pas, vous avez probablement déjà une application react-native sur votre téléphone. Voici quelques applications mobiles construites avec cette technologie :

image5

Conclusion

react-native est un excellent outil qui a beaucoup de potentiel et un avenir brillant. Vous devriez certainement l’essayer dans votre prochain projet. Vous devrez peut-être convaincre beaucoup de gens avant. Un conseil que je vais vous donner à propos de ceci est “amener les développeurs à l’essayer et montrer aux managers l’argent qu’ils gagneront en l’adoptant”.

Si vous avez des questions sur React et son écosystème, n’hésitez pas à me joindre à als.abdellah@gmail.com ou simplement en laissant un commentaire.

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.