Pour cette journée de pré-conférence, j’ai assisté au "Windows 7 Developer Boot Camp". La première partie était consacrée à la présentation des évolutions au niveau du noyau (sécurité, performances améliorées, meilleure gestion du multi-processeur, optimisations mémoire, consommation réduite). La deuxième partie était consacrée à l’ergonomie et aux APIs graphiques ou spécifiques à Windows 7 (natives et managées) :

  • Barre des tâches (miniatures, boutons, jump lists),
  • Multitouch,
  • Bibliothèques (regroupements virtuels de dossier),
  • Sensor & location platform (API unififée de gestion des capteurs, dont les dispositifs de géolocalisation),
  • Evolutions des APIs graphiques.

Ce dernier point, présenté par Michael Oneppo, m'a évidemment particulièrement intéressé. Il a confirmé une orientation qui se dessinait depuis quelques temps : pour répondre aux besoins de qualité et de performance graphiques, Direct3D s’impose au cœur du système. La version 10.1 est notamment capable de fonctionner avec des cartes graphiques compatibles DirectX 9, ou en rendu software en l’absence de matériel compatible. Les nouvelles APIs natives Direct2D et DirectWrite reposent sur Direct3D 10 et vont se substituer progressivement à GDI, qui sera maintenu au sein du système à des fins de compatibilité... Des techniques d'interopérabilité entre Direct2D/DirectWrite et GDI vont permettre une migration en douceur du parc logiciel.

Et WPF ?

Apparu en 2006, l'API managée WPF s'appuie aussi sur Direct3D (version 9). Alors quelle API utiliser ? Les APIs natives basées sur Direct3D 10 restent pour le moment des APIs bas-niveau, qui permettent un contrôle fin des fonctionnalités et des performances, et qui sont prévues pour être utilisées avant tout dans des applications C++ / COM. WPF est l'API graphique moderne pour .NET qui privilégie la productivité pour le développeur et le designer (pour le moment, aucun outil de design n'est annoncé pour Direct2D).