# Sunday, August 31, 2008
Il y a deux semaines j'avais râlé parce que le code source de .NET n'était plus disponible avec VS 2008 SP1. Eh bien c'est désormais en partie corrigé. Une partie du code source de .NET 3.5 SP1 vient d'être rendu disponible en cette fin août par Microsoft. Cela veut dire que désormais l'on peut deboguer et tracer dans le Framework .NET 3.5 SP1 avec VS 2008 SP1. C'est annoncé sur le nouveau blog Microsoft du Source Code Center.

Par contre, la procédure indiquée sur ce blog est valable pour VS 2008, et n'a pas été mise à jour pour VS2008 SP1 ! ;) Cela viendra sans doute bientôt.

Dans VS 2008 SP1, il y trois options à cocher pour récupérer le code source de .NET, contre deux dans VS 2008 :


Trois options pour obtenir le code source de .NET 3.5 SP1

Si ce n'est pas la première fois que vous utilisez cette fonctionnalité, vous devez vider le dossier cache dans lequel les sources sont stockés pour provoquer un nouveau téléchargement des sources et des symboles à jour :


Le dossier cache où sont stockés les sources de .NET

La plupart du code source n'est pas encore disponible. Le code source de WPF, notamment, n'est pas encore mis à disposition. Cela viendra bientôt, comme annoncé sur le blog Microsoft du Source Code Center.

Mais pourquoi est-ce que le code de WPF 3.5 SP1 n'est-il toujours pas disponible ? Il nécessite tant de correction que cela avant de sortir de chez Microsoft ? Il y a peut-être des commentaires dans le code à supprimer, du style :

    // with this workaround, we can send Adobe Air to hell

Mystère... ! ;)

Tags  | 
 31 August 2008, 16:35
# Wednesday, August 27, 2008

De nombreux Datagrid sont disponibles pour WPF

Microsoft vient de sortir une version "béta" (CTP) de son contrôle Datagrid utilisable avec WPF 3.5 SP1. Ce contrôle est disponible avec son code source sur www.codeplex.com/wpf, et Jaime Rodriguez en a posté un exemple d'utilisation.

Pourtant, ce contrôle Datagrid n'est pas destiné à faire concurrence aux Datagrid WPF édités par des éditeurs de composants. Il devrait rester assez simple : ce n'est pas de l'intérêt de Microsoft de tuer les éditeurs de composants ! Par contre le code source du Datagrid Microsoft est disponible gratuitement, alors qu'il est relativement cher ou carrément non disponible chez les éditeurs tiers.

Il existe plusieurs contrôles Datagrid chez différents éditeurs :

Michael Sync a réalisé un banc d'essai des Data Grid de ces éditeurs.

J'ai été surpris de constater qu'Infragistics n'était pas vraiment à la hauteur dans ce domaine précis, alors que ses composants sont renommés. Manque de maturité du produit sans doute.

Xceed Data grid control
Une vue du Data Grid de Xceed

Xceed a été le premier a sortir un Data Grid pour WPF. Cette expérience lui vaut d'être sans doute le Data grid le plus utilisé par la communauté des développeurs WPF. La version 3.0 de ce contrôle vient tout juste de sortir, avec des visualisations en 3D. Et d'après Michael Sync et les commentaires de l'article, Xceed est sans doute le meilleur Data Grid actuellement, avec celui de Telerik. Cerise sur le gâteau, Xceed propose une version Express gratuite.

Trop lents !

Mais gros, gros problème : la performance. Ces contrôles Datagrid pour WPF sont très jolis, avec des skins, des effets 3D, mais... qu'est-ce qu'ils sont lents ! A un point qu'ils peuvent être considérés comme inutilisables... Sur les forums des éditeurs, des clients demandent conseil à propos de la lenteur d'affichage, et il leur est répondu que l'amélioration des performances est un sujet prioritaire.

Le Datagrid de Microsoft est encore plus lent que celui de Xceed, selon mes tests personnels très subjectifs. Le scroll est catastrophique, et l'impression de lenteur générale est assez pénible (sur un Core 2 Duo 2,4 Ghz avec 2 Go de RAM). Ces pauvres performances expliquent sans doute pourquoi le Datagrid n'a pas fait partie de la version 3.5 SP1 de .NET.

Que faire ?

Qu'en conclure ? Ne pas utiliser de Datagrid sous WPF, tout simplement ! ;)

Peut-être que le concept de Datagrid est très lié et très adapté à .NET 2 et Windows Form. Datagrid = Winform + .NET 2.0 ? Il existe de très jolis DataGrids maintenant pour Windows Form.

Et alors comment présenter des données sous WPF ? Le Datagrid n'est sans doute pas adapté. Sous WPF, il faut chercher d'autres manières de présenter les données. De nouvelles "expériences utilisateur" sont à créer. Avis aux amateurs. Billy Hollins présente une telle application WPF en video. Ci dessous, deux écrans représentant un design maître-détail :


La liste de clients : une liste non éditable


Le détail d'un client

Cette approche est très représentative de la manière de concevoir une application WPF : il faut bien connaître les fonctionnalités et les possibilités de la plate-forme, puis se "laisser porter" par ces possibilités pour concevoir une interface utilisateur adaptée. Tout un programme !

 

Tags
 27 August 2008, 00:22
# Tuesday, August 26, 2008

Si vous avez acheté un iPod ou un iPhone, vous l'avez sans doute constaté : des logiciels dont vous n'avez pas besoin se sont sournoisement installés sur votre PC.

Heureux possesseur d'un baladeur Apple, vous devez installer le logiciel iTunes sur votre PC. C'est écrit sur la boîte, on est prévenu.

Par contre, ce qui n'est pas écrit, c'est que pour télécharger des applications gratuites ou des mises à jours pour votre iPod/iPhone, vous devez fournir un numéro de carte bancaire à Apple.

Et toute une floppée de logiciels sont installés par Apple sur votre PC sans votre permission.


Les applications installées sans permission avec iTunes

En voici la liste (non exhaustive) :

  • le navigateur Web Safari (j'ai déjà IE et Firefox, merci)
  • QuickTime (je me demande quelle est son utilité, j'ai déjà Media Player)
  • Bonjour (Bonjour, à quoi servez vous ?)
  • Un logiciel de mise à jour qui, si jamais vous avez réussi à ne pas installer Safari la première fois en décochant les bonnes options, vous proposera encore et encore de l'installer jusqu'à ce que vous disiez oui par inadvertance. Il vous aura à l'usure !
  • Le client pour le service payant de location d'espace Web "Mobile Me". Ce dernier est installé dans le panneau de configuration.


Mobile Me s'installe silencieusement dans le panneau de contrôle de Windows

Ah, ce service Mobile Me ! C'est un abonnement (100$/an) pour disposer d'un espace de stockage en ligne. Comme vous avez déjà fourni votre numéro de carte bancaire à Apple, il ne suffit que de quelques clics pour y souscrire. Mobile Me est un concurrent payant de Windows Live Mesh, ce dernier étant gratuit. Mais Mobile Me ne fonctionne pas très bien...

Le moins que l'on puisse dire c'est que Apple est vraiment sournois. Donc me voici maintenant à empêcher Apple de lancer des services et des programmes résidents qui ne me servent pas...

 

Tags
 26 August 2008, 18:19
# Monday, August 18, 2008

Microsoft a profité de ce que j'avais le dos tourné (voir photo ci-dessous), pour sortir une mise à jour SP1 pour Visual Studio 2008 et aussi pour .NET 3.5. A peine rentré des Alpes Suisse, je me jette évidemment sur MSDN pour télécharger la bête.

Le lac Thunsee, dans les Alpes Suisses, près de Bern.</
Le lac Thunsee, dans les Alpes Suisses, près de Bern.

Le SP1 de Visual Studio 2008 est dispo pour les versions gratuites (express) et professionnelles de Visual Studio. En anglais et en français. Pour télécharger le SP1, c'est ici pour les versions pro ou ici pour les versions express. Après avoir accepté le contrat-de-licence-qu'on-ne-lit-jamais, le programme d'installation se débrouille tout seul. Environ une heure après (quand même), me voici avec la version RTM du SP1 de .NET 3.5 et de Visual Studio 2008 :

A propos de Visual Studio 2008 SP1

Il y a déjà eu pas mal d'articles sur les nouvelles fonctionnalités apportées par ce SP1 en français sur le blog de Mitsu ou en anglais : la liste entière des modifications est dans la base de connaissance de Microsoft : http://support.microsoft.com/kb/945140. Plein de trucs sur ASP.NET, WPF, Linq, etc. Aussi, les applications WPF se lancent plus rapidement, c'est clair.

Le nombre de fonctionnalités ajoutées est impressionnant. Surtout pour .NET 3.5 SP1, il s'agit plus d'une nouvelle version que d'un Service Pack ! .NET 3.5 SP1 contient la version 3 de WPF, après WPF 1 sorti avec Vista et .NET 3.0, WPF 2 sorti avec Visual Studio 2008 et .NET 3.5.

Le SP1 pour Visual C++

Le SP1 de Visual Studio 2008 contient les nouveautés déjà présentées dans VC++ 2008 Feature Pack (la nouvelle version des MFC, et C++ TR1). Mais comme le VC++ 2008 Feature Pack est sorti il y a quelques mois déjà, le SP1 de Visual Studio y apporte de nombreux correctifs dans le compilateur C++ (bugs corrigés), dans les extensions TR1, ainsi que dans les MFC (voir http://blogs.msdn.com/vcblog)

Si vous avez déjà installé VC++ 2008 Feature Pack, il est donc conseillé d'installer en plus Visual Studio SP1, car ce dernier contient une mise à jour du Feature Pack.

Autrement dit, le Feature Pack est à mettre à la poubelle, il est remplacé par le SP1 de Visual Studio.

Un Datagrid dans WPF 3.5 SP1 !

Il manquait un contrôle datagrid dans WPF. Plusieurs éditeurs indépendants ont fourni des contrôles Datagrid, payants ou gratuits (Xceed ou Infragistics). Ce grand manque est désormais comblé... d'une manière originale. Microsoft propose un Toolkit WPF en téléchargement sur le site www.codeplex.com/wpf. Ce toolkit contient entre autres, un datagrid, et nécessite WPF 3.5 SP1 pour fonctionner. Le code source est même disponible !

Comme Microsoft aime bien les fournisseurs de composants indépendants, il ne va pas trop leur faire concurrence. Le Data Grid de WPF ne sera jamais aussi puissant que le Data grid payant d'Infragistics par exemple. Même si la version actuelle est encore en CTP, il ne faut pas s'attendre à voir ce contrôle devenir le meilleur des datagrid du monde ! Mais il peut rendre des services...

Le blog de Jaime Rodriguez contient une série d'articles sur l'utilisation de ce nouveau contrôle Data Grid pour WPF :


Un exemple d'utilisation par Jaime Rodriguez du nouveau contrôle Data Grid de WPF

Ce Toolkit WPF contient également un outil pour pouvoir construire plus facilement des Pixel Shaders. Il y en a qui vont s'amuser comme des petits fous ! Toutes les infos sur ce nouvel outil sur le blog de Greg Schechter, le "spécialiste" des Pixels Shaders en WPF.

Le code source du framework .NET 3.5 SP1 pas encore disponible

Depuis quelques mois, il était possible avec Visual Studio 2008 d'utiliser le code source du framework .NET 3.5. en mode Debug. Visual Studio 2008 sait télécharger le code source d'une partie de .NET pour le mettre à disposition de tout programmeur .NET, comme expliqué par exemple par ClaueR.

Les nouvelles options de téléchargement du code du framework .NET
Les nouvelles options de téléchargement du code du framework .NET

Avec Visual Studio 2008 SP1, les options de téléchargement du code source du framework .NET sont mieux pensées, mais le problème est que le code source de .NET Framework 3.5 SP1 n'est pas encore disponible ! Des fichiers PDB sont présents, mais ils ne contiennent pas (encore ?) les informations sur le code source.

Alors, si vous avez absolument besoin d'utiliser le code source du framework .NET 3.5 en mode debug, n'installez pas encore le SP1 ! Attendons que Microsoft mette en téléchargement le code source de la dernière version de .NET.

Nouveautés du mode debug (managed)

En mode pas à pas, le menu contextuel (clic droit de la souris) contient des entrées supplémentaires. Le très pratique "Step into Specific" est disponible sur un appel de fonction, et permet de spécifier comment tracer à l'intérieur de la dite fonction.


Nouveau menu contextuel en mode debug

Il y a beaucoup d'autres nouveautés dans ce SP1, à télécharger d'urgence donc. Sauf si l'on a besoin d'utiliser le code source du framework .NET pour l'instant.

Tags  |  |  | 
 18 August 2008, 17:47