jQuery Mobile & Applications Web

Nicolas Hoffmann
Nicolas HoffmannFront-End developer
JQUERY MOBILE &
LES APPLICATIONS
WEB




  Kiwi Par tÿ 2012
  Par Nicolas HOFFMANN
  Twitter : @Nico3333fr
  http://www.nicolas-hof fmann.net/
WEB MOBILE &
APPLICATIONS ?

 Applications natives
 Applications web

 Deux mondes différents
APPLICATIONS WEB,
AVANTAGES

 Consultable depuis un navigateur…
 … pas uniquement en mobilité

 Pas fermé à un unique écosystème

 Un développement pour tous !

 Des technos ouvertes (HTML5, CSS3, JS)
JQUERY MOBILE




 Annoncé   le 13 Août 2010
 Version 1.0 le 16 Novembre 2011

 Actuellement en version 1.10 (13 Avril 2012)

 http://jquerymobile.com/blog/
JQUERY MOBILE




 Un Framework basé sur jQuery
 Basé sur HTML5 et CSS

 Créer des sites/web apps adaptés aux
  smartphones, aux tablettes, etc.
POURQUOI JQUERY
MOBILE ?

 Unrendu optimal sur de multiples
 plateformes (cross-platform)
POURQUOI JQUERY
MOBILE ?

 Simple,facile à apprendre
 Pas besoin de beaucoup de
  connaissances de base pour démarrer
  avec
 Documentation mise à jour

 De bons résultats pour des efforts assez
  modiques
POURQUOI JQUERY
MOBILE ?

 S’adapteaux périphériques : responsive
 sans effort
POURQUOI JQUERY
MOBILE ?

 Assez  facilement customisable
 Utilise ARIA



  Totalement dans l’esprit de jQuery
        « Write less, do more »
EN PRATIQUE

 http://kiwiparty.nicolas-hoffmann.net/

       Le site de la Kiwi Partÿ
      En version jQuery Mobile !
EN PRATIQUE, POUR
DÉMARRER (1/3)
Quelques fichiers à inclure dans le <head>

<link rel="stylesheet" href="jquery.mobile.min.css" />
<script src="jquery.js"></script>
…
<script src="jquery.mobile.min.js"></script>

Attention : jQuery 1.6.4 -> 1.7.1 !
EN PRATIQUE, POUR
DÉMARRER (2/3)
Quelques fichiers à inclure dans le <head>

<link rel="stylesheet" href="jquery.mobile.min.css" />
<script src="jquery.js"></script>
<script src="js_custom_kiwi.js"></script>
<script src="jquery.mobile.min.js"></script>

Pour customiser les réglages par défaut, doit être
entre jQuery et jQuery Mobile
EN PRATIQUE, POUR
DÉMARRER (3/3)
 Un loader Ajax charge les pages durant la navigation
 Il effectue les transitions demandées

 Peu importe si la page contient des redirections ou
  s’appelle elle-même (formulaire)
 Le tout est transparent pour l’internaute…

 … et aussi pour le développeur !
EN PRATIQUE, LE CODE (1/2)
Principe : attributs data-* que jQuery Mobile va
  transformer en code :

 data-role="page"  
 data-transition="slide"

 data-icon="arrow-r"

 data-mini="true" 

 data-theme="b"

 Etc.
EN PRATIQUE, LE CODE (2/2)
Le code de base d’une page

<div data-role="page">
 <div data-role="header" data-theme="f">
  <h1>Kiwi Partÿ, by Alsacréations</h1>
 </div>
 <div data-role="content">
 </div>
</div>
EN PRATIQUE, LES LISTES
(1/2)
La liste de l’accueil

<ul data-role="listview" data-inset="true">
<li>
  <a href="programme.php" data-transition="slide">
   Le programme
  </a>
</li>
…
</ul>
EN PRATIQUE, LES LISTES
(2/2)
L’exemple utilise deux genres de listes, il y en a bien
  d’autres :

 Avec des séparateurs
 Numérotées

 Avec des bulles d’info, des images, etc.

 Avec des possibilités de recherche

 Etc.
EN PRATIQUE, LES BOUTONS
(1/2)
Exemple Bouton Accueil

<a href="index.php" data-role="button" data-mini="true"
  data-inline="true" data-icon="arrow-l" data-
  iconpos="left" data-transition="slide" data-
  direction="reverse">Accueil</a>
EN PRATIQUE, LES BOUTONS
(2/2)
Exemple Boutons Orateurs

<div data-role="controlgroup" data-type="horizontal"
  data-mini="true">
  <a href="orateurs.php" data-role="button" data-
  mini="true" …>Orateurs</a>
  <a href="programme.php" data-role="button" data-
  mini="true" ..>Programme</a>
</div>
EN PRATIQUE, DISPOSITION
(1/3)
Accordéon du programme

<div data-role="collapsible-set">
 <div data-role="collapsible" data-content-theme="d">
  <h3>9H - Accueil</h3>
  …
  </div>
  …
</div>
EN PRATIQUE, DISPOSITION
(2/3)
Grid Layout du programme

<div class="ui-grid-a">
 <div class="ui-block-a">blabla</div>
 <div class="ui-block-b">blabla bis</div>
</div>

   Peut aller jusqu’à 5 colonnes
EN PRATIQUE, DISPOSITION
(3/3)
            ATTENTION avec le Grid Layout !

   Problème si beaucoup de contenus/colonnes sur un
    petit écran !
                         MAIS

 Assez facile à adapter via media-queries !
 D’autres initiatives comme 960 Grid on jQuery
  Mobile :
  http://jeromeetienne.github.com/jquery-mobile-960/index.
EN PRATIQUE,
FORMULAIRES (1/4)
Les éléments habituels sont là :
 Radios, checkboxes, select (amélioré), text,
  textarea, etc.

D’autres sont possibles :
 Switch (select à deux choix)

 Slider (type range)
EN PRATIQUE,
FORMULAIRES (2/4)
Exemple, appel du formulaire :

<form action="contact.php" method="post" id="form"
  data-transition="flow" data-rel="dialog">

La page de réception après traitement sera donc :

<body>
<div data-role="dialog">
  <div data-role="header" data-theme="e">…
 <div data-role="content">…
EN PRATIQUE,
FORMULAIRES (3/4)
Exemple, un champ texte avec label :

<div data-role="fieldcontain">
  <label for="id_name">Votre nom&nbsp;:</label>
  <input type="text" name="name" id="id_name"
  value="" required="required" data-mini="true" />
</div>
EN PRATIQUE,
FORMULAIRES (4/4)
Considérations personnelles :

 Style responsive, à voir sur petits écrans (450px)
  avec beaucoup de contenu
 Aisément adaptable

 Attributs HTML5 required ?

 Autres types (email, tel, etc.) tolérés sans souci
EN PRATIQUE, POUR
TWEAKER (1/2)
Le texte du loader Ajax est facilement paramétrable :

$(document).bind("mobileinit", function(){

 $.mobile.loadingMessageTextVisible = true;
 $.mobile.loadingMessage = "Loading kiwÿ modules...";

} );
EN PRATIQUE, POUR
TWEAKER (2/2)
Tous les éléments par défaut sont paramétrables :

 Transition par défaut (vers une page, vers dialog)
 Le loader et son message

 Les messages d’erreur

 Etc.
RETOUR D’EXPÉRIENCE (1/2)

 Très peu de styles CSS à ajouter
 Apprentissage assez facile

 Des résultats très rapides

 Performances correctes, exemple home
  (1st View : ~ 135 Ko ~ 2,5s ~ - de 20 requêtes)
  (Repeat View: 1 Ko ~ 0.5s)
 Tweakage assez simple pour « responsiver »
RETOUR D’EXPÉRIENCE (2/2)

 Simple de produire du code valide
 Structure Hx facile à conserver

 Ajout de thèmes faciles via Theme Roller :
  http://jquerymobile.com/themeroller/
 Possible de créer ses transitions via CSS-animation

 Touch-events (tap, etc.), API

 Des possibilités d’utiliser jQuery Mobile pour faire
  une appli native via Phone Gap
CONCLUSION



  jQuery Mobile,
    c’est BIEN !
BONUS DE L’EXEMPLE

 Cache Manifest
 Quelques attributs HTML5 pour la forme

 Un peu de responsive design (programme)

 Géolocalisation/Itinéraire via Google Maps
SUPER-BONUS DE L’EXEMPLE
THAT’S FINI !

 Merci pour « l’ immenserie de votre attenture »
 Merci à Alsacréations pour m’avoir permis de
  présenter tout cela
 Merci à tous les gens à qui j’ai oublié de dire merci




            Des questions ?
1 of 34

Recommended

Symfony with angular.pptx by
Symfony with angular.pptxSymfony with angular.pptx
Symfony with angular.pptxEsokia
3.1K views41 slides
Initiation Webperf : Comprendre, analyser et optimiser les performances web F... by
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...Kenny Dits
4.8K views51 slides
jQuery GTI780 & MTI780 ETS A09 by
jQuery   GTI780 & MTI780   ETS   A09jQuery   GTI780 & MTI780   ETS   A09
jQuery GTI780 & MTI780 ETS A09Claude Coulombe
929 views15 slides
A la découverte de vue.js by
A la découverte de vue.jsA la découverte de vue.js
A la découverte de vue.jsBruno Bonnin
2.4K views31 slides
Créer et gérer facilement votre site Internet évolutif - Webschool Tours - Co... by
Créer et gérer facilement votre site Internet évolutif - Webschool Tours - Co...Créer et gérer facilement votre site Internet évolutif - Webschool Tours - Co...
Créer et gérer facilement votre site Internet évolutif - Webschool Tours - Co...Claude BUENO
1.2K views17 slides
Jquery Mobile vs Twitter Bootstrap by
Jquery Mobile vs Twitter BootstrapJquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter BootstrapODC Orange Developer Center
3.7K views24 slides

More Related Content

What's hot

Vue.js, même un dev java peut en faire ! by
Vue.js, même un dev java peut en faire !Vue.js, même un dev java peut en faire !
Vue.js, même un dev java peut en faire !Bruno Bonnin
1.1K views14 slides
Vue, j’avais pas vu ! by
Vue, j’avais pas vu !Vue, j’avais pas vu !
Vue, j’avais pas vu !Bruno Bonnin
1.3K views52 slides
Gwt final by
Gwt finalGwt final
Gwt finalsquallys
2.8K views41 slides
JQuery by
JQueryJQuery
JQueryZakaria SMAHI
1.3K views23 slides
Histoires de CMS by
Histoires de CMSHistoires de CMS
Histoires de CMSCatherine Mollet
2.6K views28 slides
Atelier autour de UWA à ParisWeb 2007 by
Atelier autour de UWA à ParisWeb 2007Atelier autour de UWA à ParisWeb 2007
Atelier autour de UWA à ParisWeb 2007Netvibes
2.3K views42 slides

What's hot(13)

Vue.js, même un dev java peut en faire ! by Bruno Bonnin
Vue.js, même un dev java peut en faire !Vue.js, même un dev java peut en faire !
Vue.js, même un dev java peut en faire !
Bruno Bonnin1.1K views
Vue, j’avais pas vu ! by Bruno Bonnin
Vue, j’avais pas vu !Vue, j’avais pas vu !
Vue, j’avais pas vu !
Bruno Bonnin1.3K views
Gwt final by squallys
Gwt finalGwt final
Gwt final
squallys2.8K views
Atelier autour de UWA à ParisWeb 2007 by Netvibes
Atelier autour de UWA à ParisWeb 2007Atelier autour de UWA à ParisWeb 2007
Atelier autour de UWA à ParisWeb 2007
Netvibes2.3K views
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon) by Café Numérique Arlon
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Hello AngularJS - Back to the future by Ouadie LAHDIOUI
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the future
Ouadie LAHDIOUI1.5K views
Jquery by krymo
JqueryJquery
Jquery
krymo3.6K views
GWT : under the hood by svuillet
GWT : under the hoodGWT : under the hood
GWT : under the hood
svuillet4.5K views

Viewers also liked

Amnesty International pdf. by
Amnesty International  pdf.Amnesty International  pdf.
Amnesty International pdf.alexandrallen
666 views39 slides
Nxt by
NxtNxt
Nxtcamimetal
459 views13 slides
Systèmes multi-agents & flux du trafic aérien by
Systèmes multi-agents & flux du trafic aérienSystèmes multi-agents & flux du trafic aérien
Systèmes multi-agents & flux du trafic aérienMohamed Imli
1.7K views39 slides
E codesing lina (1) by
E codesing lina (1)E codesing lina (1)
E codesing lina (1)Srta Lina Grisales M
425 views27 slides
Cafenumérique avisclients by
Cafenumérique avisclientsCafenumérique avisclients
Cafenumérique avisclientsPays de Bergerac
813 views27 slides
Instituto nacional de patimonio del ecuador by
Instituto nacional de patimonio del ecuadorInstituto nacional de patimonio del ecuador
Instituto nacional de patimonio del ecuadorFABIANVALAREZO
506 views7 slides

Viewers also liked(20)

Amnesty International pdf. by alexandrallen
Amnesty International  pdf.Amnesty International  pdf.
Amnesty International pdf.
alexandrallen666 views
Systèmes multi-agents & flux du trafic aérien by Mohamed Imli
Systèmes multi-agents & flux du trafic aérienSystèmes multi-agents & flux du trafic aérien
Systèmes multi-agents & flux du trafic aérien
Mohamed Imli1.7K views
Instituto nacional de patimonio del ecuador by FABIANVALAREZO
Instituto nacional de patimonio del ecuadorInstituto nacional de patimonio del ecuador
Instituto nacional de patimonio del ecuador
FABIANVALAREZO506 views
1 invitacion a_una_barbacoa-e by zzzzpaff
1 invitacion a_una_barbacoa-e1 invitacion a_una_barbacoa-e
1 invitacion a_una_barbacoa-e
zzzzpaff390 views
Eac by 1125Lu
EacEac
Eac
1125Lu613 views
Forum Secteur Public 2014 de Gfi Informatique by Inetum
Forum Secteur Public 2014 de Gfi InformatiqueForum Secteur Public 2014 de Gfi Informatique
Forum Secteur Public 2014 de Gfi Informatique
Inetum723 views
Su madre by mauro644
Su madreSu madre
Su madre
mauro644434 views
Newsletter #4 - Le Hibou Agence .V. du 27 avril 2012 by Le Hibou
Newsletter #4 - Le Hibou Agence .V. du 27 avril 2012Newsletter #4 - Le Hibou Agence .V. du 27 avril 2012
Newsletter #4 - Le Hibou Agence .V. du 27 avril 2012
Le Hibou518 views

Similar to jQuery Mobile & Applications Web

La mobilité dans Drupal by
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans DrupalAdyax
4.2K views67 slides
HTML5, le web de demain - BNSA by
HTML5, le web de demain - BNSAHTML5, le web de demain - BNSA
HTML5, le web de demain - BNSABNSA - Aquitaine
2.7K views53 slides
Drupal & Mobilité by
Drupal & MobilitéDrupal & Mobilité
Drupal & MobilitéJean-Baptiste Guerraz
2.7K views53 slides
HTML5 en projet by
HTML5 en projetHTML5 en projet
HTML5 en projetNormandy JUG
1.8K views29 slides
Ionic, AngularJS,Cordova,NodeJS,Sass by
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sassmarwa baich
3.6K views129 slides
Présentation GWT et HTML 5 pour l'Offline by
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflineDNG Consulting
2.2K views20 slides

Similar to jQuery Mobile & Applications Web(20)

La mobilité dans Drupal by Adyax
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
Adyax4.2K views
Ionic, AngularJS,Cordova,NodeJS,Sass by marwa baich
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sass
marwa baich3.6K views
Présentation GWT et HTML 5 pour l'Offline by DNG Consulting
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'Offline
DNG Consulting2.2K views
Cours yeoman backbone box2d by hugomallet
Cours yeoman backbone box2dCours yeoman backbone box2d
Cours yeoman backbone box2d
hugomallet1.1K views
Front end, une île qui mérite d'être visitée by Ouadie LAHDIOUI
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitée
Ouadie LAHDIOUI1.5K views
Nouveautés html5 et css3 dans internet explorer 10 by davrous
Nouveautés html5 et css3 dans internet explorer 10Nouveautés html5 et css3 dans internet explorer 10
Nouveautés html5 et css3 dans internet explorer 10
davrous1.6K views
Gtug2 Mobile app with web technlogy by Sacha Leprêtre
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
Sacha Leprêtre496 views
Rich Desktop Applications by goldoraf
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
goldoraf1.6K views
jQuery mobile / PhoneGap : contenus dynamiques client-side by maru.maru
jQuery mobile / PhoneGap : contenus dynamiques client-sidejQuery mobile / PhoneGap : contenus dynamiques client-side
jQuery mobile / PhoneGap : contenus dynamiques client-side
maru.maru6.3K views
Introduction aux Technologies Web élaborée par Marouan OMEZZINE by Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Marouan OMEZZINE3K views
Google Web Toolkit 1.5 Presentation Web Creative Common by Stéphane Liétard
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative Common
Stéphane Liétard8.1K views
memoire sur la technologie de RIA by ifis
memoire sur la technologie de RIAmemoire sur la technologie de RIA
memoire sur la technologie de RIA
ifis857 views
HTML5... La révolution maintenant! by CARA_Lyon
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
CARA_Lyon985 views
HTML5... La révolution maintenant! by CARA_Lyon
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
CARA_Lyon1.1K views

jQuery Mobile & Applications Web

  • 1. JQUERY MOBILE & LES APPLICATIONS WEB Kiwi Par tÿ 2012 Par Nicolas HOFFMANN Twitter : @Nico3333fr http://www.nicolas-hof fmann.net/
  • 2. WEB MOBILE & APPLICATIONS ?  Applications natives  Applications web  Deux mondes différents
  • 3. APPLICATIONS WEB, AVANTAGES  Consultable depuis un navigateur…  … pas uniquement en mobilité  Pas fermé à un unique écosystème  Un développement pour tous !  Des technos ouvertes (HTML5, CSS3, JS)
  • 4. JQUERY MOBILE  Annoncé le 13 Août 2010  Version 1.0 le 16 Novembre 2011  Actuellement en version 1.10 (13 Avril 2012)  http://jquerymobile.com/blog/
  • 5. JQUERY MOBILE  Un Framework basé sur jQuery  Basé sur HTML5 et CSS  Créer des sites/web apps adaptés aux smartphones, aux tablettes, etc.
  • 6. POURQUOI JQUERY MOBILE ?  Unrendu optimal sur de multiples plateformes (cross-platform)
  • 7. POURQUOI JQUERY MOBILE ?  Simple,facile à apprendre  Pas besoin de beaucoup de connaissances de base pour démarrer avec  Documentation mise à jour  De bons résultats pour des efforts assez modiques
  • 8. POURQUOI JQUERY MOBILE ?  S’adapteaux périphériques : responsive sans effort
  • 9. POURQUOI JQUERY MOBILE ?  Assez facilement customisable  Utilise ARIA Totalement dans l’esprit de jQuery « Write less, do more »
  • 10. EN PRATIQUE http://kiwiparty.nicolas-hoffmann.net/ Le site de la Kiwi Partÿ En version jQuery Mobile !
  • 11. EN PRATIQUE, POUR DÉMARRER (1/3) Quelques fichiers à inclure dans le <head> <link rel="stylesheet" href="jquery.mobile.min.css" /> <script src="jquery.js"></script> … <script src="jquery.mobile.min.js"></script> Attention : jQuery 1.6.4 -> 1.7.1 !
  • 12. EN PRATIQUE, POUR DÉMARRER (2/3) Quelques fichiers à inclure dans le <head> <link rel="stylesheet" href="jquery.mobile.min.css" /> <script src="jquery.js"></script> <script src="js_custom_kiwi.js"></script> <script src="jquery.mobile.min.js"></script> Pour customiser les réglages par défaut, doit être entre jQuery et jQuery Mobile
  • 13. EN PRATIQUE, POUR DÉMARRER (3/3)  Un loader Ajax charge les pages durant la navigation  Il effectue les transitions demandées  Peu importe si la page contient des redirections ou s’appelle elle-même (formulaire)  Le tout est transparent pour l’internaute…  … et aussi pour le développeur !
  • 14. EN PRATIQUE, LE CODE (1/2) Principe : attributs data-* que jQuery Mobile va transformer en code :  data-role="page"    data-transition="slide"  data-icon="arrow-r"  data-mini="true"   data-theme="b"  Etc.
  • 15. EN PRATIQUE, LE CODE (2/2) Le code de base d’une page <div data-role="page"> <div data-role="header" data-theme="f"> <h1>Kiwi Partÿ, by Alsacréations</h1> </div> <div data-role="content"> </div> </div>
  • 16. EN PRATIQUE, LES LISTES (1/2) La liste de l’accueil <ul data-role="listview" data-inset="true"> <li> <a href="programme.php" data-transition="slide"> Le programme </a> </li> … </ul>
  • 17. EN PRATIQUE, LES LISTES (2/2) L’exemple utilise deux genres de listes, il y en a bien d’autres :  Avec des séparateurs  Numérotées  Avec des bulles d’info, des images, etc.  Avec des possibilités de recherche  Etc.
  • 18. EN PRATIQUE, LES BOUTONS (1/2) Exemple Bouton Accueil <a href="index.php" data-role="button" data-mini="true" data-inline="true" data-icon="arrow-l" data- iconpos="left" data-transition="slide" data- direction="reverse">Accueil</a>
  • 19. EN PRATIQUE, LES BOUTONS (2/2) Exemple Boutons Orateurs <div data-role="controlgroup" data-type="horizontal" data-mini="true"> <a href="orateurs.php" data-role="button" data- mini="true" …>Orateurs</a> <a href="programme.php" data-role="button" data- mini="true" ..>Programme</a> </div>
  • 20. EN PRATIQUE, DISPOSITION (1/3) Accordéon du programme <div data-role="collapsible-set"> <div data-role="collapsible" data-content-theme="d"> <h3>9H - Accueil</h3> … </div> … </div>
  • 21. EN PRATIQUE, DISPOSITION (2/3) Grid Layout du programme <div class="ui-grid-a"> <div class="ui-block-a">blabla</div> <div class="ui-block-b">blabla bis</div> </div>  Peut aller jusqu’à 5 colonnes
  • 22. EN PRATIQUE, DISPOSITION (3/3) ATTENTION avec le Grid Layout !  Problème si beaucoup de contenus/colonnes sur un petit écran ! MAIS  Assez facile à adapter via media-queries !  D’autres initiatives comme 960 Grid on jQuery Mobile : http://jeromeetienne.github.com/jquery-mobile-960/index.
  • 23. EN PRATIQUE, FORMULAIRES (1/4) Les éléments habituels sont là :  Radios, checkboxes, select (amélioré), text, textarea, etc. D’autres sont possibles :  Switch (select à deux choix)  Slider (type range)
  • 24. EN PRATIQUE, FORMULAIRES (2/4) Exemple, appel du formulaire : <form action="contact.php" method="post" id="form" data-transition="flow" data-rel="dialog"> La page de réception après traitement sera donc : <body> <div data-role="dialog"> <div data-role="header" data-theme="e">… <div data-role="content">…
  • 25. EN PRATIQUE, FORMULAIRES (3/4) Exemple, un champ texte avec label : <div data-role="fieldcontain"> <label for="id_name">Votre nom&nbsp;:</label> <input type="text" name="name" id="id_name" value="" required="required" data-mini="true" /> </div>
  • 26. EN PRATIQUE, FORMULAIRES (4/4) Considérations personnelles :  Style responsive, à voir sur petits écrans (450px) avec beaucoup de contenu  Aisément adaptable  Attributs HTML5 required ?  Autres types (email, tel, etc.) tolérés sans souci
  • 27. EN PRATIQUE, POUR TWEAKER (1/2) Le texte du loader Ajax est facilement paramétrable : $(document).bind("mobileinit", function(){ $.mobile.loadingMessageTextVisible = true; $.mobile.loadingMessage = "Loading kiwÿ modules..."; } );
  • 28. EN PRATIQUE, POUR TWEAKER (2/2) Tous les éléments par défaut sont paramétrables :  Transition par défaut (vers une page, vers dialog)  Le loader et son message  Les messages d’erreur  Etc.
  • 29. RETOUR D’EXPÉRIENCE (1/2)  Très peu de styles CSS à ajouter  Apprentissage assez facile  Des résultats très rapides  Performances correctes, exemple home (1st View : ~ 135 Ko ~ 2,5s ~ - de 20 requêtes) (Repeat View: 1 Ko ~ 0.5s)  Tweakage assez simple pour « responsiver »
  • 30. RETOUR D’EXPÉRIENCE (2/2)  Simple de produire du code valide  Structure Hx facile à conserver  Ajout de thèmes faciles via Theme Roller : http://jquerymobile.com/themeroller/  Possible de créer ses transitions via CSS-animation  Touch-events (tap, etc.), API  Des possibilités d’utiliser jQuery Mobile pour faire une appli native via Phone Gap
  • 31. CONCLUSION jQuery Mobile, c’est BIEN !
  • 32. BONUS DE L’EXEMPLE  Cache Manifest  Quelques attributs HTML5 pour la forme  Un peu de responsive design (programme)  Géolocalisation/Itinéraire via Google Maps
  • 34. THAT’S FINI !  Merci pour « l’ immenserie de votre attenture »  Merci à Alsacréations pour m’avoir permis de présenter tout cela  Merci à tous les gens à qui j’ai oublié de dire merci Des questions ?