SlideShare une entreprise Scribd logo
1  sur  15
Migration Web to App
JavaScript Open Day
19 Mars 2015
Sébastien OLLIVIER – TechLead WebApps
sollivier@infinitesquare.com
@SebastienOll
JavaScript Open Day – Migration Web to App – page 2
8
Sommaire
 Contexte
 Création de l’application Web
 Création de l’application mobile
 Conclusion
JavaScript Open Day – Migration Web to App – page 3
8
Jeu concours - Gagnez deux livres AngularJS
Retweetez pour participer :
• 1er tirage : fin de session
• 2ème tirage : Lundi 22 Mars
@SebastienOll
Contexte
JavaScript Open Day – Migration Web to App – page 5
Contexte
 Elior souhaite fournir, aux parents d’élèves, une application pour :
 Voir le menu d’un cantine
 Payer ses factures
 Inscrire / Désinscrire son enfant de la cantine pour un ou
plusieurs jours
 Etc.
 Objectifs :
 V1 : Site Web (cible: IE8+)
 V2 : Applications mobiles iOS, Android, Windows Phone
JavaScript Open Day – Migration Web to App – page 6
Solution technique
Objectif : 1 code = 4 applications
Création de
l’application web
JavaScript Open Day – Migration Web to App – page 8
Une application et non un site
Un utilisateur est plus exigeant avec une application qu’avec
un site
 Chargement rapide
 Feedbacks visuels
 Transitions
Une application doit fonctionner sans connexion
 Cache HTML 5
 Storage HTML 5 (LocalStorage / IndexedDb)
Une application mobile doit gérer le touch (pas de :hover)
Nécessité d’avoir un contenu adaptatif / responsive
JavaScript Open Day – Migration Web to App – page 9
AngularJS pour du développement mobile
 Support du touch : ngTouch
 Suppression des 300ms d’attente sur le ngClick
 Ajout de la gesture de type swipe
 Pour plus de gestures, angular-gestures (basé sur hammerjs)
 Supprimer le zoom natif
 TypeScript pour gagner en productivité et en robustesse
 Optimisations
 Limiter le nombres de watch
 Précharger les templates
 Privilégier les transitions CSS aux animations jQuery
 (+ autres optimisations classiques)
Création de
l’application mobile
JavaScript Open Day – Migration Web to App – page 11
Setup de l’environnement de développement
 Cordova command-line (CLI)
 Basé sur Node.js
 Nécessite l’installation de l’environnement (Android / iOS / WP)
 PhoneGap Build
 Service de Build dans le Cloud
 Possibilité de debug avec Weinre
 Visual Studio 2013 & Extension Multi-Device Hybrid App
 Visual Studio 2015
JavaScript Open Day – Migration Web to App – page 12
Multi-Device Hybrid App
 Installation automatisé de l’environnement de développement
 Expérience de développement riche
 Templates de projet
 Compilation du projet pour générer les apps
 Debug de l’application directement depuis Visual Studio
 Ripple
 Android
 Windows Phone
 iOS
 Emulateur Android
JavaScript Open Day – Migration Web to App – page 13
Adaptation de l’application web
 Qu’est-ce qui a du être changé ?
 Désactivation du mode de navigation HTML 5
 Autorisation des url Windows Phone
 Téléchargement de PDF
 Application Web : ouverture d’un lien dans le navigateur
 Application mobile : sauvegarde du PDF sur le device
 Règles CSS
 Dossier merges de Cordova : contient le code exclusif à une plateforme
JavaScript Open Day – Migration Web to App – page 14
Interagir avec le device
 Mécanisme de plugins
 Permet la communication entre l’application web et du code natif
 1 plugin = 1 ou plusieurs implémentations (iOS, WP, Android, etc.)
 1 plugin = 1 contrat JavaScript
 Cordova injecte la bonne implémentation à la création de l’app
 Module Angular ngCordova encapsule les API Cordova
 Repository de plugins (> 800) : http://plugins.cordova.io
Plugin CORDOVA (JS)
Code WP Code Android Code iOS
JavaScript Open Day – Migration Web to App – page 15
Conclusion et tirage au sort…
Objectif initial réussi
 1,1 code = 4 applications
 90% de code commun
AngularJS + Cordova = Combo-Gagnant
Tester sur mobile tout au long du projet
 Détecter rapidement les ajustements (graphismes et
performances)
 Garder au maximum un seul et même code

Contenu connexe

En vedette

Brochure arches et tentes 0315
Brochure arches et tentes   0315Brochure arches et tentes   0315
Brochure arches et tentes 0315pubeo
 
Le Touriste Est Blagueur
Le Touriste Est BlagueurLe Touriste Est Blagueur
Le Touriste Est Blagueurguest87fd7a
 
Beautiful Roses - Part 1
Beautiful Roses - Part 1Beautiful Roses - Part 1
Beautiful Roses - Part 1Thilini
 
Premiere Reunion Publique
Premiere Reunion PubliquePremiere Reunion Publique
Premiere Reunion Publiqueguest275f13
 
Phrasesdujour
PhrasesdujourPhrasesdujour
Phrasesdujoureric4274
 
Nuit De Noces Inoubliable
Nuit De Noces InoubliableNuit De Noces Inoubliable
Nuit De Noces InoubliableKIKIROK
 
Microsoft Word Ggtt Festividades Jane
Microsoft Word   Ggtt Festividades JaneMicrosoft Word   Ggtt Festividades Jane
Microsoft Word Ggtt Festividades Janeguestfc0f5c
 
Diffuser et éditorialiser les données audiovisuelles de la recherche
Diffuser et éditorialiser les données audiovisuelles de la rechercheDiffuser et éditorialiser les données audiovisuelles de la recherche
Diffuser et éditorialiser les données audiovisuelles de la recherchevalicha14
 
Crédit Agricole in Second Life
Crédit Agricole in  Second LifeCrédit Agricole in  Second Life
Crédit Agricole in Second LifeDavid Castera
 
Libqual+, l'expérience alsacienne
Libqual+, l'expérience alsacienneLibqual+, l'expérience alsacienne
Libqual+, l'expérience alsacienneNicolas Alarcon
 
faaroo-help-code-externe
faaroo-help-code-externefaaroo-help-code-externe
faaroo-help-code-externefaaroo
 
Présentation FranceAgriMer (english version)
Présentation FranceAgriMer (english version)Présentation FranceAgriMer (english version)
Présentation FranceAgriMer (english version)FranceAgriMer
 
Community manager-maestros-del-web
Community manager-maestros-del-webCommunity manager-maestros-del-web
Community manager-maestros-del-webJavier SaaDapart
 
Liens Sponsorises en Longue Traine
Liens Sponsorises en Longue TraineLiens Sponsorises en Longue Traine
Liens Sponsorises en Longue TraineAlexandre Villeneuve
 

En vedette (20)

PréSentation2
PréSentation2PréSentation2
PréSentation2
 
SNCF
SNCFSNCF
SNCF
 
Brochure arches et tentes 0315
Brochure arches et tentes   0315Brochure arches et tentes   0315
Brochure arches et tentes 0315
 
Le Touriste Est Blagueur
Le Touriste Est BlagueurLe Touriste Est Blagueur
Le Touriste Est Blagueur
 
Beautiful Roses - Part 1
Beautiful Roses - Part 1Beautiful Roses - Part 1
Beautiful Roses - Part 1
 
Premiere Reunion Publique
Premiere Reunion PubliquePremiere Reunion Publique
Premiere Reunion Publique
 
Phrasesdujour
PhrasesdujourPhrasesdujour
Phrasesdujour
 
Diseño bases d e datos
Diseño bases d e datosDiseño bases d e datos
Diseño bases d e datos
 
AlléGorie..
AlléGorie..AlléGorie..
AlléGorie..
 
Nuit De Noces Inoubliable
Nuit De Noces InoubliableNuit De Noces Inoubliable
Nuit De Noces Inoubliable
 
Microsoft Word Ggtt Festividades Jane
Microsoft Word   Ggtt Festividades JaneMicrosoft Word   Ggtt Festividades Jane
Microsoft Word Ggtt Festividades Jane
 
Diffuser et éditorialiser les données audiovisuelles de la recherche
Diffuser et éditorialiser les données audiovisuelles de la rechercheDiffuser et éditorialiser les données audiovisuelles de la recherche
Diffuser et éditorialiser les données audiovisuelles de la recherche
 
Crédit Agricole in Second Life
Crédit Agricole in  Second LifeCrédit Agricole in  Second Life
Crédit Agricole in Second Life
 
Libqual+, l'expérience alsacienne
Libqual+, l'expérience alsacienneLibqual+, l'expérience alsacienne
Libqual+, l'expérience alsacienne
 
faaroo-help-code-externe
faaroo-help-code-externefaaroo-help-code-externe
faaroo-help-code-externe
 
el imperfecto-frances
el imperfecto-francesel imperfecto-frances
el imperfecto-frances
 
Présentation FranceAgriMer (english version)
Présentation FranceAgriMer (english version)Présentation FranceAgriMer (english version)
Présentation FranceAgriMer (english version)
 
Community manager-maestros-del-web
Community manager-maestros-del-webCommunity manager-maestros-del-web
Community manager-maestros-del-web
 
Notebook
NotebookNotebook
Notebook
 
Liens Sponsorises en Longue Traine
Liens Sponsorises en Longue TraineLiens Sponsorises en Longue Traine
Liens Sponsorises en Longue Traine
 

Similaire à JavaScript Open Day - Migration Web To App

Le développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordovaLe développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordovaSébastien Ollivier
 
Construire une Application Mobile en 30 minutes avec le plugin WP-AppKit
Construire une Application Mobile en 30 minutes avec le plugin WP-AppKitConstruire une Application Mobile en 30 minutes avec le plugin WP-AppKit
Construire une Application Mobile en 30 minutes avec le plugin WP-AppKituncatcrea
 
Windows Phone: Migrez de Silverlight vers Universal App, Préparez vous à Wind...
Windows Phone: Migrez de Silverlight vers Universal App, Préparez vous à Wind...Windows Phone: Migrez de Silverlight vers Universal App, Préparez vous à Wind...
Windows Phone: Migrez de Silverlight vers Universal App, Préparez vous à Wind...Microsoft
 
Human Talks Grenoble 08/09/2015 - AngularJS et Cordova = applications WEB et ...
Human Talks Grenoble 08/09/2015 - AngularJS et Cordova = applications WEB et ...Human Talks Grenoble 08/09/2015 - AngularJS et Cordova = applications WEB et ...
Human Talks Grenoble 08/09/2015 - AngularJS et Cordova = applications WEB et ...Xavier NOPRE
 
Développer une application Chrome avec AngularJs (Google Développers Group Sa...
Développer une application Chrome avec AngularJs (Google Développers Group Sa...Développer une application Chrome avec AngularJs (Google Développers Group Sa...
Développer une application Chrome avec AngularJs (Google Développers Group Sa...DEFO KUATE Landry
 
Construire une PWA connectée à WordPress
Construire une PWA connectée à WordPressConstruire une PWA connectée à WordPress
Construire une PWA connectée à WordPressBenjamin LUPU
 
Applications mobiles - quels choix ?
Applications mobiles  - quels choix ?Applications mobiles  - quels choix ?
Applications mobiles - quels choix ?odemarez
 
02_Chapitre_1_.pdf
02_Chapitre_1_.pdf02_Chapitre_1_.pdf
02_Chapitre_1_.pdfallagahamza
 
Responsive Web Design : best practices et retour d'expérience de Backelite et...
Responsive Web Design : best practices et retour d'expérience de Backelite et...Responsive Web Design : best practices et retour d'expérience de Backelite et...
Responsive Web Design : best practices et retour d'expérience de Backelite et...Idean France
 
Ingénieur étude et développement JAVA JEE.pdf
Ingénieur étude et développement JAVA JEE.pdfIngénieur étude et développement JAVA JEE.pdf
Ingénieur étude et développement JAVA JEE.pdfJEANCLAUDECAMARA
 
JCertif Tunisie 2015 - Le Web sur Mobile, Faisons le point !
JCertif Tunisie 2015 - Le Web sur Mobile, Faisons le point !JCertif Tunisie 2015 - Le Web sur Mobile, Faisons le point !
JCertif Tunisie 2015 - Le Web sur Mobile, Faisons le point !Rossi Oddet
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: AngularHabib Ayad
 
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...Le développement mobile avec Vue.js : cross-platform et progressive web apps ...
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...Owlie
 
Developpement mobile hybride avec Visual Studio, Apache Cordova
Developpement mobile hybride avec Visual Studio, Apache CordovaDeveloppement mobile hybride avec Visual Studio, Apache Cordova
Developpement mobile hybride avec Visual Studio, Apache CordovaMicrosoft
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
Offre migrer vers_flutter
Offre migrer vers_flutterOffre migrer vers_flutter
Offre migrer vers_flutterJulien Saumande
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdfimenhamada17
 
L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8Microsoft
 

Similaire à JavaScript Open Day - Migration Web To App (20)

Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
Le développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordovaLe développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordova
 
Construire une Application Mobile en 30 minutes avec le plugin WP-AppKit
Construire une Application Mobile en 30 minutes avec le plugin WP-AppKitConstruire une Application Mobile en 30 minutes avec le plugin WP-AppKit
Construire une Application Mobile en 30 minutes avec le plugin WP-AppKit
 
Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2
 
Windows Phone: Migrez de Silverlight vers Universal App, Préparez vous à Wind...
Windows Phone: Migrez de Silverlight vers Universal App, Préparez vous à Wind...Windows Phone: Migrez de Silverlight vers Universal App, Préparez vous à Wind...
Windows Phone: Migrez de Silverlight vers Universal App, Préparez vous à Wind...
 
Human Talks Grenoble 08/09/2015 - AngularJS et Cordova = applications WEB et ...
Human Talks Grenoble 08/09/2015 - AngularJS et Cordova = applications WEB et ...Human Talks Grenoble 08/09/2015 - AngularJS et Cordova = applications WEB et ...
Human Talks Grenoble 08/09/2015 - AngularJS et Cordova = applications WEB et ...
 
Développer une application Chrome avec AngularJs (Google Développers Group Sa...
Développer une application Chrome avec AngularJs (Google Développers Group Sa...Développer une application Chrome avec AngularJs (Google Développers Group Sa...
Développer une application Chrome avec AngularJs (Google Développers Group Sa...
 
Construire une PWA connectée à WordPress
Construire une PWA connectée à WordPressConstruire une PWA connectée à WordPress
Construire une PWA connectée à WordPress
 
Applications mobiles - quels choix ?
Applications mobiles  - quels choix ?Applications mobiles  - quels choix ?
Applications mobiles - quels choix ?
 
02_Chapitre_1_.pdf
02_Chapitre_1_.pdf02_Chapitre_1_.pdf
02_Chapitre_1_.pdf
 
Responsive Web Design : best practices et retour d'expérience de Backelite et...
Responsive Web Design : best practices et retour d'expérience de Backelite et...Responsive Web Design : best practices et retour d'expérience de Backelite et...
Responsive Web Design : best practices et retour d'expérience de Backelite et...
 
Ingénieur étude et développement JAVA JEE.pdf
Ingénieur étude et développement JAVA JEE.pdfIngénieur étude et développement JAVA JEE.pdf
Ingénieur étude et développement JAVA JEE.pdf
 
JCertif Tunisie 2015 - Le Web sur Mobile, Faisons le point !
JCertif Tunisie 2015 - Le Web sur Mobile, Faisons le point !JCertif Tunisie 2015 - Le Web sur Mobile, Faisons le point !
JCertif Tunisie 2015 - Le Web sur Mobile, Faisons le point !
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: Angular
 
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...Le développement mobile avec Vue.js : cross-platform et progressive web apps ...
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...
 
Developpement mobile hybride avec Visual Studio, Apache Cordova
Developpement mobile hybride avec Visual Studio, Apache CordovaDeveloppement mobile hybride avec Visual Studio, Apache Cordova
Developpement mobile hybride avec Visual Studio, Apache Cordova
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Offre migrer vers_flutter
Offre migrer vers_flutterOffre migrer vers_flutter
Offre migrer vers_flutter
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdf
 
L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8
 

JavaScript Open Day - Migration Web To App

  • 1. Migration Web to App JavaScript Open Day 19 Mars 2015 Sébastien OLLIVIER – TechLead WebApps sollivier@infinitesquare.com @SebastienOll
  • 2. JavaScript Open Day – Migration Web to App – page 2 8 Sommaire  Contexte  Création de l’application Web  Création de l’application mobile  Conclusion
  • 3. JavaScript Open Day – Migration Web to App – page 3 8 Jeu concours - Gagnez deux livres AngularJS Retweetez pour participer : • 1er tirage : fin de session • 2ème tirage : Lundi 22 Mars @SebastienOll
  • 5. JavaScript Open Day – Migration Web to App – page 5 Contexte  Elior souhaite fournir, aux parents d’élèves, une application pour :  Voir le menu d’un cantine  Payer ses factures  Inscrire / Désinscrire son enfant de la cantine pour un ou plusieurs jours  Etc.  Objectifs :  V1 : Site Web (cible: IE8+)  V2 : Applications mobiles iOS, Android, Windows Phone
  • 6. JavaScript Open Day – Migration Web to App – page 6 Solution technique Objectif : 1 code = 4 applications
  • 8. JavaScript Open Day – Migration Web to App – page 8 Une application et non un site Un utilisateur est plus exigeant avec une application qu’avec un site  Chargement rapide  Feedbacks visuels  Transitions Une application doit fonctionner sans connexion  Cache HTML 5  Storage HTML 5 (LocalStorage / IndexedDb) Une application mobile doit gérer le touch (pas de :hover) Nécessité d’avoir un contenu adaptatif / responsive
  • 9. JavaScript Open Day – Migration Web to App – page 9 AngularJS pour du développement mobile  Support du touch : ngTouch  Suppression des 300ms d’attente sur le ngClick  Ajout de la gesture de type swipe  Pour plus de gestures, angular-gestures (basé sur hammerjs)  Supprimer le zoom natif  TypeScript pour gagner en productivité et en robustesse  Optimisations  Limiter le nombres de watch  Précharger les templates  Privilégier les transitions CSS aux animations jQuery  (+ autres optimisations classiques)
  • 11. JavaScript Open Day – Migration Web to App – page 11 Setup de l’environnement de développement  Cordova command-line (CLI)  Basé sur Node.js  Nécessite l’installation de l’environnement (Android / iOS / WP)  PhoneGap Build  Service de Build dans le Cloud  Possibilité de debug avec Weinre  Visual Studio 2013 & Extension Multi-Device Hybrid App  Visual Studio 2015
  • 12. JavaScript Open Day – Migration Web to App – page 12 Multi-Device Hybrid App  Installation automatisé de l’environnement de développement  Expérience de développement riche  Templates de projet  Compilation du projet pour générer les apps  Debug de l’application directement depuis Visual Studio  Ripple  Android  Windows Phone  iOS  Emulateur Android
  • 13. JavaScript Open Day – Migration Web to App – page 13 Adaptation de l’application web  Qu’est-ce qui a du être changé ?  Désactivation du mode de navigation HTML 5  Autorisation des url Windows Phone  Téléchargement de PDF  Application Web : ouverture d’un lien dans le navigateur  Application mobile : sauvegarde du PDF sur le device  Règles CSS  Dossier merges de Cordova : contient le code exclusif à une plateforme
  • 14. JavaScript Open Day – Migration Web to App – page 14 Interagir avec le device  Mécanisme de plugins  Permet la communication entre l’application web et du code natif  1 plugin = 1 ou plusieurs implémentations (iOS, WP, Android, etc.)  1 plugin = 1 contrat JavaScript  Cordova injecte la bonne implémentation à la création de l’app  Module Angular ngCordova encapsule les API Cordova  Repository de plugins (> 800) : http://plugins.cordova.io Plugin CORDOVA (JS) Code WP Code Android Code iOS
  • 15. JavaScript Open Day – Migration Web to App – page 15 Conclusion et tirage au sort… Objectif initial réussi  1,1 code = 4 applications  90% de code commun AngularJS + Cordova = Combo-Gagnant Tester sur mobile tout au long du projet  Détecter rapidement les ajustements (graphismes et performances)  Garder au maximum un seul et même code

Notes de l'éditeur

  1. 11h32
  2. Décrire rapidement ce qu’est AngularJS et Cordova AngularJS : Framework JavaScript permettant de créer des applications web de type SPA (Single Page Application), par Google Cordova : Framework permettant de créer des applications mobiles à partir d’application Web, par Apache depuis 2011
  3. 11h38
  4. Démo de l’application en mode desktop & mobile : https://bonapp.elior.com/gonesse/menus Retours visuels => page de recherche d’un établissement Offline => stockage des menus dans le localStorage Responsive => page de recherche et page de menu
  5. Autres optimisations : Respecter les contraintes du langages JavaScript Limiter l’usage des filtres Manipuler le DOM dans les directives TypeScript : Langage qui se transcompile en JavaScript (avantages : compilation / typage statique)
  6. 11h48
  7. Démo : Montrer Visual Studio 2015 avec le template de projet L’émulateur Android Ripple Compilation génère un projet
  8. Accéder à la caméra en HTML 5 : http://caniuse.com/#search=camera Démo App’Exposants
  9. 11h58