SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Angular + Cordova =
application WEB & mobile "faciles" ...
Xavier NOPRE – 08/09/2015
GRENOBLE
Xavier NOPRE
@xnopre xnopre.blogspot.com
Indépendant
Artisan Développeur WEB & mobile
Agiliste
Développement
d'applications sur
mesure
Formations en
entreprises
(développement
agile, WEB, …)
Contexte
 Client : cabinet d'architectes
 Besoin : faire des audits d'accessibilité handicapés ERP
 Objectif : développer une application pour simplifer ces
audits et gagner du temps
 Solution : application WEB (riche, intuitive, effcace)
– En gros : avec un iPad, prendre des photos, saisir des
commentaires et générer un rapport PDF
 Bonus : pouvoir fonctionner hors-ligne (hors 3G-4G)
Aperçus IHM application WEB
Fonctionnement hors ligne ?
 Bonus : pouvoir fonctionner hors-ligne (hors 3G-4G)
 Bonus → devenu impératif !
 Application WEB hors-ligne avec HTML5, cache, local
storage, etc … ?
– J'ai testé, je n'y crois pas ! :-(
 Solution retenue → application mobile hybride iOS
– Avantages :
●
Avoir en local toute la structures des pages
(HTML, CSS, JS) voire quelques données
●
Compléments fonctionnels grâce aux API/plugins
Outils et Frameworks
The web's scaffolding tool
for modern webapps
WEB application framework
V 1.3.1 + Java
Usine logicielle
Serveur ClientServeur
Tests Mobile
Générations WEB & mobile
Sources partie serveur :
Play, java, scripts, SQL, ...
Sources partie cliente :
AngularJS, HTML, CSS, ...
« app » WEB
« Grunt build »
Packaging serveur
Serveur / cloud
Script (sync)
Scripts
App Store
Projet Xcode
« Ch#@ !§$£% Apple »
« cordova build... »« cordova run... »
● Deploy serveur
X
● Deploy app mobile
Y
Y
Z
X
X
AngularJS et Cordova : couple idéal ?
 AngularJS (ou autre framework SPA) :
– Un fchier de départ (ex : index.html)
– Chargement des JS (Angular et autre), des HTML
(templates), des CSS, des images, ...
 Cordova :
– Moteur de PhoneGap cédé à Fondation Apache
– Crée une application (Android, iOS, …) avec une
WebView
– Encapsule tout un répertoire (defaut : www)
– Avec un point de départ (défaut : index.html)
 Et voilà ! :-)
Grunt ↔ Cordova
 2 solutions :
– Grunt appelle Cordova qui est déclaré comme une
“task”
– Cordova appelle Grunt via un “hook” et
une “target” spécifque
hooks/before_prepare/010_grunt_build.js
Cordova : API & plugins
 API : essentiellement des “events” : deviceready, pause,
resume, backbutton, menubutton, searchbutton, …
 Le reste par plugins :
– Battery Status, Camera, Console, Contacts, Device,
Device Motion (Accelerometer), Device Orientation
(Compass), Dialogs, FileSystem, File Transfer,
Geolocation, Globalization, InAppBrowser, Media,
Media Capture, Network Information (Connection),
Splashscreen, Vibration, StatusBar, Whitelist,
Legacy Whitelist

Conclusion ?
●
AngularJS : vraiment excellent :-)
– Injection de dépendance, tests unitaires, ...
●
Investir dès le départ dans sa chaine de production !
●
Application mobile ? Pas forcément “LA” solution...
– → Appli WEB et/ou mobile : à bon escient
●
Application hybride : une très bonne solution !
– Simple, productivité, IHM unique, multi-plateforme, ...
●
Cordova :
– Appli mobile “basique” avec les standards (JS, AngularJS, …)
– Ajout de fonctionnalités spécifques grâce aux API/plugins
●
Diffcultés ? Fonctionnement hors-ligne et synchro
Xavier NOPRE
@xnopre xnopre.blogspot.com
Indépendant
Artisan Développeur WEB & mobile
Agiliste
Développement
d'applications sur
mesure
Formations en
entreprises
(développement
agile, WEB, …)
MERCI !

Más contenido relacionado

Destacado

Marcas colectivas, indicaciones geográficas y desarrollo económico
Marcas colectivas, indicaciones geográficas y desarrollo económico  Marcas colectivas, indicaciones geográficas y desarrollo económico
Marcas colectivas, indicaciones geográficas y desarrollo económico Claudio Iglesias Darriba
 
En association avec le CEFRIO et HEC Montréal, le CIGREF délivre les résultat...
En association avec le CEFRIO et HEC Montréal, le CIGREF délivre les résultat...En association avec le CEFRIO et HEC Montréal, le CIGREF délivre les résultat...
En association avec le CEFRIO et HEC Montréal, le CIGREF délivre les résultat...nuntiis
 
Blanca Berlín, Marzo 2010*
Blanca Berlín, Marzo 2010*Blanca Berlín, Marzo 2010*
Blanca Berlín, Marzo 2010*Eva Morales
 
Nordrhein Westfalen
Nordrhein WestfalenNordrhein Westfalen
Nordrhein WestfalenYPEPTH
 
ESK-Leitlinien: Periodische Sicherheitsüberprüfung und technisches Alterungsm...
ESK-Leitlinien: Periodische Sicherheitsüberprüfung und technisches Alterungsm...ESK-Leitlinien: Periodische Sicherheitsüberprüfung und technisches Alterungsm...
ESK-Leitlinien: Periodische Sicherheitsüberprüfung und technisches Alterungsm...Oeko-Institut
 
Proyecto: "La escuela, sociedad de lectura abierta a la comunidad"
Proyecto: "La escuela, sociedad de lectura abierta a la comunidad"Proyecto: "La escuela, sociedad de lectura abierta a la comunidad"
Proyecto: "La escuela, sociedad de lectura abierta a la comunidad"monicaeq
 
Park Prêmium Resort
Park Prêmium ResortPark Prêmium Resort
Park Prêmium Resortronyfimoveis
 
blog,redessocialesywiki
blog,redessocialesywikiblog,redessocialesywiki
blog,redessocialesywikidieguito1988
 
Edi.cat a la Universitat
Edi.cat a la UniversitatEdi.cat a la Universitat
Edi.cat a la UniversitatEdi.cat
 
Lo que he aprendido
Lo que he aprendidoLo que he aprendido
Lo que he aprendidoLeila Cura
 
Mc cuisine 1 que pour les yeux !
Mc cuisine 1 que pour les yeux !Mc cuisine 1 que pour les yeux !
Mc cuisine 1 que pour les yeux !Marisagg
 
S20 21 la comunicación corporativa
S20 21 la comunicación corporativaS20 21 la comunicación corporativa
S20 21 la comunicación corporativaUSET
 
Geiz ist geil, Usability ist geiler.
Geiz ist geil, Usability ist geiler.Geiz ist geil, Usability ist geiler.
Geiz ist geil, Usability ist geiler.kernpunkt
 
Présentation cci cerner son offre
Présentation cci   cerner son offrePrésentation cci   cerner son offre
Présentation cci cerner son offreEcobiz 37
 
Indicadores economicos
Indicadores economicosIndicadores economicos
Indicadores economicosjeftee
 

Destacado (20)

Marcas colectivas, indicaciones geográficas y desarrollo económico
Marcas colectivas, indicaciones geográficas y desarrollo económico  Marcas colectivas, indicaciones geográficas y desarrollo económico
Marcas colectivas, indicaciones geográficas y desarrollo económico
 
Correspondencia
CorrespondenciaCorrespondencia
Correspondencia
 
En association avec le CEFRIO et HEC Montréal, le CIGREF délivre les résultat...
En association avec le CEFRIO et HEC Montréal, le CIGREF délivre les résultat...En association avec le CEFRIO et HEC Montréal, le CIGREF délivre les résultat...
En association avec le CEFRIO et HEC Montréal, le CIGREF délivre les résultat...
 
Blanca Berlín, Marzo 2010*
Blanca Berlín, Marzo 2010*Blanca Berlín, Marzo 2010*
Blanca Berlín, Marzo 2010*
 
Nordrhein Westfalen
Nordrhein WestfalenNordrhein Westfalen
Nordrhein Westfalen
 
ESK-Leitlinien: Periodische Sicherheitsüberprüfung und technisches Alterungsm...
ESK-Leitlinien: Periodische Sicherheitsüberprüfung und technisches Alterungsm...ESK-Leitlinien: Periodische Sicherheitsüberprüfung und technisches Alterungsm...
ESK-Leitlinien: Periodische Sicherheitsüberprüfung und technisches Alterungsm...
 
Proyecto: "La escuela, sociedad de lectura abierta a la comunidad"
Proyecto: "La escuela, sociedad de lectura abierta a la comunidad"Proyecto: "La escuela, sociedad de lectura abierta a la comunidad"
Proyecto: "La escuela, sociedad de lectura abierta a la comunidad"
 
Park Prêmium Resort
Park Prêmium ResortPark Prêmium Resort
Park Prêmium Resort
 
blog,redessocialesywiki
blog,redessocialesywikiblog,redessocialesywiki
blog,redessocialesywiki
 
Tequila Y Sal
Tequila Y SalTequila Y Sal
Tequila Y Sal
 
Edi.cat a la Universitat
Edi.cat a la UniversitatEdi.cat a la Universitat
Edi.cat a la Universitat
 
Lo que he aprendido
Lo que he aprendidoLo que he aprendido
Lo que he aprendido
 
Mc cuisine 1 que pour les yeux !
Mc cuisine 1 que pour les yeux !Mc cuisine 1 que pour les yeux !
Mc cuisine 1 que pour les yeux !
 
S20 21 la comunicación corporativa
S20 21 la comunicación corporativaS20 21 la comunicación corporativa
S20 21 la comunicación corporativa
 
Geiz ist geil, Usability ist geiler.
Geiz ist geil, Usability ist geiler.Geiz ist geil, Usability ist geiler.
Geiz ist geil, Usability ist geiler.
 
Pf 2009
Pf 2009Pf 2009
Pf 2009
 
Db Br 103
Db Br 103Db Br 103
Db Br 103
 
En un mercado_persa
En un mercado_persaEn un mercado_persa
En un mercado_persa
 
Présentation cci cerner son offre
Présentation cci   cerner son offrePrésentation cci   cerner son offre
Présentation cci cerner son offre
 
Indicadores economicos
Indicadores economicosIndicadores economicos
Indicadores economicos
 

Similar a Human Talks Grenoble 08/09/2015 - AngularJS et Cordova = applications WEB et mobile "faciles"...

[Chambé-Carnet] Web Mobile : quelles opportunités, quels moyens ?
[Chambé-Carnet] Web Mobile : quelles opportunités, quels moyens ?[Chambé-Carnet] Web Mobile : quelles opportunités, quels moyens ?
[Chambé-Carnet] Web Mobile : quelles opportunités, quels moyens ?Chambé-Carnet
 
JavaScript Open Day - Migration Web To App
JavaScript Open Day - Migration Web To AppJavaScript Open Day - Migration Web To App
JavaScript Open Day - Migration Web To AppSébastien Ollivier
 
Developper une application mobile
Developper une application mobileDevelopper une application mobile
Developper une application mobileEutech SSII
 
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
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogySacha Leprêtre
 
Les secrets du développement d'une application mobile
Les secrets du développement d'une application mobileLes secrets du développement d'une application mobile
Les secrets du développement d'une application mobileEutech SSII
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans DrupalAdyax
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5davrous
 
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 8davrous
 
jQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidejQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidemaru.maru
 
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
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz InesInes Ouaz
 

Similar a Human Talks Grenoble 08/09/2015 - AngularJS et Cordova = applications WEB et mobile "faciles"... (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
 
[Chambé-Carnet] Web Mobile : quelles opportunités, quels moyens ?
[Chambé-Carnet] Web Mobile : quelles opportunités, quels moyens ?[Chambé-Carnet] Web Mobile : quelles opportunités, quels moyens ?
[Chambé-Carnet] Web Mobile : quelles opportunités, quels moyens ?
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
 
JavaScript Open Day - Migration Web To App
JavaScript Open Day - Migration Web To AppJavaScript Open Day - Migration Web To App
JavaScript Open Day - Migration Web To App
 
Developper une application mobile
Developper une application mobileDevelopper une application mobile
Developper une application mobile
 
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
 
Cv dridi-lotfi
Cv dridi-lotfiCv dridi-lotfi
Cv dridi-lotfi
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
 
Les secrets du développement d'une application mobile
Les secrets du développement d'une application mobileLes secrets du développement d'une application mobile
Les secrets du développement d'une application mobile
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5
 
Apache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéro
 
Cv fr-gharsallah yassine
Cv fr-gharsallah yassineCv fr-gharsallah yassine
Cv fr-gharsallah yassine
 
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
 
Drupal & Mobilité
Drupal & MobilitéDrupal & Mobilité
Drupal & Mobilité
 
jQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-sidejQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-side
 
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
 
MEAN_Stack_IOT
MEAN_Stack_IOTMEAN_Stack_IOT
MEAN_Stack_IOT
 
CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz Ines
 

Más de Xavier NOPRE

Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013
Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013
Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013Xavier NOPRE
 
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013Xavier NOPRE
 
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013Xavier NOPRE
 
Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013Xavier NOPRE
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDXavier NOPRE
 
Ingénierie agile : N’oubliez pas vos développeurs
Ingénierie agile : N’oubliez pas vos développeursIngénierie agile : N’oubliez pas vos développeurs
Ingénierie agile : N’oubliez pas vos développeursXavier NOPRE
 

Más de Xavier NOPRE (6)

Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013
Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013
Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013
 
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
Jasmine : tests unitaires en JavaScript - Human Talks Grenoble 14.05.2013
 
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
 
Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDD
 
Ingénierie agile : N’oubliez pas vos développeurs
Ingénierie agile : N’oubliez pas vos développeursIngénierie agile : N’oubliez pas vos développeurs
Ingénierie agile : N’oubliez pas vos développeurs
 

Human Talks Grenoble 08/09/2015 - AngularJS et Cordova = applications WEB et mobile "faciles"...

  • 1. Angular + Cordova = application WEB & mobile "faciles" ... Xavier NOPRE – 08/09/2015 GRENOBLE
  • 2. Xavier NOPRE @xnopre xnopre.blogspot.com Indépendant Artisan Développeur WEB & mobile Agiliste Développement d'applications sur mesure Formations en entreprises (développement agile, WEB, …)
  • 3. Contexte  Client : cabinet d'architectes  Besoin : faire des audits d'accessibilité handicapés ERP  Objectif : développer une application pour simplifer ces audits et gagner du temps  Solution : application WEB (riche, intuitive, effcace) – En gros : avec un iPad, prendre des photos, saisir des commentaires et générer un rapport PDF  Bonus : pouvoir fonctionner hors-ligne (hors 3G-4G)
  • 5. Fonctionnement hors ligne ?  Bonus : pouvoir fonctionner hors-ligne (hors 3G-4G)  Bonus → devenu impératif !  Application WEB hors-ligne avec HTML5, cache, local storage, etc … ? – J'ai testé, je n'y crois pas ! :-(  Solution retenue → application mobile hybride iOS – Avantages : ● Avoir en local toute la structures des pages (HTML, CSS, JS) voire quelques données ● Compléments fonctionnels grâce aux API/plugins
  • 6. Outils et Frameworks The web's scaffolding tool for modern webapps WEB application framework V 1.3.1 + Java Usine logicielle Serveur ClientServeur Tests Mobile
  • 7. Générations WEB & mobile Sources partie serveur : Play, java, scripts, SQL, ... Sources partie cliente : AngularJS, HTML, CSS, ... « app » WEB « Grunt build » Packaging serveur Serveur / cloud Script (sync) Scripts App Store Projet Xcode « Ch#@ !§$£% Apple » « cordova build... »« cordova run... » ● Deploy serveur X ● Deploy app mobile Y Y Z X X
  • 8. AngularJS et Cordova : couple idéal ?  AngularJS (ou autre framework SPA) : – Un fchier de départ (ex : index.html) – Chargement des JS (Angular et autre), des HTML (templates), des CSS, des images, ...  Cordova : – Moteur de PhoneGap cédé à Fondation Apache – Crée une application (Android, iOS, …) avec une WebView – Encapsule tout un répertoire (defaut : www) – Avec un point de départ (défaut : index.html)  Et voilà ! :-)
  • 9. Grunt ↔ Cordova  2 solutions : – Grunt appelle Cordova qui est déclaré comme une “task” – Cordova appelle Grunt via un “hook” et une “target” spécifque hooks/before_prepare/010_grunt_build.js
  • 10. Cordova : API & plugins  API : essentiellement des “events” : deviceready, pause, resume, backbutton, menubutton, searchbutton, …  Le reste par plugins : – Battery Status, Camera, Console, Contacts, Device, Device Motion (Accelerometer), Device Orientation (Compass), Dialogs, FileSystem, File Transfer, Geolocation, Globalization, InAppBrowser, Media, Media Capture, Network Information (Connection), Splashscreen, Vibration, StatusBar, Whitelist, Legacy Whitelist

  • 11. Conclusion ? ● AngularJS : vraiment excellent :-) – Injection de dépendance, tests unitaires, ... ● Investir dès le départ dans sa chaine de production ! ● Application mobile ? Pas forcément “LA” solution... – → Appli WEB et/ou mobile : à bon escient ● Application hybride : une très bonne solution ! – Simple, productivité, IHM unique, multi-plateforme, ... ● Cordova : – Appli mobile “basique” avec les standards (JS, AngularJS, …) – Ajout de fonctionnalités spécifques grâce aux API/plugins ● Diffcultés ? Fonctionnement hors-ligne et synchro
  • 12. Xavier NOPRE @xnopre xnopre.blogspot.com Indépendant Artisan Développeur WEB & mobile Agiliste Développement d'applications sur mesure Formations en entreprises (développement agile, WEB, …) MERCI !