loader image

Gate Training

logo-png
Télécom - Mobile

Formation React Native : Développer une application mobile native multiplateformes

4 Jours

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 :

Il 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.

Réf:

0033

Tarif:

600 Dt

Niveau:

Intermédiaire

Classe à distance:

Possible

Pas de sessions disponibles