React Native
1 MoisFormation React Native
Objectifs de la formation React Native
- À la sortie des Framework de développement d’applications mobiles multiplateformes (Phonegap principalement), beaucoup d’entreprises, dont Facebook et LinkedIn, ont saisi l’occasion de mutualiser les développements entre Android et Apple afin de gagner en maintenabilité et en coût.
- Une fois les applications développées et publiées sur les stores, l’engouement du public ne fut pas au rendez-vous : les performances étaient mauvaises et le rendu pas à la hauteur des applications natives si bien que ces entreprises ont fait complètement machine arrière.
- Pour garder les avantages du développement multiplateformes sans avoir les defauts liés au Framework Cordova, Facebook a créé en 2015 sur la base du Framework JavaScript React, un Framework destiné au développement d’applications mobiles natives. Sa particularité de permettre le développement d’applications multi-plateformes utilisant des composants natifs à partir de JavaScript. On a donc les avantages du développement multiplateformes avec les avantages du développement natif.
- C’est pourquoi sa popularité n’a cessé de croitre aujourd’hui et que beaucoup d’entreprises ont placé cette technologie au centre de leur développement, parmi lesquelles Facebook, Airbnb, Amazon Video, Netflix, New York Times, Instagram, Yahoo, Dropbox.
- Lors de la formation vous découvrirez les principes clés de React Native et apprendrez à réaliser des applications mobiles performantes, stables et compatibles avec iOS et Android.
- Ce module de quatre jours commencera par une présentation générale des Frameworks de développement multiplateformes mobile afin de bien comprendre la spécificité de React Native. Puis nous verrons les dernières nouveautés de JavaScript : ES2015 car elles sont au cœur de React Native et plus, ensuite nous verrons les bases du Framework de développement React et notamment l’approche composant qui permet de développer des applications maintenables et fluides pour vos utilisateurs. Les principes de React sont les mêmes que ceux de React Native, ainsi vous apprendrez les bases d’un Framework que vous pourrez aussi utiliser pour vos applications web et même de bureau. Nous créerons ensuite notre premier écran de notre application mobile smartphone en React Native. Nous verrons ensuite les différents éléments de base à intégrer dans toute application (gestion des formulaires, récupération de données via appel d’APIs par exemple) puis nous utiliserons les API de React Native permettant de faire appel aux fonctions du téléphone (géolocalisation, notifications push par exemple). Enfin il sera temps de savoir comment déployer notre application sur les stores.
A l’issue de la formation, les participants sauront :
- Mettre en place un environnement de développement React Native
- Concevoir l’architecture logicielle d’une application mobile multiplateformes
- Construire une interface utilisateur fluide et performante
- Utiliser les principaux composants et les API natives proposées par React Native.
À qui s’adresse cette formation ?
Public :
l est destiné aux développeurs ayant des bases de JavaScript désirant développer sur mobile. À l’issue de la formation, les stagiaires sauront développer une application React Native en utilisant les meilleurs composants Open Source disponibles et les publier sur les stores.
Prérequis :
Connaissance impérative du langage JavaScript.
Contenu du cours React Native
Introduction à React Native
- Présentation de l’histoire de React Native et utilisation aujourd’hui
- Comparaison aux autres outils crossplatform
- Architecture et principes clefs de React Native
ES6/ES201X : les bases
- Babel
- ES6 ( let et cont, Fat Arrow functions, Destructuring, imports et exports, Classes, Dynamic Object Keys, Array spread )
- ES7 et au-delà ( object spread, async await, static class properties, bound instance methods )
- npm et yarn : installer des packages
Cas pratique :
- Utilisation de nouvelles fonctionnalités ES6/ES201X
React Native / React les bases
- React & JSX
- Création de son premier composant
- Configurer un composant : state & props
- Utilisation de setState
- Les méthodes lifecycle d’un composant
Cas pratique :
- Création de son premier composant React
Les composants de base de React Native
- Présentation de l’API de base de React Native ( View, Text, Image, ScrollView, StyleSheet )
Cas pratique :
Mise en place d’un projet avec Create React Native App et création de ses premiers composants React Native
Navigation
- Présentation et comparaison des différentes librairies existantes
- Ajouter des animations et des transitions entre des écrans de son application
Cas pratique :
Ajout de react-navigation dans notre projet et intégration d’un deuxième écran
Construction de son application
- Intégrer à son application des composants existants
- Utiliser le composant List
- Présentation d’une organisation possible des répertoires d’un projet
Cas pratique :
Créer les deux premiers écrans de base de notre application “Airbnb”
Gestion des formulaires
- Les principaux composants de formulaires
- La validation et gestion des erreurs
Cas pratique :
Ajouter un formulaire profil sur notre application
Récupérer des données distantes
- Présentation de l’approche Smart/Dumb components
- Utilisation de Fetch pour récupérer des données d’une API REST
- Présentation de Redux pour améliorer la gestion des données
- Présentation de GraphQL : le futur des APIs REST et pourquoi il est très adapté dans un environnement mobile
Cas pratique :
Intégration des données d’une API. Mise en place d’un chat dans notre application.
Les APIs natives
- Les principales APIs natives de React Native ( AsyncStorage, Geolocalisation, notifications push, Caméra, etc… )
- Développer un module natif ( pour Android et IOs )
Cas pratique :
Intégration de l’authentification. Ajout d’une photo sur le profil. Intégration d’une carte avec les logements
Publication sur les stores
Publier une application React Native sur les stores
Usages avancés
- Tests unitaires et fonctionnels : quels sont les bons outils à utiliser
- Comment créer des applications qui peuvent être utilisées en mode offline
- Présentation de CodePush pour les mises à jour Over the Air et du Microsoft AppCenter
- Authentification Facebook avec Oauth
- Internationaliser une application
Travaux Pratiques
Ce cours alterne pratique et théorie pour une meilleure assimilation des connaissances.