38
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

L'histoire d'html5 pour les développeurs windows phone 8

Embed Size (px)

DESCRIPTION

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 oeil 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. Jouée pendant les MS Techdays 2013: http://www.microsoft.com/france/mstechdays/programmes/2013/fiche-session.aspx?ID=2d81322e-6ab2-4840-a4b1-568f1bd370f4

Citation preview

Page 1: L'histoire d'html5 pour les développeurs windows phone 8

L'histoire d'HTML5 pour les développeurs Windows

Phone 8

David Catuhe & David RoussetTechnical Evangelists

Microsoft France

Code / Développement

@deltakosh @davroushttp://aka.ms/david http://aka.ms/davrous

Page 2: L'histoire d'html5 pour les développeurs windows phone 8

• Introduction 5’

• Créer une application pure HTML5 grâce à IE10 25’

• Comment étendre HTML5 dans une app native 15’

• Aller plus loin avec PhoneGap et Sencha Touch 15’

Agenda

Agenda

Page 3: L'histoire d'html5 pour les développeurs windows phone 8

Introduction

Page 4: L'histoire d'html5 pour les développeurs windows phone 8

• 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

Page 5: L'histoire d'html5 pour les développeurs windows phone 8

IDC - http://www.idc.com/getdoc.jsp?containerId=prUS23480612

• 1 milliard de périphériques mobiles équipés de navigateurs modernes en 2013

• 2 millions de développeurs Web en 2013

• 79% de développeurs d’applications mobile s’intéressent à HTML5

• 80% des applications mobile utiliseront du HTML5 en 2015

Quelques chiffres intéressants

Page 6: L'histoire d'html5 pour les développeurs windows phone 8

Template de projet utilisant le contrôle

WebBrowser

L’intégration d’HTML5 dans Windows Phone 8

Page 7: L'histoire d'html5 pour les développeurs windows phone 8

• Accélération matérielle

• Excellente expérience tactile

• Rapide même pour les apps!

• Applications déconnectées possibles!

Internet Explorer 10

Page 8: L'histoire d'html5 pour les développeurs windows phone 8

Internet Explorer 10 : nouveaux layouts CSS et SVGCSS 2D TransformsCSS 3D TransformsCSS AnimationsCSS Backgrounds & BordersCSS ColorCSS FlexboxCSS FontsCSS Grid AlignmentCSS HyphenationCSS Image Values (Gradients)

CSS Media QueriesCSS Multi-column LayoutCSS NamespacesCSS OM ViewsCSS Positioned Floats (Exclusions)CSS SelectorsCSS TransitionsCSS Values and UnitsICC Color ProfilesSVG Filter EffectsSVG, standalone and in HTML

Page 9: L'histoire d'html5 pour les développeurs windows phone 8

Internet Explorer 10 : nouvelles APIs HTML5 Animation FramesData URIDOM Element TraversalDOM HTMLDOM Level 3 CoreDOM Level 3 EventsDOM StyleDOM Traversal and RangeDOMParser and XMLSerializerECMAScript 5File Reader APIFile SavingFormData

HTML5 Application CacheHTML5 asyncHTML5 CanvasHTML5 Drag and dropHTML5 Forms and ValidationHTML5 GeolocationHTML5 History APIHTML5 ParserHTML5 SandboxHTML5 SelectionHTML5 Semantic elementsHTML5 Video and audioICC Color Profiles

IndexedDBPage VisibilityPointer (Mouse, Pen, and Touch) EventsResource TimingSelectors API Level 2Timing callbacksWeb MessagingWeb SocketsWeb WorkersXHTML/XMLXMLHttpRequest (Level 2)

Page 10: L'histoire d'html5 pour les développeurs windows phone 8

Et oui, nous sommes vraiment rapide!

IE10 (WP8) H T ML5 A pp (WP8) iPho ne 5 Sa fa r i i Pho ne 5 H T ML5 A pp 0

500

1000

1500

2000

2500

3000

3500

4000

Sunspider 0.9.1 ScoreLower is better

Page 11: L'histoire d'html5 pour les développeurs windows phone 8

Créer une application pure HTML5 grâce à IE10

Page 12: L'histoire d'html5 pour les développeurs windows phone 8

• 2D & 3D Transforms

• Transitions

• Animations

• Shadows

• Gradients

• Custom Fonts

Effets CSS3

Page 13: L'histoire d'html5 pour les développeurs windows phone 8

• Multiple Columns

• Positioned floats

• Regions

• Grids

• Flexbox

CSS3 pour gérer le flux

Page 14: L'histoire d'html5 pour les développeurs windows phone 8

Démo: quelque exemples wahwah

Page 15: L'histoire d'html5 pour les développeurs windows phone 8

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

Page 16: L'histoire d'html5 pour les développeurs windows phone 8

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/

Page 17: L'histoire d'html5 pour les développeurs windows phone 8

Démo: utilisation des Pointer Events & HTML5 Forms

Page 18: L'histoire d'html5 pour les développeurs windows phone 8

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 !

Page 19: L'histoire d'html5 pour les développeurs windows phone 8

Démo: jQuery Mobile

Page 20: L'histoire d'html5 pour les développeurs windows phone 8

• 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

Page 21: L'histoire d'html5 pour les développeurs windows phone 8

<html manifest=“test.appcache">

<head>

...

<link href="yourstyles.css“ rel="stylesheet"> <script src="yourcode.js"></script> </head> <body>

...

<video … src=“yourvideo.mp4” …>

</video>

...

</body>

</html>

L’usage d’app cache via le fichier de manifest

Cache Manifest#12/02/2013 v10Cache:index.htmlyourstyles.cssyourcode.js...yourvideo.mp4

Network:*

Fichier HTML Fichier de manifest

MIME Type: text/cache-manifest

Page 22: L'histoire d'html5 pour les développeurs windows phone 8

Démo: application cache

Page 23: L'histoire d'html5 pour les développeurs windows phone 8

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

Page 24: L'histoire d'html5 pour les développeurs windows phone 8

Démo: utilisation d’IndexedDB pour stocker des images

Page 25: L'histoire d'html5 pour les développeurs windows phone 8

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

Page 26: L'histoire d'html5 pour les développeurs windows phone 8

Démo: utilisation des WebWorkers pour appliquer des filtres aux images

Page 27: L'histoire d'html5 pour les développeurs windows phone 8

Tout ce dont j’ai besoin serait déjà

présent dans HTML5…

Dans un monde parfait

Page 28: L'histoire d'html5 pour les développeurs windows phone 8

Comment étendre HTML5 dans une app native

Page 29: L'histoire d'html5 pour les développeurs windows phone 8

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

Page 30: L'histoire d'html5 pour les développeurs windows phone 8

• 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

Page 31: L'histoire d'html5 pour les développeurs windows phone 8

Démo: intégration HTML5 dans une app native

Page 32: L'histoire d'html5 pour les développeurs windows phone 8

PhoneGap/Cordova et Sencha Touch

Page 33: L'histoire d'html5 pour les développeurs windows phone 8

Démo: PhoneGap et Sencha Touch

Page 35: L'histoire d'html5 pour les développeurs windows phone 8

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)

Page 36: L'histoire d'html5 pour les développeurs windows phone 8

Accélérateur Windows

Ressources

Coaching

Visibilité

aka.ms/accelerateur-windows

Plus d’info ? RDV stand Windows 8

L’Accélérateur Windows

Page 37: L'histoire d'html5 pour les développeurs windows phone 8

Questions ?

Page 38: L'histoire d'html5 pour les développeurs windows phone 8

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.com

http://aka.ms/generation-app

http://aka.ms/evenements-developpeurs

http://aka.ms/itcamps-france

Les accélérateursWindows Azure, Windows Phone,

Windows 8

http://aka.ms/telechargements

La Dev’Team sur MSDNhttp://aka.ms/devteam

L’IT Team sur TechNethttp://aka.ms/itteam