# Thursday, November 06, 2008

[PDC08][TL16]The future of C#

Cette présentation fait partie des sessions de la PDC de cette année qu'il faut absolument visionner. Présenté par un des pères du C# (Anders Hejlsberg), l'ensemble des nouveautés qui seront proposés par la version 4 de C# qui sera proposé avec Visual Studio 2010 sont abordées.

Premier constat rassurant, les changements sont moins nombreux et moins importants que ceux introduits au passage de C# 2 à C# 3. L'essentiel de ces nouveautés concerne :

  • l'ajout d'un mot clé dynamic  qui permet de manipuler des types à la manière des langages à typage dynamique c'est à dire que nous avons la possibilité d'indiquer au compilateur de ne pas s'occuper de savoir si une méthode Foo est présente sur le type manipulé avec le fameux mot-clé, mais d'uniquement tenter de l'appeler lors de l'exécution. L'intérêt de cette nouveauté est de permettre une meilleure interopérabilité avec les langages dynamiques présents dans le monde .net tels que Iron Ruby mais également de manipuler de manière plus simple les objets COM. Bien entendu le but n'est pas transformer le langage C# en langage dynamique mais de lui offrir la possibilité de profiter de certains avantages de cette gestion des types. L'interface IDynamicObject est également ajouté afin de définir directement en C# des objets à manipuler de manière "dynamique". A noter que le Visual Basic dispose depuis la version 4 d'une partie de cette fonctionnalité grâce à l'implémentation du latebinding qui permettait d'appeler les méthodes que l'on souhaitait sur un simple type Object.
  • le support des paramètres optionnels et nommés également supportés par Visual Basic depuis bien longtemps. Je rassure de suite les puristes de la POO l'objectif n'est pas de remplacer les surcharges de méthodes mais de simplifier l'interop avec les composants COM et les API basés sur cette technologie comme... Microsoft Office. Fini le cauchemard des ref missing...
  • Le support de la co-variance et de la contra-variance au niveau des méthodes. La co-variance étant déjà disponible au niveau des délégués depuis C# 2.

TL16 The Future of C# (Note:5/5)

Slides PPTX - Vidéos WMV-HQ

# Wednesday, November 05, 2008

[PDC08][PC17] Développement avec Microsoft Surface

La table Surface fait partie des produits Microsoft qui attire le plus d'intêret actuellement que cela soit de la part des développeurs ou du grand public, grâce à son originalité et les innovations qui y sont lié. Cette table munie de 5 caméras infrarouges permet de développer des applications multi-touch, multi-utilisateurs en proposant une expérience utilisateur très différente des PCs traditionnels grâce à  une utilisation sans clavier ni souris.

Le périphérique est pour le moment disponible en une seule taille et à un seul prix de 15000$ mais il y a fort à parier que des versions alternatives plus accessibles soit mises sur le marché dans les mois/années à venir.

Surface est actuellement une surcouche de Windows Vista SP1. Le développement se fait via un SDK qui est entre autre composé :

  • d'une API dite Core qui permet de développer des applications pour Surface à partir d'applications Windows Forms, DirectX ou XNA.
  • d'une API dédiée à WPF qui semble être l'API à privilégier pour le développement d'applications Surface. En plus de tous les bénéfices apportées par WPF, cette API fournit des versions spécifiques des contrôles de base permettant de gérer de manière simple le multitouch en utilisant les contacts en lieu et place de la traditionnelle souris, un contrôle ScatterView qui permet de gérer le redimensionnement et la rotation des éléments présents à l'écran. Il est à noter qu'une partie cette API sera directement intégrée au sein de .net 4.0 et non plus uniquement disponible séparément via le SDK de surface.
  • d'une gestion des caméras et de l'interprétation de l'image détectée qui permet par exemple de gérer simple des tags graphiques utilisés pour la reconnaissance d'objets.

Que cela soit au niveau de l'expérience utilisateur proposée par Surface, ou au niveau du SDK proposé, tout semble avoir été pleinement refléchi et très abouti. L'ensemble donne une excellente impression, et l'arrivée prochaine de nouvelles versions de Surface et du multitouch dans Windows 7 ne doivent pas laisser indifférent. Il n'est en effet pas trop tôt afin de découvrir toutes ces nouvelles possibilités pour être prêt lorsque ces technologies se seront démocratisées.

PC17 Developing for Microsoft Surface (Note:3/5)

Slides PPTX Vidéo WMV-HQ

# Tuesday, November 04, 2008

[PDC08][PC47] Session Microsoft Blend Tips & Tricks

Malgré mes a priori sur les sessions Tips & Tricks, je viens de visionner la session concernant Microsoft Blend (aka Interactive Design). J'ai trouvé cette session bien plus intéressante que la C# Tips & Tricks.

Microsoft Blend est composé de 300 000 lignes de code C# ainsi que 80 000 lignes de code XAML. Microsoft utilise Blend afin de développer le produit (un peu à la manière du compilateur C++ qui est utilisé pour se construire lui-même) et les Microsoftees présentant la session ont eu la bonne idée d'utiliser ce produit "Real World" afin de présenter les possibilités de Microsoft Blend. On voit ainsi la solution contenant les différents projets utilisés afin de développer Blend lui-même et comment on peut utiliser l'outil au travers de projets volumineux.

En plus de cette gestion de gros projets, les speakers montrent, entre autres, comment débogger une erreur Design Time ayant lieu dans Blend grâce à Visual Studio, comment embarquer les polices dans Silverlight 2 de manière statique ou dynamique, etc.

A noter que la prochaine version de Blend est annoncé comme étant une version majeure qui intégrera toutes les fonctionnalités qui manquent cruellement à l'outil comme l'intellisense, l'intégration au source control de TFS, un meilleur support du databinding en mode design grâce à l'utilisation de données fictives, etc.

Si vous êtes développeurs WPF/Silverlight ou designer et souhaitez avoir des infos pertinentes sur Blend, n'hésitez pas à passer 1 heure à regarder cette session, cela ne sera pas du temps perdu !

PC47 Microsoft Expression Blend: Tips & Tricks (Note:3/5)
Slides PPTX | Video en WMV-HQ

# Monday, November 03, 2008

[Azure] Vers le Cloud Computing avec Windows Azure

Laurent vient de publier un nouvel article sur Tech Head Brothers afin de présenter une des annonces phares de la PDC qui s'est tenu la semaine dernière : Windows Azure. Si comme moi vous trouvez cette offre un peu floue, n'hésitez pas à lire cet article afin d'en avoir une idée un peu plus concrète.

En savoir plus :
http://www.techheadbrothers.com/Articles.aspx/cloud-computing-windows-azure-page-1