Nous répondons à certaines de vos questions les plus fréquemment posées sur React Native en 2020!

Q. Dois-je utiliser React Native, native ou autre chose?

Après avoir créé des applications natives pendant plusieurs années avant de passer à React Native, vous connaissez donc très bien les avantages et les inconvénients du développement natif.

Il y a encore une raison évidente de considérer React Native plutôt que le développement natif: son histoire multiplateforme. La réalité est que vous pouvez déployer la même base de code, avec un minimum de modifications, sur plusieurs plates-formes, où le code natif ne peut s’exécuter que sur sa plate-forme native. Cela permet d’économiser de l’argent, du temps et des maux de tête d’entretien sur la route.

Et nous ne parlons pas seulement d’iOS et d’Android, bien que ce soient clairement les plus grandes plates-formes ciblées par React Native. Nous entendons également les applications Web et de bureau.

Q. Comment Flutter se compare-t-il à React Native?

Flutter est un framework vraiment bien conçu de Google qui se compile en code natif plutôt que d’utiliser un moteur JavaScript pour contrôler les widgets natifs. C’est une bonne alternative à React Native. Cependant, voici quelques raisons de continuer à envisager React Native plutôt que Flutter:

  1. Web React.js: Vous pouvez transférer facilement vos compétences Web vers React Native. Nous avons constaté que les développeurs React peuvent être productifs dans React Native en environ une semaine, tandis que Flutter a une courbe d’apprentissage beaucoup plus grande.
  2. Dart vs JavaScript: Bien que Dart soit un bon langage, il n’est pas aussi populaire que JS. Il sera plus difficile de trouver des développeurs qui souhaitent travailler sur des projets Dart que sur des projets JS.
  3. CodePush: Flutter ne prend pas en charge CodePush et ne le fera jamais.
  4. Flutter a Google, principalement: React Native a Facebook, Microsoft, Amazon, Shopify et de nombreuses autres grandes entreprises qui s’y développent largement. Cela conduit à une communauté open source plus florissante et à une diminution du risque qu’elle soit tuée.

Cela dit, il existe des raisons techniques et commerciales de choisir Flutter dans certains cas. Par exemple, si vous n’aurez jamais besoin du Web, Flutter devient plus convaincant en raison de son excellente expérience de développeur et de ses solides performances. Cependant, les deux frameworks sont suffisamment proches pour que vous puissiez peser tous les aspects, pas seulement le DX et les performances.

Q. Quelles sont les performances de React Native par rapport au natif?

Si vous photographiez pour des performances d’interface utilisateur à 60 ips, les applications React Native et native sont généralement les mêmes.

Dans les performances brutes de calcul des nombres, les applications natives (et Flutter) surpasseront généralement React Native. Cependant, très peu d’applications sont utilisées uniquement pour le calcul des nombres en ligne droite. Ce qui est bien plus important, ce sont les charges de travail courantes des applications.

En outre, il existe un point de rendement décroissant en ce qui concerne les performances. L’application doit être suffisamment bonne pour offrir une excellente expérience utilisateur, bien sûr, mais au-delà de cela, d’autres aspects commencent à devenir plus importants (comme la vitesse du développeur, le retour sur investissement lors de l’ajout de nouvelles fonctionnalités et la maintenabilité).

En fin de compte, la dépendance de React Native sur le pont JavaScript est le principal goulot d’étranglement pour les performances. Il existe des moyens de réduire la quantité d’utilisation du pont (par exemple, lottie-react-native utilise des animations natives).

Pour la grande majorité des applications, les performances de React Native sont plus que «assez bonnes». Pour les applications qui nécessitent des performances plus précises que cela, vous pouvez toujours accéder au code natif pour implémenter ces parties de l’application.

De plus, l’ingénierie de Facebook a travaillé sur un moteur JavaScript spécialement réglé pour Android appelé Hermes, qui améliore considérablement les performances. Ils travaillent également sur d’autres changements qui réduiront ou même élimineront la dépendance au pont JavaScript en utilisant à la place des appels directs JSI (interface JavaScript).

Q. Quelle quantité de code pouvez-vous réutiliser avec React Native?

Nous avons constaté qu’il n’est pas rare d’avoir une réutilisation du code à 100% entre iOS et Android, et environ 60 à 85% de réutilisation du code entre le mobile et le Web.

Q. Quelle est la meilleure façon de passer à des versions plus récentes de React Native?

Notre flux de travail pour la mise à niveau est le suivant:

  1. Créer une nouvelle branche pour la mise à niveau.
  2. Ouvrez https://react-native-community.github.io/upgrade-helper/ et choisissez la version de votre application et vers quelle version vous souhaitez mettre à niveau.
  3. Appliquez manuellement et soigneusement les modifications depuis le diff. Cliquez sur la coche sur chaque fichier lorsque vous les complétez. S’engager une fois terminé.
  4. Parcourez toutes les dépendances majeures qui ne sont pas incluses dans React Native (comme React Navigation, MobX-State-Tree, etc.) et essayez de les mettre à jour vers la dernière version si possible, une à la fois. Habituellement, les documents de chaque bibliothèque parleront de la compatibilité de la version React Native. S’engager après chaque mise à niveau réussie.

Très rarement, comme dans le cas de la version 0.60.0, il est plus facile de générer une toute nouvelle application React Native et de copier tout le code de votre application. Ce n’est généralement pas recommandé, mais c’est un autre outil à utiliser si vous avez du mal à effectuer une mise à niveau manuelle.

Vous pouvez également utiliser l’outil de mise à niveau intégré dans l’interface de ligne de commande React Native. Cela vous guidera tout au long de la mise à niveau. Nos ingénieurs logiciels ont tendance à vouloir plus de contrôle sur leurs mises à niveau, mais c’est une solution viable, en particulier sur les applications plus simples.

Q. À quelle vitesse pouvez-vous mettre en œuvre les dernières fonctionnalités iOS / Android lors de leur sortie?

La réponse est – immédiatement! Étant donné que React Native vous permet de passer en code natif à tout moment, ces dernières fonctionnalités sont disponibles dès que vous téléchargez les derniers SDK Xcode et Android.

Si vous préférez rester dans JavaScript, le moyen le plus rapide d’accéder aux nouvelles API est de garder un œil sur les nouveaux modules tiers de la communauté qui les prennent en charge. Vous pouvez vous inscrire à la newsletter React Native pour savoir quand celles-ci seront publiées!

Related Articles
Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.