# Saturday, March 21, 2009
La nouvelle version de Silverlight 3 vient d'être dévoilée en version beta depuis quelques jours. Le site www.silverlight.net centralise toutes les infos et outils de développement.

Découvrir Silverlight 3 : l'ebook !

Laurence Moroney (son blog ici) a publié il y a quelques mois un livre sur Silverlight 2 en anglais, traduit en français chez Microsoft Press. Un bon bouquin pour découvrir Silverlight.

Découvrir Silverlight 2, de Laurence Moroney

Incroyable, une suite de ce livre est déjà disponible sous la forme d'un ebook en PDF pour Silverlight 3 : First look : Microsoft Silverlight 3.

Sommaire de "First look : Microsoft Silverlight 3" :
  • 3D Effects with Perspective Transforms
  • Animation Easing
  • H264 Video Support
  • Pixel Shaders
  • Out-of-Browser Applications
  • Save File Dialog Box
  • XAML Element Databinding

Les applications Silverlight arrivent sur le desktop (pour remplacer WPF ?)

La possibilité d'installer des applications Silverlight sur le PC, et de les exécuter comme des applications indépendantes est une petite révolution dans le monde du développement d'applications desktop. Silverlight se met à marcher sur les plates-bandes des applications desktop C#/.NET classiques (Winforms ou WPF)... et peut-être même des applications MFC/C++ natives.

Evidemment, Winforms, WPF, et C++ natif ont leur spécificités et peuvent être des environnements irremplaçables dans certains cas.

Mais pour le développement d'une nouvelle application, ou la migration d'une application existante, Silverlight peut être envisagé comme une alternative crédible à Winforms, WPF et même C++. Surtout si l'application doit être disponible à la fois en ligne et hors ligne.

Pour caricaturer, on pourrait dire qu'une application Winforms est déjà démodée, qu'une application WPF ne sera pas forcément très rapide et nécessitera de grosses configurations matérielles pour fonctionner, et que l'application C++ aura beaucoup de mal à fonctionner via Internet. Mais Silverlight 3 aura des limitations dans ses fonctionnalités qui pourront être rédhibitoires.

Winforms, WPF, C++ natif, Silverlight : 4 technos de développement d'applications. Sans parler d'Adobe Flex !

D'ailleurs il se murmure que WPF pourrait être une victime collatérale de la guerre que se livrent Microsoft avec Silverlight, et Adobe avec Air : WPF est un Silverlight en beaucoup plus lourd, et son seul avantage est qu'il a un runtime plus puissant (voir l'article : Silverlight 3 might kill WPF par exemple). Tim Sneath a écrit un article très intéressant sur les différences entre les runtime Silverlight et .NET classique. En le lisant je me dis que ma foi, Silverlight a l'air bien fichu de l'intérieur.

Tags  |  | 
 21 March 2009, 00:15
# Friday, February 20, 2009

Vous le savez peut-être, le moteur de recherche et hébergeur Lycos a fermé ses portes. Ils ont fait piquer le chien. Pauvre bête.

Le problème c'est que le nom de domaine blogmfc.com était enregistré chez eux ; j'utilisais Lycos comme registrar. Du coup ce site n'était plus accessible pendant plusieurs jours. Il a fallu que je change de registrar. C'est moins facile que de changer d'hébergeur. Enfin c'est fait.

BlogMFC is back, même si mon travail actuel ne porte plus qu'en partie sur le C++ et les MFC. Eh oui, .NET et Internet déciment les projets C++. Ces derniers ne sont pas tous morts, mais ils deviennent de plus en plus réservés à certains domaines particuliers. Ou alors ils survivent le temps de migrer vers .NET, et/ou vers Internet...?

 

Tags
 20 February 2009, 14:14
# Thursday, January 08, 2009
Vous le savez bien sûr : il existe plusieurs façons de compter les années, en fonction du calendrier que l'on utilise. Dans notre calendrier grégorien, nous sommes en 2009. Mais il existe d'autres calendriers : hébreux, islamique, révolutionnaire, et, celui que l'on consulte tous les jours, le calendrier Windows :


Le calendrier Windows affiche l'an 7 beta 1

Dans le calendrier Windows, nous sommes en l'an 7 béta 1 depuis hier, quand Steve Balmer a officiellement annoncé la disponibilité de Windows 7 beta 1. Alors bonne année 7 béta 1 ! Et, également, comme ce blog a été un peu désert ces derniers temps, bonne année grégorienne 2009 !

La durée d'une année Windowsienne est maintenant d'exactement trois années terrestres, grâce à la poigne de Steven Sinovsky[^] : la Terre effectue exactement 3 rotations autour du soleil entre deux versions de Windows. Avant, c'était beaucoup plus aléatoire, et il fallait attendre la fin de l'année Windowsienne pour savoir qu'elle touchait à sa fin.

Bonne et joyeuse année 2009 7 beta 1


Tags  | 
 8 January 2009, 15:38
# 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
# Tuesday, July 22, 2008

Maintenant que XP n'est (quasiment) plus disponible, Microsoft lance une grande campagne de pub pour Vista. Marrant :

Le temps est venu de connaître la vérité : il faut maintenant utiliser Vista plutôt que XP[^].

Pourtant, un livre à succès[^] affirme qu'avec Internet, le monde est plat, la preuve :

Il est plat ou pas le monde maintenant ? Alors, qui croire ? Microsoft, ou bien Thomas Friedman ??

En fait, la vérité est ailleurs : des petits malins[^] qui trouvent Vista trop lent, ont déjà parodié cette pub, (référence à X-Files[^], le film) :

Tags  | 
 22 July 2008, 18:21