Dans cette session, nous parcourons ensemble l’histoire HTML5 pour les développeurs Windows Phone 8. Nous verrons d’abord comment utiliser des morceaux d’HTML5 dans certaines applications natives, ce qui peut s’avérer dans certains cas exceptionnels être assez pratique. Ensuite, grâce aux possibilités d’IE10, nous verrons qu’il est également possible de créer de vraies applications vivant uniquement dans le navigateur. Pour finir, nous jetterons un œil aux possibilités d’intégration dans l’OS grâce au template de projet HTML5 de Visual Studio 2012 ou grâce à des frameworks comme PhoneGap ou Sencha Touch 2.
L'histoire d'HTML5 pour les développeurs Windows Phone 8
1. L'histoire d'HTML5 pour les
développeurs Windows Phone
8
David Catuhe & David Rousset
Technical Evangelists
Microsoft France
Code / Développement
@deltakosh @davrous
http://aka.ms/david http://aka.ms/davrous
2. • Introduction
5’
• Créer une application pure HTML5
grâce à IE10
25’
• Comment étendre HTML5 dans une
app native
15’
Agenda
Agenda
4. • Réutilisez vos compétences HTML, CSS & JS
• Réduisez potentiellement les couts en réutilisant
certaines parties sur plusieurs plateformes
• Combinez le avec C# pour accéder entièrement à
la plateforme
Pourquoi faire du HTML5 avec Windows Phone 8
5. IDC - http://www.idc.com/getdoc.jsp?containerId=prUS23480612
de périphériques mobiles équipés de
navigateurs modernes en 2013
de développeurs Web en 2013
de développeurs d’applications mobile
s’intéressent à HTML5
des applications mobile utiliseront du
HTML5 en 2015
Quelques chiffres intéressants
6. Template de projet utilisant
le contrôle WebBrowser
L’intégration d’HTML5 dans Windows Phone 8
8. Internet Explorer 10 : nouveaux layouts CSS et
SVG
CSS 2D Transforms
CSS 3D Transforms
CSS Animations
CSS Backgrounds &
Borders
CSS Color
CSS Flexbox
CSS Fonts
CSS Grid Alignment
CSS Hyphenation
CSS Image Values
(Gradients)
CSS Media Queries
CSS Multi-column Layout
CSS Namespaces
CSS OM Views
CSS Positioned Floats (Exclusions)
CSS Selectors
CSS Transitions
CSS Values and Units
ICC Color Profiles
SVG Filter Effects
SVG, standalone and in HTML
9. Internet Explorer 10 : nouvelles APIs
HTML5
Animation Frames
Data URI
DOM Element Traversal
DOM HTML
DOM Level 3 Core
DOM Level 3 Events
DOM Style
DOM Traversal and Range
DOMParser and
XMLSerializer
ECMAScript 5
File Reader API
File Saving
FormData
HTML5 Application
Cache
HTML5 async
HTML5 Canvas
HTML5 Drag and drop
HTML5 Forms and
Validation
HTML5 Geolocation
HTML5 History API
HTML5 Parser
HTML5 Sandbox
HTML5 Selection
HTML5 Semantic elements
HTML5 Video and audio
ICC Color Profiles
IndexedDB
Page Visibility
Pointer (Mouse, Pen,
and Touch) Events
Resource Timing
Selectors API Level 2
Timing callbacks
Web Messaging
Web Sockets
Web Workers
XHTML/XML
XMLHttpRequest (Level
2)
15. Pointer Events (touch, stylet, souris)
• Ecrivez votre code une seule fois pour le tactile, le
stylet et la souris
• Les sites écrits uniquement pour la souris fonctionne
automatiquement
• Patterns connus d’évènements DOM de la souris, avec
des extensions pour le touch
16. Pour faire de belles applications web
tactiles
• Évènements MSPointer pour cibler le tactile, la souris
et le stylet de manière unifiée
• Évènements MSGesture pour facilement reconnaitre
certaines manipulation (zoom, rotation, hold, etc.)
• Propriétés CSS -ms-touch-action pour indiquer
comment chaque zone doit se comporter face au touch
• Microsoft a soumis la spécification au W3C:
– http://www.w3.org/Submission/pointer-events/
18. Windows Phone: respectez son langage de Design
• Une application prévue pour Windows Phone n’a pas
le même look qu’un site web ou qu’une app
iOS/Android
• Le niveau de support de CSS d’IE10 vous permet de
refaire vous-même l’expérience Windows Phone de
zéro…
• … ou alors utilisez jQuery Mobile et son thème
Windows Phone !
20. • Cache basé sur un manifeste pour des scenarios
déconnectés
• Choisissez les fichiers à cacher: HTML, CSS, JS
& vos ressources
• Permet de rendre disponible vos ressources au
delà du cache local HTTP
• Resynchronisez les fichiers via une MAJ du
manifeste
HTML5 application cache
23. IndexedDB
• Stockage, Indexation et recherche de données
• Stockage de paires « clé-valeur » à la NoSQL
• Indexation en utilisant un attribut objet
• Pas de dépendances vis-à-vis de
l’implémentation du navigateur
25. WebWorkers
• L’approche JavaScript vers le multi-
threading
• Libère le UI thread en envoyant des
requêtes aux workers
• Communication avec les workers via
postMessage()
• Pas d’accès DOM
29. InvokeScript pour appeler les fonctions JavaScript
depuis le host (C#)
webBrowser.InvokeScript(“myFunction", “myArg1”);
webBrowser.InvokeScript(“eval”, “document.body.offsetHeight.toString()”);
webBrowser.InvokeScript(“execScript”, myScript.ToString());
ScriptNotify pour appeler le host (C#) depuis
JavaScript
XAML: <WebBrowser ScriptNotify=“Browser_ScriptNotify” />
JavaScript: window.external.notify(parameter);
C#: private void Browser_ScriptNotify(object sender, NotifyEventArgs e)
// use e.value to retrieve parameter
Communication entre XAML et JavaScript
30. • Set the default background color
– webBrowser.Background=“#ffff00”;
• Easily navigate backward/forward
– if (webBrowser.CanNavigateBack) webBrowser.GoBack();
– if (webBrowser.CanNavigateForward) webBrowser.GoForward();
• Clear local cache and cookies
– await webBrowser.ClearCookiesAsync();
– await webBrowser.ClearInternetCacheAsync();
• Load files directly from XAP
– webBrowser.Navigate(new Uri("test.html", UriKind.Relative))
Gestion du contrôle WebBrowser
34. • Nos blogs:
– David Catuhe: http://blogs.msdn.com/eternalcoding
– David Rousset: http://blogs.msdn.com/davrous
• Interoperability @ Microsoft
• jQuery Mobile on Windows Phone 8
• PhoneGap: http://phonegap.com/download/
– Getting Started with Windows Phone 8
• Sencha Touch: Sencha Touch 2.2.0 Alpha now
available
– Diablo 3 Mobile Companion for Windows Phone 8
Ressources
35. Pour aller plus loin sur HTML5 aux Techdays…
Introduction au dev Win8 avec HTML5 et JavaScript (Mardi
13h)
Développer pour tous les navigateurs (Mardi 14h30)
Coding for Fun (Mardi 17h30)
Techniques d'accélération des pages Web (Mercredi 11h)
Concevoir des interfaces tactiles à destination de Windows
8 et du web (Mercredi 14h30)
HTML5 pour les développeurs WP8 (Mercredi 16h)
Tout sur les SPA (Mercredi 17h30)
38. Formez-vous en ligne
Retrouvez nos évènements
Faites-vous accompagner
gratuitement
Essayer gratuitement nos
solutions IT
Retrouver nos experts
Microsoft
Pros de l’ITDéveloppeurs
www.microsoftvirtualacademy.comhttp://aka.ms/generation-app
http://aka.ms/evenements-
developpeurs
http://aka.ms/itcamps-france
Les accélérateurs
Windows Azure, Windows Phone,
Windows 8
http://aka.ms/telechargements
La Dev’Team sur MSDN
http://aka.ms/devteam
L’IT Team sur TechNet
http://aka.ms/itteam
Hinweis der Redaktion
Intro code / dev
Démos www.pulse.me/app/ et http://atari.com/arcade et http://www.msn.com
1 – Depuis le Web2 – Install-Package jQMThemeForWindowsPhone8Lite
Démo platformer
1 – Explication projet PhoneGap / Template VS2 – Création projet par défaut et démo3 – AjoutjQMTheme : Install-Package jQMThemeForWindowsPhone8 4 – Démo SenchaTouch