Quelle est la structure de l’application Facebook iOS et Android ?


Dans le monde du développement d'applications mobiles, nous sommes toujours à la recherche de cycles de développement plus courts, de délais de déploiement plus rapides et de meilleures performances des applications. Avec deux systèmes d'exploitation qui dominent le paysage, les entreprises qui créent des apps mobiles sont souvent confrontées à un compromis : des apps qui offrent une meilleure expérience utilisateur, ou des apps plus rapides à développer et fonctionnant sur davantage de plateformes et d'appareils ?


A la croisée de l'expérience utilisateur et de la facilité de développement se trouve l'application mobile hybride - une application construite avec une technologie que de nombreux développeurs connaissent déjà (comme JavaScript, ou HTML5 et CSS) qui est enveloppée dans un conteneur lui permettant de s'exécuter en mode natif sur un appareil.

Les frameworks d'applications hybrides ont parcouru un long chemin pour combler le fossé entre les performances d'une application native et la facilité de développement d'une application web. À la pointe de cette technologie se trouve le cadre de conception d'interface utilisateur (UI) React Native de Facebook. Voici comment cette impressionnante bibliothèque JavaScript fait monter les enchères pour les applications mobiles hybrides.1. Elle couvre iOS et Android.


Initialement, Facebook n'a développé React Native que pour prendre en charge iOS. Cependant, avec son récent support du système d'exploitation Android, la bibliothèque peut maintenant rendre des interfaces utilisateur mobiles pour les deux plateformes. Facebook a utilisé React Native pour construire sa propre application Ads Manager, en créant à la fois une version iOS et une version Android. Les deux versions ont été construites par la même équipe de développeurs.

Facebook a également rendu React Native open-source, avec l'idée que la compatibilité avec d'autres plateformes comme Windows ou tvOS pourrait être travaillée par la communauté de développeurs, alors restez à l'écoute.

2. Des composants réutilisables permettent aux apps hybrides d'effectuer un rendu natif.

Disparus sont les composants WebView des autres apps mobiles hybrides. Cela est possible parce que les blocs de construction de React Native sont des "composants natifs" réutilisables qui compilent directement en natif. Les composants que vous utiliseriez dans iOS ou Android ont des homologues directement dans React, de sorte que vous obtiendrez un aspect et une sensation cohérents.

Cette structure basée sur les composants vous permet également de construire des apps avec une approche de développement plus agile, de style web, que les frameworks hybrides typiques, mais sans aucun web. L'application aura la vitesse, l'apparence et les fonctionnalités d'une application mobile native.

3. Appliquer des composants d'interface utilisateur React Native au code d'une application existante - sans aucune réécriture.

C'est un énorme bonus pour les entreprises qui veulent augmenter une application existante mais ne veulent pas la remanier. Incorporez des composants React Native dans le code de votre app. Ou, si votre app hybride existante a été construite avec Cordova et Ionic, réutilisez ce code basé sur Cordova facilement avec un plugin.

4. C'est l'un des principaux frameworks JavaScript mobiles parmi les développeurs - et en pleine croissance.

Si vous connaissez JavaScript, React Native est une prise en main rapide, permettant essentiellement à tout développeur web frontal d'être un développeur sur place. Pas besoin d'apprendre Swift pour iOS ou Java pour Android - il suffit de connaître JavaScript, quelques éléments d'interface utilisateur natifs, les API de la plateforme et tout autre modèle de conception spécifique à la plateforme et vous êtes prêt à partir. La bibliothèque de React Native comprend également le style CSS Flexbox, le style en ligne, le débogage et la prise en charge du déploiement sur l'App Store ou Google Play.

React est encore nouveau, mais il mûrit rapidement et Facebook a déclaré qu'il prévoyait de continuer à investir dans sa croissance.

5. React Native se concentre sur l'interface utilisateur.

React Native se concentre uniquement sur la construction d'une interface utilisateur mobile. Par rapport aux frameworks JavaScript comme AngularJS ou MeteorJS, React Native est axé sur l'interface utilisateur, ce qui le rapproche davantage d'une bibliothèque JavaScript que d'un framework. L'interface utilisateur qui en résulte est très réactive et semble fluide grâce aux interactions JavaScript asynchrones avec l'environnement natif. Cela signifie que l'application aura des temps de chargement plus rapides qu'une application hybride typique, et une sensation plus fluide.

6. Le développement d'applications natives est beaucoup plus efficace.

Alors que le développement d'applications natives est généralement associé à l'inefficacité, à une moindre productivité des développeurs et à un temps de déploiement plus lent, React Native consiste à apporter la vitesse et l'agilité du développement d'applications web à l'espace hybride - avec des résultats natifs.

Sous le capot de React Native se trouve la populaire bibliothèque d'interface utilisateur ReactJS de Facebook pour les applications web. React Native apporte toutes les meilleures performances des apps, l'abstraction DOM et les méthodes de programmation simplifiées de ReactJS au développement mobile hybride.

7. Il offre une compatibilité avec les plugins tiers, une utilisation moindre de la mémoire et une expérience plus fluide.

Les plugins tiers signifient que vous n'aurez pas à compter sur une WebView pour certaines fonctions. Par exemple, si vous ajoutez une fonctionnalité Google Maps à votre app, React Native vous permet de lier le plugin à un module natif, afin de pouvoir associer la carte aux fonctions de l'appareil comme le zoom, la rotation et la boussole, tout en utilisant moins de mémoire et en se chargeant plus rapidement. Si votre app prend en charge des systèmes d'exploitation plus anciens (et des appareils plus anciens), cela peut vous aider à maintenir le bon fonctionnement de l'app.

>