Application mobile: Ce qui est mieux pour le développement d’applications hybrides

Construire une application mobile en natif est un jeu d’enfant, mais pour publier une application sur l’App Store et le Play Store, vous devez probablement travailler deux fois plus et écrire la même fonctionnalité dans deux langues différentes, à savoir Kotlin pour Android et Swift pour iOS. Solution? Développement d’applications hybrides.

Et si nous écrivions un code qui peut être utilisé à la fois pour Android et iOS ? Oui, vous avez bien entendu. React-Native est spécialement conçu pour prendre en charge le paradigme « écrire une fois et déployer n’importe où ». Il a été lancé en 2015 par Facebook et a pris d’assaut le monde du développement mobile. Chez VentureDive, nous avons expérimenté React-Native pour développer un nouveau produit, Muslims by IslamicFinder. Si vous développez un nouveau produit et que vous n’êtes pas sûr d’opter pour le développement d’applications hybrides ou natives, voici un guide de l’un de nos experts mobiles qui vous aidera à prendre une décision éclairée : Développement mobile hybride ou natif : quel est le meilleur ?

Dans ce blog, je vais faire la lumière sur quelle CLI avons-nous choisi lors du développement de l’application pour musulmans, et quelles en étaient les raisons. Cela vous aidera à mieux comprendre comment choisir une CLI lors du développement d’applications hybrides.

Outils pour le développement d’applications hybrides à l’aide de react-native

Il existe de nombreux environnements de développement intégrés (IDE) qui peuvent être utilisés pour le développement d’applications React-Native. Cependant, le plus fréquemment utilisé est Visual Studio Code. C’est un outil léger qui peut être utilisé dans des systèmes avec peu d’espace RAM. Atom et WebStorm sont d’autres IDE stables populaires auprès de la communauté des développeurs.

Langues pour react-native

La bonne chose à propos de React est qu’il peut être utilisé avec plusieurs langues. De plus, si vous venez d’une formation en développement Web, vous pouvez certainement utiliser les connaissances en HTML et CSS avec Flexbox – un module CSS défini pour créer de meilleures mises en page – qui est utilisé pour le développement de l’interface utilisateur (UI). Les principaux langages pris en charge sont Javascript et Typescript, qui sont vraiment faciles à comprendre pour tous les développeurs, quel que soit le domaine (web ou mobile) dans lequel ils sont experts.

Sélection de CLI

Une interface de ligne de commande (CLI) est une interface visuelle où les programmeurs peuvent exécuter des commandes pour développer des applications. Démarrer avec React-Native est une chose délicate car, au début, vous n’avez pas assez de connaissances pour prendre une décision CLI et c’est le domaine où presque tout le monde fait une erreur. React-Native est livré avec deux CLI et vous devez être absolument certain de celui qui convient à vos besoins. Les deux CLI sont :

  1. Expo CLI
  2. CLI native réactive

Quelle CLI est la meilleure pour le développement d’applications hybrides ?

C’est une question à un million de dollars et la réponse se trouve dans les exigences globales. Il existe certaines limitations des deux CLI qui pourraient entraver vos efforts de développement. Si vous choisissez de travailler avec Expo CLI, vous devez vous assurer que vous comprenez ses limites et il en va de même pour React-Native CLI. Tout en travaillant sur Muslims, une application d’engagement communautaire d’IslamicFinder, il y avait peu d’exigences qui n’étaient pas prises en charge par Expo ou qui n’étaient pas disponibles avec un contrôle total de la configuration. J’en ai parlé sous « Limites de l’exposition », ci-dessous.

Limites de l’exposition

Lorsque j’ai commencé le développement d’applications hybrides pour les musulmans, je n’étais pas sûr de l’interface de ligne de commande que je devais choisir, mais je savais une chose : Expo facilite et accélère le développement d’applications en gérant tous les changements de configuration, les conflits de version et les certificats. Il se signe également lui-même et fournit un moyen transparent de déploiement et de débogage. C’est tout ce dont j’avais besoin en tant que débutant dans React-Native pour commencer, cependant, plus tard, j’ai découvert qu’Expo avait également certaines limitations :

  1. Nous ne pouvons pas configurer les anciennes versions du système d’exploitation Android/iOS, pour l’installation, à l’aide d’Expo.
  2. La taille de l’exécutable est importante, ce qui peut nuire aux téléchargements globaux.
  3. De nombreux produits Firebase – un produit de Google, qui fournit divers services pour le développement d’applications – ne sont pas pris en charge par Expo, par exemple :
    • FCM, un service Firebase utilisé pour envoyer des notifications aux applications Android/iOS, n’est toujours pas pris en charge dans iOS.
    • Crashlytics, un autre service Firebase utilisé pour signaler les événements de plantage dans l’environnement réel, n’est pas pris en charge. Au lieu de cela, vous devez compter sur Sentry, un outil payant pour la surveillance des applications et le suivi des erreurs, pour cela.
  4. Le lecteur de streaming vidéo est disponible avec très peu de commandes configurables.
  5. Certaines fonctionnalités ne peuvent pas être testées sur l’application cliente d’Expo. Au lieu de cela, vous devez créer une version pour les tester. Un exemple d’une telle fonctionnalité est « Authentification Firebase ».
  6. Les bibliothèques de mise en cache d’images dans Expo ne sont pas assez efficaces pour prendre en charge des applications comme Instagram.
  7. Vous devez avoir un abonnement payant pour un processus de création de build plus rapide, sinon vous devrez attendre 45 à 60 minutes pour la build, selon la taille de la file d’attente.
  8. Realm, une base de données externe, n’est pas pris en charge par Expo.
  9. Si un module natif doit être branché, ce n’est pas une possibilité dans Expo.
  10. Les choses semblent bien fonctionner dans l’application cliente Expo, mais elles ne le sont pas lorsqu’elles sont compilées et construites en tant qu’application autonome.

Limitations de la CLI native de React

La première chose qui est très importante à noter ici est qu’une fois que vous avez décidé de migrer ou d’éjecter de l’Expo CLI vers la CLI React-Native lors du développement d’applications hybrides, il n’y a pas de retour en arrière car il s’agit d’un processus irréversible. La bonne chose à propos de la CLI React-Native est qu’elle vous donne une liberté totale pour implémenter tous les plugins tiers que vous voulez avec la liberté de personnaliser n’importe quelle implémentation. Vous n’êtes lié ou limité à aucune version de React-Native ou à la gestion de la version minimale du système d’exploitation et vous êtes libre de créer des versions à tout moment sans avoir besoin d’avoir un abonnement aux serveurs Expo. En disant cela, vous pourriez également faire face à quelques problèmes :

  1. Vous devrez gérer vous-même les versions Expo ainsi que tous les certificats et empreintes digitales.
  2. Il faudra des efforts supplémentaires pour créer des builds pour Android et iOS à l’aide de leurs IDE respectifs où vous gérerez toutes les autorisations et tous les plugins à l’aide de Gradle, un outil d’automatisation de build pour le développement de logiciels, pour Android et Pods, un outil qui gère les dépendances et les bibliothèques, pour iOS.
  3. Le temps de développement global augmentera puisque vous devrez désormais considérer les dépendances séparément.
  4. Vous manquerez à coup sûr la fonctionnalité Over The Air (OTA) si vous souhaitez mettre à jour ou corriger un bogue important sans le publier et le refléter sur les appareils des utilisateurs finaux. Cette fonctionnalité permet aux développeurs de modifier quelque chose dans l’application des utilisateurs en direct.
  5. Vous aurez besoin de matériel MAC pour le processus de création de build iOS qui n’est pas requis avec Expo.

Conclusion

Avec React-Native, on peut facilement développer une application hybride pour Android et iOS avec les mêmes lignes de code. Cependant, la sélection de l’interface de ligne de commande dépend des exigences et de l’ensemble de fonctionnalités à mettre en œuvre.

Pour les débutants, je recommanderais d’aller avec Expo car cela prendra beaucoup de maux de tête, et plus tard, lorsque vous serez plus familier avec l’environnement React, vous pourrez toujours vous éjecter d’Expo vers Bareflow, qui fonctionne de la même manière que React-Native CLI mais relève de l’Expo.

À mon avis, React-Native CLI vous donne plus de liberté, de liberté et de contrôle pour exprimer et expérimenter sur votre code, tandis que Expo vous lie dans un shell où vous comptez davantage sur les dépendances Expo. Le choix vous appartient en fonction de votre niveau d’expertise React.


Développement d’applications mobiles

Vous ne savez pas sur quelles technologies sont les meilleures pour construire vos applications mobiles ? Connectez-vous avec nos experts pour savoir ce qui conviendra parfaitement à vos besoins!

#qui #est #mieux #pour #développement #dapplications #hybrides