Formation Développer une application mobile native multiplateformes
5 JoursObjectifs de la formation Développement Mobile Natif
La mobilité s’est imposée dans le quotidien des consommateurs avec l’arrivée des smartphones toujours plus puissants et plus pratiques pour l’utilisateur.
Les applications mobile font partie de notre quotidien que l’on soit client (BtoC), fournisseur (BtoB) ou collaborateur (BtoE).
Il est devenu nécessaire pour les entreprises voulant gagner en visibilité, non seulement d’adapter les contenus à la taille des terminaux (smartphones, tablettes…) mais aussi à leurs spécificités (caméra, GPS…).
Aussi, il est devenu courant d’initier des projets spécifiques à chaque plateforme cible, multipliant ainsi les projets et les coûts.
La solution idéale pour mutualiser les développements étant d’utiliser des technologies génériques que sont le HTML5, le CSS 3, le JavaScript
Le framework Cordova (PhoneGap) va permettre de rendre accessibles les composants spécifiques des terminaux mobiles à partir du JavaScript.
D’autres technologies ont émergé permettant à partir de framework JavaScript de générer du code natif et ainsi d’avoir des meilleures performances et un meilleur rendu que les applications développées avec Cordova.
Cette formation vous présentera les deux technologies :
- Cordova d’abord sans framework afin de porter un code web existant vers une application mobile puis Cordova avec le framework Ionic
- React Native.
Ainsi, vous disposerez d’une vue complète et opérationnelle du développement mobile multiplateformes et développerez avec de bonnes pratiques une interface utilisateur de grande qualité et de véritables applications professionnelles pour mobile en étant capable de choisir le bon framework pour vos besoins.
À qui s’adresse cette formation ?
Public :
Cette formation Développement mobile s’adresse aux développeurs et aux chefs de projets.
Prérequis :
Connaître au moins un langage de programmation et avoir de bonnes notions sur HTML5, CSS3, JavaScript.
Contenu du cours Développement Mobile Natif
Concepts et architecture d’une application pour mobile
Bien comprendre le rôle de chaque technologie (HTML, CSS, JavaScript…)
Qu’entend-on par « Application Ajax » ?
Quelles différences avec un développement en Java (Android) ou Swift (iPhone) ?
Comparaison avec les applications Web traditionnelles
Comment faire du cross-platform ?
Application non autonome (accessible d’un navigateur web) :
- Le Site Web Responsive
- La WebApp
- Le Site Mobile
Application autonome :
- Application native générée (React Native, Xamarin…)
- Application hybride (PhoneGap / Cordova, Ionic…)
Rappel des fondamentaux
Quelques rappels sur les fondamentaux des langages du Web :
- HTML
- CSS3
- JavaScript
- Ajax et jQuery
Configurer votre espace de travail
Quels outils de développement (IDE) utiliser pour développer des applications :
- Native généré (JavaScript, C# …)
- Hybride (HTML5 / CSS3 / JavaScript…)
Qu’est-ce qu’un gestionnaire de dépendances ? Présentation de npm (Node Package Manager)
Qu’est-ce que l’intégration continue ?
Zoom sur le HTML5 : les nouveautés qui vont nous être utiles
La sémantique, structures et sections du document
Les améliorations apportées au contrôle des formulaires et aux iframes
Nouveaux éléments graphiques (SVG, Canvas)
Manipuler des contenus multimédia (audio et vidéo)
Les APIs (Application Programming Interfaces) :
- Géolocalisation
- Drag and Drop
- Local Storage
- Application Cache
- Web Workers (traitement arrière-plan)
Allons plus loin avec les feuilles CSS
Le CSS RWD (Responsive Web Design) : ViewPort, GridView, Media…
Dynamisez votre CSS avec des variables paramétrables : présentation de Sass
Les frameworks CSS Bootstrap, Foundation…
ES2015 : les nouvelles normes JavaScript
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
Travaux Pratiques :
Utilisation de nouvelles fonctionnalités ES6 / ES201X
Transformer son application web en application mobile avec Apache Cordova (PhoneGap)
Présentation de PhoneGap / Cordova
Comment faire en sorte que son application ne soit plus « web dépendante » ?
Que gagne-t-on à utiliser une application native ?
L’exemple du SDK pour le développement Android
Cordova vs PhoneGap
Téléchargement, installation, et prérequis pour utiliser Cordova
Utilisation des simulateurs Android et iPhone
Architecture PhoneGap/Cordova & Plugins :
- WebView
- Interface JavaScript
- API Natives (Camera, Accéléromètre…)
- Plugins
- Interface de ligne de commande Cordova
- Gestion des images de l’appareil photo
Travaux Pratiques :
À partir d’une application web existante d’offres d’emplois, nous la porterons pour différents types de téléphones (Android, iPhone…) à l’aide du framework Cordova.
Déploiement de l’application vers Android, iOS.
Ionic : Quand AngularJS rencontre Cordova
Présentation de Ionic, de ses outils (Ionic Lab, Ionic Creator, Ionic View & Ionic Backend…)
Installer, configurer et exécuter une application Ionic
Découverte d’AngularJS :
- Routage & Single Page Application
- Les Directives : Architecture MVC (Contrôleurs, Cycle de vie des vues, Services…)
Les composants Ionic (Composant graphique, Navigation, Gestion des données…)
Gestion des thèmes avec Sass
Automatisation des compilations avec Gulp
Ajout des plugins : Ng-Cordova le terminal (batterie, GPS, Bluetooth, appareil photo)
Interface de ligne de commande Ionic CLI
Travaux Pratiques :
Création d’une application mobile à l’aide du framework Ionic :
Nous prendrons le même sujet que lors du précédent TP : plateforme de gestion d’offres de travail, comprenant un menu, une liste des offres et un détail sur chacune des offres.
Déploiement de l’application vers Android et iOS.
React Native : le meilleur des deux mondes ?
Qu’est ce que React Native ?
React Native/React : les bases
Créer son premier composant.
Les composants de base de React Native
Utilisation de create-react-native-app
La navigation
Comment construire une application
Récupérer des données distantes
Construire des listes et comparaison avec Cordova
Utiliser des API natives
Mise à jour à distance
Travaux Pratiques :
Création d’une application mobile à l’aide du framework React Native :
Nous prendrons le même sujet que lors du précédent TP : plateforme de gestion d’offres de travail, comprenant un menu, une liste des offres et un détail sur chacune des offres.
Déploiement de l’application vers Android et iOS.
Déployer votre application
Qu’est-ce qu’un store ?
Quels sont les stores existant sur Internet (Apple, Google, Windows) ?
Soumettre son application au grand public (AppStore & Google Store)
Étude de Cas – Application d’offre d’emploi :
Ce cours est volontairement axé sur l’aspect pratique. De très nombreux travaux pratiques seront réalisés par les participants.
Nous avons volontairement choisi de faire la même application dans des technologies différentes afin que le participant puisse faire une comparaison des outils pour faire le bon choix dans son entreprise.
La maquette avec le site web est fournie aux participants au début de la formation, de même pour les templates HTML / CSS3 / JavaScript fournis, pour un résultat professionnel
Portage de l’application web Offre d’emploi avec Cordova
À partir d’une application web existante d’offres d’emplois, nous la porterons pour différents types de téléphones (Android, iPhone…) à l’aide du framework Cordova.puis déploiement de l’application vers Android, iOS
Création d’une application mobile à l’aide du framework Ionic
Nous prendrons le même sujet que lors du précédent TP : plateforme de gestion d’offres de travail, comprenant un menu, une liste des offres et un détail sur chacune des offres.
Déploiement de l’application vers Android et iOS.
Création d’une application mobile à l’aide du framework React Native
Nous prendrons le même sujet que lors du précédent TP : plateforme de gestion d’offres de travail, comprenant un menu, une liste des offres et un détail sur chacune des offres.
Déploiement de l’application vers Android et iOS.
Travaux Pratiques
Ce cours est volontairement axé sur l’aspect pratique. De très nombreux travaux pratiques seront réalisés par les participants.