[wpms_breadcrumb reverse="0"]
Developpement - Mobile - Formation numérique

Développer une application mobile native multiplateformes

Reference : APL02B8
5 jours - 2590 € HT
Prochaines sessions
  • Le 21/10/2019
  • Le 16/12/2019
Développer une application mobile native multiplateformes
Objectifs

  • Cordova d’abord sans framework afin de porter un code web existant vers une application mobile puis Cordova avec le framework Ionic
  • React Native.

Pré requis

  • Connaître au moins un langage de programmation et avoir de bonnes notions sur HTML5, CSS3, JavaScript.

Modalités pédagogiques

Cours dispensé en mode présentiel avec une alternance d’apports théoriques et méthodologiques, et de mises en situations pratiques

Inscription

Programmes de Développer une application mobile native multiplateformes

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

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

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

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

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.