Nicolas CLERC QuidMind S.A. Microsoft Regional Director Windows Phone 7 … Allez plus loin …
Nicolas CLERC Microsoft Regional Director 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 QuidMindNicolas CLERC Microsoft Metro 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 Windows Phone 7 WPF Sensor & MultiTouch Innovation R & D Silverlight RIA Services WCF AppFabric Architecture Coaching Accompagnement stratégique VSTO SOA & architecture distribuée Veille technologique Confidentialité Sécurité
Microsoft Push Notification service Intégration avec Windows Azure Interaction utilisateur et Multitouch Performance Agenda
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 Windows Phone 7
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
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 Microsoft Push Notification
DEMO
Azure est la plateforme de Cloud computing de Microsoft Basé sur Windows 2008 R2 64bits, Hyper V Framework.Net, WCF SQL Azure Interaction avec Windows Azure Packaged Software Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime Votre responsabilité Infrastructure (as a Service) Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime Géré par le fournisseur Votre responsabilité Platform (as a Service) Géré par le fournisseur Votre responsabilité Storage Servers Networking O/S Middleware Virtualization Applications Runtime Data Software (as a Service) Géré par le fournisseur Storage Servers Networking O/S Middleware Virtualization Applications Runtime Data
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) Interaction avec Windows Azure
Toolkit open source Nouveau Template de projets Librairie OData pour Windows Phone 7 Librairie StorageClient pour Azure Storage Windows Azure toolkit for WP7
DEMO
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); Touch et MultiTouch
DEMO
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 Modèle de Threading Silverlight
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 Ressources réseau
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 Temps de chargement
DEMO
Certains contrôles ne sont pas optimaux ProgressBar Utiliser un contrôle plus performant Utiliser le Windows Phone Toolkit PerformanceProgressBar Visibility=Collapsed plutôt que Opacity=0.0 Activer le cache Bitmap sur les éléments visuels statiques Optimisations diverses
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.