Introduction
- Le développement natif, l'hétérogénéité et la fragmentation.
- Les principaux outils cross-platform.
- Positionnement de React Native par rapport aux solutions existantes.
React Native
- Rappels sur ES6/S201x. Notion de transpileur.
- React et le superset de JavaScript JSX.
- React Native : principes clés, fonctionnement général.
- Installation et configuration de React Native.
- Outils de développement et de debug.
Travaux pratiques
Installation et configuration de React Native. Maîtriser le debugger.
Architecture d'application
- Configurer un composant : state & props.
- React Native et MVC.
- Le pattern Flux, une alternative au MVC.
- L'arrivée de Redux : le store, le reducer, les actions.
Travaux pratiques
Initialisation d'un projet React Native. Configuration d'un composant.
Construire son interface
- Les composants de base (View, Text et Image) et leurs cycles de vie.
- Les événements Touch, la ListView et la ScrollView.
- Organiser le layout de l'application. Mise en page avec Flexbox.
- Styler les composants.
- Les différentes solutions de navigation entre les pages.
- Composants avancés.
- Utiliser des composants de la communauté.
- Ajouter des animations et des transitions.
Travaux pratiques
Développer une première application.
Les formulaires et la gestion des données
- Les principaux composants de formulaires.
- La validation de la saisie et la gestion des erreurs.
- Redux-form et alternatives.
- Récupération des données : xmlhttprequest et fetch.
- Le stockage local.
- La gestion offline.
Travaux pratiques
Développer un formulaire, valider les données et assurer la persistance des données.
Interagir avec le terminal
- Les principales API natives de React Native.
- Utiliser les plugins Cordova/PhoneGap.
- Développer un module natif.
Travaux pratiques
Implémentation des principales API natives.
Usages avancés
- Best Practices et erreurs fréquentes.
- Tests unitaires et fonctionnels.
- Publier l'application.
- Mises à jour Over The Air.
- Frameworks et outils complémentaires.
Travaux pratiques
Tester et déployer des applications React Native.