Le Post Infeeny

Les articles des consultants et experts Infeeny

Quelques informations en direct de “Build Windows”

Message de Roch Baduel, Pierre-Yves Hemery, et Guillaume Leborgne (Le 14-09-2011)

Hier nous avons assisté à 4 sessions sur Windows 8. La keynote et 3 autres sessions « Big Picture » orientée chacune sur un sujet : Metro dans Windows 8, Développement d’applications Metro et l’outillage (Visual Studio et Blend).
Durant la keynote nous avons pu voir les principes de fonctionnement et les objectifs de conception de Windows 8 :

Objectifs visés par Windows 8 :

  • Fonctionnement sur « tout » type de device depuis la petite tablette sous ARM jusqu’à la station de travail
  • Tout ordinateur capable de faire fonctionner Windows 7 actuellement pourra faire tourner W8
  • Performance : un focus tout particulier a été mis sur ce point. Notamment le temps de boot et l’empreinte mémoire et l’usage du cpu (pour le temps de boot c’est vraiment bluffant : boot de nos tablettes en moins de 3 secondes !).  Comparaison utilisation mémoire W7 / W8 après boot :
  • 402 Mb – 43 processus VS 281 Mb – 29 processus
  • Les programmes W8 peuvent être développer pour cibler plusieurs types de devices (l’affichage par exemple s’adapte pour afficher plus ou moiins de détails) cependant l’accès au matériel spécifique du device reste possible.

Fonctionnalités de W8 :

  • Un nouveau mode de login grace à des points et des gestures sur une image été introduit
  • La vérification orthographique à été intégrée au système et ai présente partout
  • Le menu start permet de grouper les tiles, de les réaranger et gère le zoom. On peut créer ses propres groupes
  • Un principe de menu contextuel sur le coté droit et le bas de l’écran a été introduit. Il suffit de faire glisser le doigt au bord de la droite vers la gauche pour faire apparaitre le menu.
  • Les paramètres windows et applicatif (préférences, dernier fichiers lus sont synchronisé de manière transparente entre tous les devices). Exemple : On commence un jeu et arrive au niveau 10 : sur un autre device c’est également synchronisé. Cette synchro s’appui sur un espace de stockage automatiquement alloué pour l’appli dans azure
  • Une notion de contrat a été introduit dans windows permettant aux applications de collaborer. Exemple de contrat : Share, Search, Send … Une application peut paar exemple exposer son contenu pour que les autres puissent effectuer une recherche dessus et récupérer des élements. Tout cela sans que les applications ai connaissance l’u ne de l’autre.
  • Les applications sont de deux types :

Applications Métro
Autres : Win32, .NET  et SL

  • Les applications Metro s s’appuient sur un nouvel environnement et une nouvelle API (WinRT)
  • Les applications Metro peuvent être développées en HTML/Javascript ou XAML avec C++ ou C#/VB
  • L’API WinRT ainsi que la gestion des applications (mémoire, threading, cycle de vie a été intégré directement dans windows et dialogue avec le Kernel : ca ne passe plus par Win32)
  • L’api sensor a été unifié et étendue. W8 supporte notamment la NFC !
  • Visual Studio 11 :

Intègre des modèle d’appli Metro pour JS, C#, C++

  • Bend supporte maintenant HTML5 / JS
  • Le store Windows  permetra également de publier des applications Win32

La preview de W8 va etre disponible sur http:// Dev.windows.com

BIG PICTURE SESSIONS :

  • Les applications Metro n’ont pas de chrome et doivent être focalisées sur le contenu
  • Des templates sont livrés avec VS pour permettre l’intégration avec Metro (ex : GridApplication)
  • Il existe une librairie d’animations dans Windows pour intégrer facilement les animations 5 Windows Animation Library)
  • Les gestures ont été revue (Touch Language) : objectifs simplicité d’utilisation. Elimination des gestures nécessitant d’attendre (ex : équivalent du click droit sur W7)
  • Les applications metro doivent être conçues « Touch First ». Windows gère automatiquement le mode souris/clavier
  • Semantic Zoom : cette fonctionnalités permet de changer le niveau de détail
  • Scalling des applications (device de 10 à 27 à pouces) : Il est pris en charge nativement par les templates d’applications. Le développeur doit par contre fournir des images sous 3 formats : 100%, 140% et 180%
  • Plusieurs vues peuvent être fournies pour les applications (en fonction du mode d’affichage) cependant en dehors de la vue principale au moins une est obligatoire : la SnapView qui représente l’application quand elle est dockée sur un deux cotés (Affichage simultané de deux applications)
  • Les contrats : Les applications peuvent être source ou cible dans un contrat. Exemple une application peut partager des éléments (Source) et une autre les consommer (Cible). Les contrats se  déclarent dans le manifest de l’application.

WINRT :

  • Les appels sont fait directement (en mémoire) pour des questions de performance
  • WINRT inclus un nouveau system de type
  • WINRT est une partie intégrante de l’OS
  • Les controles UI sont similaires à ceux de SL et WPF mais différents : le namespace est différent : System.UI.Xaml
  • Dans les applications il n’y a pas plusieurs fenêtres affichées l’une sur l’autre (ex : dialogue modal) et de ce fait certaines apis ne sont plus disponibles. Ex : MessageBox
  • D’une manière générale certaines apis sont remplacées par WinRT
  • Les APIs WinRT sont découpées en plusieurs niveaux:

Les APIs fondamentales : gestion de la mémoire, des threads/ timer/ Application Services/ Memory Management/ Authentication / Cryptography / Globalization
Communicatiions et data : SMS / XML / Networking / BackGround Transfert / Notifications / Streams / Web / Local and Cloud Storage / Contracts
Device : Geolocation, Sensors, NFC,
Media : PlayBack, Capture, PlayTo, VisualEffects
User Interface : HTML 5/CSS, SVG, XAML, Tiles, DirectX Input, Controls, Accessibility, DataBinding, Printing

  • Les APIs sont asynchronies
  • WinRT contient également un environnement d’exécution d’application :

Gestion du cycle de vie
Gestion de la sécurité

  • Sécurité : les applications sont packagées (zip) elles contiennent un manifest qui décrit leurs fonctionnalités. Elles sont signéés. Les API Sensibles n’accèdent pas directement au Kernel mais passe par un broker qui vérifie le manifeste et demande éventuellement l’approbation à l’utilisateur (façon silverlight)
  • JS : les contrôles winrt sont référencé au travers de classes css sur des divc
  • Un set de  librairies (winjs) permet d’effectuer les appels à WinRT
  • Un code JS peut appeler un code natif C++
  • Le code natif c++ doit être une classe marquée ref et sealed. A la compilation un fichier de metadata est généré

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :