Windows Phone 7 … Allez plus loin … Nicolas CLERC QuidMind S.A. Microsoft Regional Director.

Download Report

Transcript Windows Phone 7 … Allez plus loin … Nicolas CLERC QuidMind S.A. Microsoft Regional Director.

Windows Phone 7
… Allez plus loin …
Nicolas CLERC
QuidMind S.A.
Microsoft Regional Director
Nicolas CLERC
[email protected]
Architecte logiciel et expert technique reconnu par Microsoft, les Microsoft Regional Director
ont pour rôle de vous accompagner à la mise en œuvre des technologies et outils Microsoft,
dans le cadre de migrations applicatives, de démarrages de projets ou de prototypages, aussi
bien au niveau stratégique et décisionnaire qu’au sein de vos équipes de production.
Microsoft Regional Director depuis 10 ans, créateur et président de la société d’expertise et
d’architecture logicielle QuidMind, Nicolas CLERC est formateur officiel au sein du programme
Microsoft Metro (Windows Azure, Silverlight, Unified Communication, …).
Azure
Silverlight
Windows Phone 7
Sensor &
MultiTouch
Veille technologique
Innovation
R&D
RIA Services
WPF
Confidentialité
AppFabric
WCF
Accompagnement
stratégique
Architecture SOA & architecture
Sécurité
distribuée
Coaching
VSTO
Agenda
Microsoft Push Notification service
Intégration avec Windows Azure
Interaction utilisateur et Multitouch
Performance
Windows Phone 7
Les Windows Phone 7 ont été pensé autour de
l’expérience utilisateur
Ergonomie « Metro »
Réactivité de l’interface utilisateur
Autonomie
Conséquences
La liberté du développeur est encadrée
Uniquement du code managé (.Net) : Silverlight ou
XNA
Pas de multitâche applicatif
Une seule application active hors système
Accès encadré au système et au matériel
Microsoft Push Notification
Service de notification asynchrone
Acceptation de l’utilisateur
Un service complémentaire à une application
Windows Phone 7 émet des messages de
notifications
Le service MPN les propage jusqu’au Windows
Phone 7 cible
Le Windows Phone 7 présente le message à
l’utilisateur
Microsoft Push Notification
Microsoft Push Notification
3 types de notification
Toast
Popup système
Capturée par l’application
Tile
Mise à jour de la tuile de l’application sur l’écran d’accueil
Texte
Compteur
Image de fond
Raw : données XML
Capturée par l’application
DEMO
Interaction avec Windows Azure
Azure est la plateforme de Cloud computing de Microsoft
Basé sur Windows 2008 R2 64bits, Hyper V
Framework .Net, WCF
SQL Azure
Packaged
Software
Software
Applications
Applications
Data
Data
Runtime
Runtime
Middleware
Middleware
Middleware
O/S
O/S
O/S
Virtualization
Virtualization
Servers
Servers
Storage
Storage
Networking
Networking
Middleware
Data
Runtime
Votre
responsabilité
Runtime
Votre responsabilité
Data
Applications
Géré par le fournisseur
Virtualization
Servers
Storage
Networking
O/S
Virtualization
Servers
Storage
Networking
Géré par le fournisseur
(as a Service)
(as a Service)
Géré par le fournisseur
(as a Service)
Applications
Votre responsabilité
Platform
Infrastructure
Interaction avec Windows Azure
Hébergement des services associés aux application
Windows Phone 7
Azure Hosted Service : CityServicePush
Azure Storage / SQL Azure
Azure AppFabric
Capacité à montée en charge (scalability)
Windows Azure toolkit for WP7
Toolkit open source
http://watoolkitwp7.codeplex.com/
Nouveau Template de projets
Librairie OData pour Windows Phone 7
Librairie StorageClient pour Azure Storage
DEMO
Touch et MultiTouch
Evitez d’utiliser les évènements « Mouse »
Support de 4 points de contact
Api de haut niveau « Gesture » qui permet de capturer simplement les
gestes (déplacements, zoom, …)
Sur un seul contrôle
Evènement s au niveau du contrôle
Api bas niveau qui permet de récupérer les points de contact
Le développeur doit traduire les coordonnées de contact en
mouvement
Evènement global
Touch.FrameReported += new TouchFrameEventHandler(Touch_FrameReported);
DEMO
Modèle de Threading
Silverlight
2 threads ‘systèmes’ principaux :
UI Thread
Traitement des Entrée/sortie utilisateurs
Appel des gestionnaires d’évènements
Chargement et traitement du XAML
Rendu graphique initial
Composition thread
Traitement d’élément graphique & l’intégration GPU
Manipulation des textures
Accélération matérielle via le GPU
ScaleTransform (<50%), TranslateTransform, RotateTransform,
PlaneProjection
Si zone rectangulaire : Opacity, Clip
Ressources réseau
Préférez HttpWebRequest à WebClient
Pensez parallèle et asynchrone
Parallèle pour optimiser l’utilisation de la Radio
Asynchrone pour conserver la réactivité de votre
application
Temps de chargement
Découper l’application en plusieurs assemblies
Plus le point d’entrée de l’application est petit,
meilleure sera le temps de chargement
Limiter le code au sein des constructeurs et des event
Loaded
Exécution dans le thread UI  fige l’application avant
le rendu graphique
Préférez l’évènement LayoutUpdated + flag
Attention aux service couteux à initialiser : Location
service, Push Notification, Radio
DEMO
Optimisations diverses
Certains contrôles ne sont pas optimaux
ProgressBar
Utiliser un contrôle plus performant
http://www.jeff.wilcox.name/2010/08/performanceprogressbar/
Utiliser le Windows Phone Toolkit
PerformanceProgressBar
Visibility=Collapsed plutôt que Opacity=0.0
Activer le cache Bitmap sur les éléments visuels statiques
DEMO
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.