SlideShare a Scribd company logo
1 of 19
Download to read offline
Donnez votre avis !

                        Depuis votre smartphone, sur :
                         http://notes.mstechdays.fr

         De nombreux lots à gagner toutes les heures !!!
                    Claviers, souris et jeux Microsoft…

            Merci de nous aider à améliorer les TechDays




http://notes.mstechdays.fr
Deep Dive WinJS


                       Thomas LEBRUN / Jonathan ANTOINE
                           Développeurs, Consultants .NET
                                           Infinite Square


                                                         #AP304
                                              infinitesquare.com




Code / Développement
INFINITE SQUARE
                     STAND 44 ESPACE WINDOWS 8 & EXPÉRIENCES NUMÉRIQUES

                      Société de conseil, d’expertise, de réalisation et de formation exclusivement sur les technologies
                       de développement d’applications et la plateforme applicative Microsoft.


                      30 collaborateurs spécialisés sur les techno MS, dont 10 MVP.




                      GOLD Certified Partner
                       sur 4 domaines de compétences.
                      Agréé CIR.
                      Centre de formation agréé.




Infinite Square aux TechDays 2013
Ce que l’on va apprendre
       • Ce que permet WinJS
       • Comment utiliser WinJS pour être productif
            –     Promises
            –     Le framework de navigation
            –     Les Bindings
            –     Le système de contrôles
            –     Globalisation des applications
            –     La ListView et son système de templating




Deep Dive WinJS
WinJS.Promise
       • Abstraction d’une tâche asynchrone
            – done/then lorsque le traitement est terminé
            – 3 possibilités : complete/error/progress


       • Ne rend pas asynchrone

       • Pleins d’helpers dont disponibles
            – Join, thenEach, wrap, chaining,etc.



Deep Dive WinJS
demo
Deep Dive WinJS
Le framework de navigation
       • Template de base
            – WinJS.Navigation : abstraction
            – Application.PageControlNavigator : pratique
       • Uri locales : une uri = une page

       • Facile à personnaliser
            – Centralisation du sharing
            – Centralisation de l’internationalisation.



Deep Dive WinJS
demo
Deep Dive WinJS
Les Bindings sont très puissants 1/2

                  • Tire la valeur d’un objet JS sur un élément HTML
                    – Déclaratif dans l’HTML : data-win-bind
                    – Appel à WinJS.Binding.processAll dans le JS
                    – Parfait pour la mise en place d’MVVM


                  • Possible de binder des fonctions




Deep Dive WinJS
Les Bindings sont très puissants 2/2


                  • Syntaxe data-win-bind
                           cible : source action
                  •   Valeurs possibles :
                       –   WinJS.Binding.defaultBind
                       –   WinJS.Binding.oneTime
                       –   WinJS.Binding.setAttribute
                       –   WinJS.Binding.setAttributeOneTime
                       – Fonction custom




Deep Dive WinJS
demo
Deep Dive WinJS
Le système de contrôles
       • Interface réutilisable cross-projets

       • Un contrôle = une classe JS
            – Le constructeur prend l’élément et les options en paramètres
            – L’ élément peut être vide


       • Un fichier JS et un fichier CSS



Deep Dive WinJS
demo
Deep Dive WinJS
Internationalisation
       • HTML :
            – Attributs « data-win-res »
            – Utiliser WinJS.Resources.processAll
            – Appeler le fichier « resources.resjon »


       • Dans le code JS :
            – ResourceLoader de WinRT




Deep Dive WinJS
demo
Deep Dive WinJS
Listview et itemTemplate
       • De façon déclarative dans l’HTML
       • Une fonction de templating direct
       • Une fonction de templating « déporté »

       • Utiliser le système de virtualisation de l’UI




Deep Dive WinJS
Listview et virtualisation des données
       • Une DataSource custom c’est
            – Une classe dérivant de WinJS.UI.VirtualizedDataSource
            – Une classe implémentant WinJS.UI.IListDataAdapter


       • Pourquoi ?
            – Ne pas avoir à charger toutes les données d’un bloc
            – Exposer des données custom directement à la Listview




Deep Dive WinJS
demo
Deep Dive WinJS
Noter cette session !




Deep Dive WinJS

More Related Content

What's hot

Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !davrous
 
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?Microsoft
 
A la découverte de Windows Azure part 1 (100)
A la découverte de Windows Azure part 1 (100)A la découverte de Windows Azure part 1 (100)
A la découverte de Windows Azure part 1 (100)Microsoft Décideurs IT
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoosejeromegn
 
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
 
Cloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiquesCloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiquesMicrosoft
 
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013 Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013 Microsoft Technet France
 
Gérez Windows Azure dans une Windows Store App grâce aux API REST !
Gérez Windows Azure dans une Windows Store App grâce aux API REST !Gérez Windows Azure dans une Windows Store App grâce aux API REST !
Gérez Windows Azure dans une Windows Store App grâce aux API REST !Microsoft Technet France
 
Retour d’expérience - Architecture MicroService chez BotsUnit
Retour d’expérience - Architecture MicroService chez BotsUnitRetour d’expérience - Architecture MicroService chez BotsUnit
Retour d’expérience - Architecture MicroService chez BotsUnitGregoire Lejeune
 
Utilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDBUtilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDB13p
 
XWiki SAS
XWiki SASXWiki SAS
XWiki SASXWiki
 
Introduction DevOps & containarization des applications
Introduction DevOps & containarization des applicationsIntroduction DevOps & containarization des applications
Introduction DevOps & containarization des applicationsJulien Chable
 
Introduction au développement windows 8 modern ui avec html5 et javascript
Introduction au développement windows 8 modern ui avec html5 et javascriptIntroduction au développement windows 8 modern ui avec html5 et javascript
Introduction au développement windows 8 modern ui avec html5 et javascriptdavrous
 
Automatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMSAutomatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMSMongoDB
 
Wilfried woivre web api & windows azure web sites
Wilfried woivre   web api & windows azure web sitesWilfried woivre   web api & windows azure web sites
Wilfried woivre web api & windows azure web sitesAymeric Weinbach
 
Wilfried woivré windows azure mobile services
Wilfried woivré   windows azure mobile servicesWilfried woivré   windows azure mobile services
Wilfried woivré windows azure mobile servicesAymeric Weinbach
 

What's hot (18)

Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !
 
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?
 
A la découverte de Windows Azure part 1 (100)
A la découverte de Windows Azure part 1 (100)A la découverte de Windows Azure part 1 (100)
A la découverte de Windows Azure part 1 (100)
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoose
 
Gab2015 samir arezki_azuredata
Gab2015 samir arezki_azuredataGab2015 samir arezki_azuredata
Gab2015 samir arezki_azuredata
 
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
 
Cloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiquesCloud Azure – Services de données et bonnes pratiques
Cloud Azure – Services de données et bonnes pratiques
 
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013 Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013
Petit manuel du fermier dans Azure : monter une infrastructure SharePoint 2013
 
Gérez Windows Azure dans une Windows Store App grâce aux API REST !
Gérez Windows Azure dans une Windows Store App grâce aux API REST !Gérez Windows Azure dans une Windows Store App grâce aux API REST !
Gérez Windows Azure dans une Windows Store App grâce aux API REST !
 
Retour d’expérience - Architecture MicroService chez BotsUnit
Retour d’expérience - Architecture MicroService chez BotsUnitRetour d’expérience - Architecture MicroService chez BotsUnit
Retour d’expérience - Architecture MicroService chez BotsUnit
 
Utilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDBUtilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDB
 
XWiki SAS
XWiki SASXWiki SAS
XWiki SAS
 
Introduction DevOps & containarization des applications
Introduction DevOps & containarization des applicationsIntroduction DevOps & containarization des applications
Introduction DevOps & containarization des applications
 
Introduction au développement windows 8 modern ui avec html5 et javascript
Introduction au développement windows 8 modern ui avec html5 et javascriptIntroduction au développement windows 8 modern ui avec html5 et javascript
Introduction au développement windows 8 modern ui avec html5 et javascript
 
Automatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMSAutomatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMS
 
Wilfried woivre web api & windows azure web sites
Wilfried woivre   web api & windows azure web sitesWilfried woivre   web api & windows azure web sites
Wilfried woivre web api & windows azure web sites
 
Présentation Nano Server MS Afterwork Nouméa
Présentation Nano Server MS Afterwork NouméaPrésentation Nano Server MS Afterwork Nouméa
Présentation Nano Server MS Afterwork Nouméa
 
Wilfried woivré windows azure mobile services
Wilfried woivré   windows azure mobile servicesWilfried woivré   windows azure mobile services
Wilfried woivré windows azure mobile services
 

Viewers also liked

Développez des applications métiers avec Microsoft Sharepoint et Dynamics NAV...
Développez des applications métiers avec Microsoft Sharepoint et Dynamics NAV...Développez des applications métiers avec Microsoft Sharepoint et Dynamics NAV...
Développez des applications métiers avec Microsoft Sharepoint et Dynamics NAV...Microsoft
 
Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?Microsoft
 
SharePoint 2013 en situation mobile, depuis un téléphone ou une tablette
SharePoint 2013 en situation mobile, depuis un téléphone ou une tabletteSharePoint 2013 en situation mobile, depuis un téléphone ou une tablette
SharePoint 2013 en situation mobile, depuis un téléphone ou une tabletteMicrosoft
 
Les nouveautés de Microsoft BizTalk Server 2013
Les nouveautés de Microsoft BizTalk Server 2013Les nouveautés de Microsoft BizTalk Server 2013
Les nouveautés de Microsoft BizTalk Server 2013Microsoft
 
Smart Cities et TIC
Smart Cities et TICSmart Cities et TIC
Smart Cities et TICMicrosoft
 
Use In IoT : l’objet connecté de la board au dashboard
Use In IoT : l’objet connecté de la board au dashboardUse In IoT : l’objet connecté de la board au dashboard
Use In IoT : l’objet connecté de la board au dashboardMicrosoft
 

Viewers also liked (6)

Développez des applications métiers avec Microsoft Sharepoint et Dynamics NAV...
Développez des applications métiers avec Microsoft Sharepoint et Dynamics NAV...Développez des applications métiers avec Microsoft Sharepoint et Dynamics NAV...
Développez des applications métiers avec Microsoft Sharepoint et Dynamics NAV...
 
Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?
 
SharePoint 2013 en situation mobile, depuis un téléphone ou une tablette
SharePoint 2013 en situation mobile, depuis un téléphone ou une tabletteSharePoint 2013 en situation mobile, depuis un téléphone ou une tablette
SharePoint 2013 en situation mobile, depuis un téléphone ou une tablette
 
Les nouveautés de Microsoft BizTalk Server 2013
Les nouveautés de Microsoft BizTalk Server 2013Les nouveautés de Microsoft BizTalk Server 2013
Les nouveautés de Microsoft BizTalk Server 2013
 
Smart Cities et TIC
Smart Cities et TICSmart Cities et TIC
Smart Cities et TIC
 
Use In IoT : l’objet connecté de la board au dashboard
Use In IoT : l’objet connecté de la board au dashboardUse In IoT : l’objet connecté de la board au dashboard
Use In IoT : l’objet connecté de la board au dashboard
 

Similar to Deep Dive WinJS – Profitez à 100% de son potentiel

10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
 
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
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSMicrosoft
 
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScriptIntroduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScriptMicrosoft
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Microsoft
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...Microsoft Technet France
 
Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?codedarmor
 
Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices Microsoft
 
TechDays - Développer une single page application HTML5 - Version courte
TechDays - Développer une single page application HTML5 - Version courteTechDays - Développer une single page application HTML5 - Version courte
TechDays - Développer une single page application HTML5 - Version courteTouchify
 
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud Microsoft
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseAntonio Fontes
 
TechDays - Développer une single page application HTML5 - Version longue
TechDays - Développer une single page application HTML5 - Version longueTechDays - Développer une single page application HTML5 - Version longue
TechDays - Développer une single page application HTML5 - Version longueTouchify
 
Transitions et Animations – Donnez une nouvelle dimension à vos applications ...
Transitions et Animations – Donnez une nouvelle dimension à vos applications ...Transitions et Animations – Donnez une nouvelle dimension à vos applications ...
Transitions et Animations – Donnez une nouvelle dimension à vos applications ...Microsoft
 
[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec Xamarin[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec XamarinCellenza
 
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
 
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...Nicolas Boonaert
 
2011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v022011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v02Sébastien GIORIA
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...SOAT
 

Similar to Deep Dive WinJS – Profitez à 100% de son potentiel (20)

10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
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
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJS
 
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScriptIntroduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
 
Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?
 
Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices Développer une Single Page Application HTML 5 pour tous les devices
Développer une Single Page Application HTML 5 pour tous les devices
 
Formation mobile-cross-platform
Formation mobile-cross-platformFormation mobile-cross-platform
Formation mobile-cross-platform
 
TechDays - Développer une single page application HTML5 - Version courte
TechDays - Développer une single page application HTML5 - Version courteTechDays - Développer une single page application HTML5 - Version courte
TechDays - Développer une single page application HTML5 - Version courte
 
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
 
Nouveaux apis
Nouveaux apisNouveaux apis
Nouveaux apis
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
 
TechDays - Développer une single page application HTML5 - Version longue
TechDays - Développer une single page application HTML5 - Version longueTechDays - Développer une single page application HTML5 - Version longue
TechDays - Développer une single page application HTML5 - Version longue
 
Transitions et Animations – Donnez une nouvelle dimension à vos applications ...
Transitions et Animations – Donnez une nouvelle dimension à vos applications ...Transitions et Animations – Donnez une nouvelle dimension à vos applications ...
Transitions et Animations – Donnez une nouvelle dimension à vos applications ...
 
[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec Xamarin[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec Xamarin
 
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
 
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...
 
2011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v022011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v02
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
 

More from Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 

More from Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 

Deep Dive WinJS – Profitez à 100% de son potentiel

  • 1. Donnez votre avis ! Depuis votre smartphone, sur : http://notes.mstechdays.fr De nombreux lots à gagner toutes les heures !!! Claviers, souris et jeux Microsoft… Merci de nous aider à améliorer les TechDays http://notes.mstechdays.fr
  • 2. Deep Dive WinJS Thomas LEBRUN / Jonathan ANTOINE Développeurs, Consultants .NET Infinite Square #AP304 infinitesquare.com Code / Développement
  • 3. INFINITE SQUARE STAND 44 ESPACE WINDOWS 8 & EXPÉRIENCES NUMÉRIQUES  Société de conseil, d’expertise, de réalisation et de formation exclusivement sur les technologies de développement d’applications et la plateforme applicative Microsoft.  30 collaborateurs spécialisés sur les techno MS, dont 10 MVP.  GOLD Certified Partner sur 4 domaines de compétences.  Agréé CIR.  Centre de formation agréé. Infinite Square aux TechDays 2013
  • 4. Ce que l’on va apprendre • Ce que permet WinJS • Comment utiliser WinJS pour être productif – Promises – Le framework de navigation – Les Bindings – Le système de contrôles – Globalisation des applications – La ListView et son système de templating Deep Dive WinJS
  • 5. WinJS.Promise • Abstraction d’une tâche asynchrone – done/then lorsque le traitement est terminé – 3 possibilités : complete/error/progress • Ne rend pas asynchrone • Pleins d’helpers dont disponibles – Join, thenEach, wrap, chaining,etc. Deep Dive WinJS
  • 7. Le framework de navigation • Template de base – WinJS.Navigation : abstraction – Application.PageControlNavigator : pratique • Uri locales : une uri = une page • Facile à personnaliser – Centralisation du sharing – Centralisation de l’internationalisation. Deep Dive WinJS
  • 9. Les Bindings sont très puissants 1/2 • Tire la valeur d’un objet JS sur un élément HTML – Déclaratif dans l’HTML : data-win-bind – Appel à WinJS.Binding.processAll dans le JS – Parfait pour la mise en place d’MVVM • Possible de binder des fonctions Deep Dive WinJS
  • 10. Les Bindings sont très puissants 2/2 • Syntaxe data-win-bind cible : source action • Valeurs possibles : – WinJS.Binding.defaultBind – WinJS.Binding.oneTime – WinJS.Binding.setAttribute – WinJS.Binding.setAttributeOneTime – Fonction custom Deep Dive WinJS
  • 12. Le système de contrôles • Interface réutilisable cross-projets • Un contrôle = une classe JS – Le constructeur prend l’élément et les options en paramètres – L’ élément peut être vide • Un fichier JS et un fichier CSS Deep Dive WinJS
  • 14. Internationalisation • HTML : – Attributs « data-win-res » – Utiliser WinJS.Resources.processAll – Appeler le fichier « resources.resjon » • Dans le code JS : – ResourceLoader de WinRT Deep Dive WinJS
  • 16. Listview et itemTemplate • De façon déclarative dans l’HTML • Une fonction de templating direct • Une fonction de templating « déporté » • Utiliser le système de virtualisation de l’UI Deep Dive WinJS
  • 17. Listview et virtualisation des données • Une DataSource custom c’est – Une classe dérivant de WinJS.UI.VirtualizedDataSource – Une classe implémentant WinJS.UI.IListDataAdapter • Pourquoi ? – Ne pas avoir à charger toutes les données d’un bloc – Exposer des données custom directement à la Listview Deep Dive WinJS
  • 19. Noter cette session ! Deep Dive WinJS