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
 Wednesday, June 25, 2008


Un peu de musique pendant qu'on se recueille pour la mort de XP

Dans une lettre adressée aux utilisateurs de Windows[^] (1 milliard de personnes), Bill Veghte, Vice President de Microsoft, a annoncé le 24 juin la mort officielle de Windows XP. Un moment de recueillement pour un système qui a vécu 7 ans (l'espérance de vie d'un lion[^] est entre 7 et 14 ans).

Enfin, mort, cela veut dire qu'il ne sera plus vendu à partir de ce soir. Ou demain matin à 05h59, pour Dell[^]. En tous cas plus du tout à partir du 30 juin. Sauf cas exceptionnel.

Mais il sera encore supporté par Microsoft pendant près de 6 ans[^] (encore 9 mois de support "normal", puis ensuite, seulement les mises à jour de sécurité pendant 5 ans). Comme ça, si vous venez de l'acheter, vous aurez encore des mises à jour avant que votre PC ne rende l'âme. Ca veut dire aussi que si vous développez des logiciels, vous risquez d'avoir ENCORE des clients sous XP pendant 5 ans.

5 ans encore ! Horreur, malheur ! Imaginez la tête d'un type au support technique, quand un client appellera, début 2014, pour annoncer : "euh, oui, j'ai un problème là, avec votre logiciel, je suis sous XP, que puis-je faire ?". Ah ah ah !


La tête d'un type au support technique, début 2014,
quand un client appellera pour signaler un problème sous Windows XP.

D'ici là, Windows 7 sera sorti. Officiellement, et toujours d'après cette même lettre[^], Windows 7 sera disponible trois ans après Vista. Donc cela donne : sortie officielle en Janvier 2010, disponibilité pour les professionnels fin 2009, et versions béta largement disponibles dans moins d'un an.

 

Tags
 25 June 2008, 15:21

Le nouveau livre sur les MFC de PackT PublishingNooooonnnn ? Un NOUVEAU livre sur les MFC ?? Aucun livre n'était sorti sur les MFC depuis... au moins... trois siècles !

Evidemment, il est en anglais... Après la fermeture de O'Reilly-France, nous n'aurons plus beaucoup de livre informatique en français...

Ce livre de 370 pages devrait être disponible d'ici quelques jours, soit en version PDF directement sur le site de l'éditeur[^], soit en version papier. Bientôt disponible sur Amazon également.

C'est un livre pour apprendre comment utiliser les MFC, pour ceux qui connaissent un peu le C++, ou qui ont déjà programmé des applications Windows en C#.

Les principaux concepts des MFC sont expliqués et mis en pratique dans des exemples concrets d'applications simples.

Bref, il a l'air bien pour se mettre (ou se remettre!) aux MFC.

Il coûte 31,49 euros, et les frais de port sont gratuits vers la France depuis le site de l'éditeur[^].

Tags  | 
 25 June 2008, 12:51
 Wednesday, June 11, 2008

Impressions

Après plus de deux semaines d'utilisation des SP1 de Visual Studio 2008 et de .NET 3.5, je n'ai rencontré aucun problème. Pourtant j'ai fait une utilisation intensive de C#/WPF et aussi de C++ (natif).

Le truc qui ne fonctionne plus, c'est le debogage dans le code source de .NET. Forcément : le code source de .NET 3.5 SP1 n'est pas encore disponible. Il faudra sans doute attendre au moins la sortie de la version RTM de .NET 3.5 SP1.

Je n'ai pas pu utiliser Silverlight depuis deux semaines, car les extensions Silverlight 2 beta 1 pour Visual Studio étaient incompatibles avec VS2008 SP1. Mais ceci était indiqué et documenté. La beta 2 de Silverlight 2 qui est sortie le 6 juin fonctionne très bien avec Visual Studio 2008 SP1. Plus d'incompatibilité entre Silverlight et Visual Studio ! Je vais pouvoir continuer à m'amuser avec Silverlight avec mon fils.

.NET 3.5 SP1 était censé accélérer le chargement des applications WPF. Je n'ai pas spécialement remarqué de différence, disons que ce n'est pas flagrant. Mais ceci n'est qu'une remarque subjective. Ou alors je ne suis pas encore satisfait des performances de WPF. Allez, M. Microsoft, encore un effort !

J'aurais voulu tester les shaders en WPF/SP1, mais pas eu le temps. Faire des filtres graphiques qui utilisent la carte 3D, et utiliser ces filtres en XAML est une des raisons pour lesquelles WPF est prometteur, malgré ses défauts (de jeunesse). Une très bonne série d'articles ici sur la réalisation d'effets graphiques en utilisant l'accélération matérielle.

Desinstallation

La désinstallation de VS 2008 SP1 et .NET 3.5 SP1 est laborieuse, mais on y arrive ! Pour revenir à VS 2008 standard, il faut successivement désinstaller tout ça (la liste est dans le fichier readme.htm de Visual Studio 2008 SP1) :

Uninstall the following list of updates, in the order shown:

  1. Microsoft Visual Studio Team System 2008 Team Suite - Service Pack 1 (KB945140)
  2. Microsoft Visual Studio Team System 2008 Team Suite - Service Pack 1 (KB948560)
  3. Microsoft Visual Studio Team System 2008 Team Suite - Service Pack 1 (KB947888)
  4. Microsoft Visual Studio Team System 2008 Team Suite - Service Pack 1 (KB948484)
  5. Microsoft Visual Studio 2008 Remote Debugger - Service Pack 1 (KB945140)
  6. KB945140 under Visual Studio .NET Prerequisites
  7. Update for WebDesigner 2007 (KB945140)
  8. Windows SDK for Visual Studio 2008 SP1 KB946729
  9. Windows SDK for Visual Studio 2008 KB946733
  10. Microsoft SQL Server Compact 3.5 SP1 Design Tools English
  11. Microsoft SQL Server Compact 3.5 SP1 English
  12. Microsoft SQL Server Database Publishing Wizard
  13. Visual Studio Tools for the Office system 3.0 Runtime Service Pack 1 Language Pack (KB949258)
  14. Visual Studio Tools for the Office system 3.0 Runtime Service Pack 1 (KB949258)
  15. Visual C++ 2008 IA64 Runtime - (v9.0.304xx)
  16. Visual C++ 2008 x64 Runtime - (v9.0.304xx)
  17. Visual C++ 2008 x86 Runtime - (v9.0.304xx)

Après avoir désinstallé tous ces éléments, il ne reste presque plus rien de Visual Studio ;). Il faut réinstaller Visual Studio en utilisant l'option "réparer l'installation". Mais ça marche.

Pour désinstaller .NET 3.5 SP1 beta, c'est plus simple. Il suffit de désinstaller "Microsoft .NET Framework 3.5 SP1 beta". Facile. Le problème c'est qu'après il n'y a plus de framework .NET 3.5. Il faut en réinstaller une version normale.

 

 11 June 2008, 01:52
 Wednesday, May 28, 2008

1. La première étape de l'apprentissage de WPF, selon Josh Smith (un gourou de WPF), est la suivante : retirez votre cerveau de votre crâne, faites le tourner de 180°, puis remettez-le en place (voir Figure 1).

 

Avant d'apprendre WPF, retournez votre cerveau
Figure 1 : Prérequis avant d'apprendre WPF

Il est vrai que pour nous qui connaissons la programmation d'applications clientes "classiques" (type Win32, MFC, ou même Winforms), l'apprentissage de WPF provoque divers types d'émotions qui vont de l'étonnement à l'incompréhension, en passant par l'admiration ou la colère. La programmation WPF est... hmmm... comment dire... différente.

 


2. La deuxième étape est d'acheter un livre (celui que je préfère est celui d'Adam Nathan, aucun livre correct en français encore), de consulter la documentation de WPF sur MSDN, et de regarder des articles, tutoriels, vidéos sur CodeProject, sur des blogs, ou sur www.windowsclient.net. C'est un long processus : WPF est un environnement de programmation tout neuf, et tout est à découvrir ! Il y a tellement de nouveaux concepts à apprendre.

Comptez plusieurs semaines pour cette deuxième étape (pour la première étape, le délai peut être infini).

A l'issue de cette deuxième étape, vous savez comment faire des petits programmes qui mettent en oeuvre deux ou trois fonctionnalités de WPF. Vous savez créer une fenêtre avec un bouton 3D contenant une vidéo. Vous savez comment récupérer des images sur un site Web, et en afficher les miniatures. Vous pouvez même vous mettre rapidement à Silverlight, et porter votre petit bout de code sur le Web. Idéal pour épater vos collègues. Ajoutez en plus : "bah, j'ai fait ça en une soirée".

Mais mais mais... pas question encore de créer une application. A l'issue de cette deuxième étape, les fonctionnalités de WPF, c'est comme les débris de verre cassés chez un vitrier. Un par un il sont clairs, mais tous ensemble, ils sont opaques.

 


3. La troisième étape - délicate - est de tester chaque fonctionnalité de WPF dont on peut avoir besoin, dans une étude de faisabilité. Pour vérifier si :

  • elle fonctionne correctement, comme indiqué dans la documentation
  • elle est rapide (ou pas trop lente)

Il existe malheureusement encore des domaines mystérieux et inconnus de WPF. Ou d'autres lieux où il vaut mieux ne pas s'aventurer si l'on veut conserver des performances correctes. Tout ceci n'est écrit nulle part, et si vous ne le vérifiez pas, vous ne le saurez pas.

Oui, WPF est une technologie très jeune et très prometteuse, mais elle a les défauts (bugs) de sa jeunesse.

Un exemple parmi d'autres, les bitmapeffects sont parfois très lents et, par conséquent, souvent inutilisables. Mais dans le SP1 de .NET 3.5 (qui vient de sortir en béta), ces bitmapeffects ont été totalement réécrits pour profiter de l'accélération matérielle de la carte graphique. Ils sont devenus très rapides ! Surprise surprise...

 


4. La dernière étape est d'apprendre comment créer des application WPF. Imaginez que votre boss/client vous dise : "bon, ce nouveau projet, là, finalement on va le faire en WPF plutôt qu'en C++/MFC (ou Winforms, ou autre)".

Les MFC proposent nativement une architecture d'application document-vue. Elle a le mérite d'exister et de structurer le développement d'application. Avec WPF, s'élabore une structure similaire, l'architecture modèle-vue-machin. Machin ?!

(

Le premier livre sur les design patternsPetite parenthèse sur les design patterns, au cas où. Les design patterns (ou shemas ou patrons de conception en français... ah quelle drôle de langue que le français) ont été décris en 1995 dans un livre culte : "Design Patterns - elements of reusable software". Les design patterns sont d'excellents moyens de formaliser des problèmes classiques de conception de logiciels, et d'apporter une solution. Pourquoi réinventer la roue à chaque fois, alors que d'autres architectes logiciels, d'autres programmeurs, se sont déjà cassés les dents neurones sur des problèmes de conception de logiciel ?

Tout ça pour dire que, en 1995, à l'heure de gloire des MFC, on se passait de ces shemas. Mais maintenant il est impensable qu'un programmeurs, codeur, ou architecte logiciel ne se jette pas la tête la première dans ces patterns, avant de commencer quelque logiciel que ce soit.

Un excellent livre sur les design patterns, malheureusement épuisé en français

)

En 2005-2006, avant même la sortie de WPF, deux gars de chez Microsoft, John Gossman et Dan Crevier, se sont posé la question de savoir comment architecturer une application WPF. Ils ont inventé le pattern Model-View-ViewModel, qui est décrit sur le blog de John Gossman ici puis , ainsi que sur le blog de Dan Crevier. Plus récemment, Josh Smith a écrit une très bonne synthèse sur codeproject. Avec un brin de malice et de réalisme, le Dr WPF appelle ce pattern Model-View-Poo.

En gros, le pattern Model-View-ViewModel (Modèle-Vue-Machin) profite de la possibilité offerte par WPF de séparer facilement le code et les données d'une part, et l'interface utilisateur et l'affichage des données d'autre part. Ce pattern découpe une application en trois parties :

  • le modèle (Model) : les objets métiers, le code, les données, la logique et les algorithmes du programme. Le modèle est totalement indépendant de l'interface utilisateur, et de sa présentation à l'utilisateur.
  • la vue (View) : la présentation à l'utilisateur des données et des résultats des traitements. C'est l'interface utilisateur, et elle contient des fenêtres, des contrôles, ... Elle est complètement séparée du modèle.
  • le machin (ViewModel, ou Poo) : permet aux deux parties ci-dessus de communiquer. Un pont entre les deux mondes que sont le modèle et la vue. Le machin demande par exemple la mise à jour de l'affichage. Ou bien commande le démarrage d'un nouveau calcul, ou la mise à jour de données.

Bien que le machin (poo) qui relie le modèle et la vue ne soit pas toujours parfaitement décrit ni organisé, le but du shema Modèle-Vue-Truc est déviter que vos applications WPF ne ressemblent à ceci :

Code spaghetti

Pour aller au delà du simple shema modèle-vue-machin, Microsoft met au point une méthodologie de développement d'application WPF, appelée Prism. Une présentation du concept est effectuée par un membre de l'équipe de Prism. Des conseils, stratégies, design-patterns, exemples et guides font partie de ce kit de survie à l'usage des développeurs d'applications WPF. Ou plutôt des architectes WPF. Ces outils sont destinés à faciliter le développement d'applications WPF conséquentes. Prism n'est pas terminé, mais des préversions sont déjà disponibles sur codeplex. Il faut que je regarde ça de plus près.

Prism, méthodologie de développement WPF
Prism : méthodologie de développement WPF


On l'aura compris, la connaissance technique de WPF, de ses contrôles, styles, objets, etc, n'est que la première des étapes de l'apprentissage de WPF. Cette étape est bien décrite sur internet avec des tutoriels, des articles, des webcasts, etc. Il existe aussi de nombreux livres techniques (essentiellement en anglais).

Par contre, cela ne suffit pas pour créer et architecturer de vraies applications. Les shemas, les design patterns, les "guides de bonnes pratiques" sur la manière de combiner les éléments de WPF et construire des logiciels commencent à peine à pointer le bout de leur nez. Il reste encore beaucoup à faire dans ce domaine. La jeunesse de WPF (un an !) explique sans doute le manque de maturité dans ce domaine. A titre de comparaison, les MFC proposaient il y a 15 ans (!) une implémentation automatique du shema Document-Vue, avec un assistant qui générait le squelette de l'application selon ce design pattern. Ce shéma document-vue est un ancêtre du Modèle-Vue-Machin de WPF. Mais ce dernier est encore bien flou...

Bref, développer une application WPF, c'est un peu comme partir à la conquête du Far West il y a 150 ans. C'est une aventure.

 

Mise à jour : John Gossman (qui a géré le développement de Expression Blend en WPF) vient d'écrire un article intéressant sur le sujet : PresentationModel and WPF, dans lequel il écrit : "WPF is still so new that we still don't know all the best practices and techniques..."

Tags  | 
 28 May 2008, 23:42
 Saturday, May 17, 2008

L'article de Scott Guthrie présente une longue liste de nouveautés apportées par ces deux SP1. Mais il ne dit pas tout, la preuve :

1. D'abord l'icône de Visual Studio a changé : il y a un petit 9 dessus maintenant !

2. Deuxième constatation : tous les paramètres de l'environnement sont réinitialisés ! Configuration, dossiers "Include" ou "Lib" du compilateur C++, raccourcis clavier, ... il faut tout reparamétrer ! Je ne sais pas si j'ai fait une erreur ou si c'est un bug de la version beta...

3. Le designer WPF (ex Cider) a bien changé : il dispose maintenant d'un éditeur d'événement. Il suffit de sélectionner un objet WPF, en mode design ou en XAML, et la liste des événements disponibles pour cet objet s'affiche. On peut trier les événements par ordre alphabétique, ou bien par thème. Cela manquait !

Une autre amélioration très pratique est la possibilité d'effectuer un glisser-déplacer depuis la barre d'outils des contrôles WPF, vers une fenêtre WPF en mode design, aussi bien que vers le code XAML.

A suivre...

Tags  | 
 17 May 2008, 00:31
 Friday, May 16, 2008

Trop tentant d'installer ces dernières versions de VS 2008 et de .NET 3.5, je n'ai pas pu résister. Ce qui est dit de ces mises à jour de VS2008 et .NET 3.5 sur les blogs de Scott Guthrie et Tim Sneath est alléchant.

Attention ! N'installez pas ces Service Packs si vous développez pour Silverlight 2. Le SP1 de .NET Framework 3.5 est incompatible avec les outils de programmation de Silverlight 2 beta. Il faut attendre quelques semaines pour qu'une nouvelle version de l'extension "VS 2008 Tools for Silverlight 2" compatible avec .NET 3.5 SP1 soit disponible.

Ce sont des versions béta. Et un certain nombre de précautions doivent être prises avant d'intaller la bête.

1. Sous Vista, il faut installer Vista SP1 au préalable.

2. Si vous avez installé les extensions "VS 2008 Tools for Silverlight 2 Beta1" pour faire desprojets Silverlight avec VS 2008, il faut le désinstaller. .NET 3.5 SP1 ou Silverlight 2, il faut choisir !!

Vous pouvez aussi désinstaller "Silverlight 2.0 SDK Beta1", il ne fonctionnera plus avec VS2008 SP1.

Par contre, gardez évidemment le runtime de Silverlight.

3. Il faut désinstaller une ou deux mises à jour de Visual Studio 2008. Pour cela, cliquer sur "Afficher les mises à jour installées", puis désinstallez les mise à jour de Visual Studio KB949325, et KB944899.

Si vous ne désinstallez pas ces mises à jour, le programme d'installation des Service Packs ne fonctionnera pas.

4. Les versions de Expression Blend antérieures au 9 mai 2008 ne fonctionneront plus avec .NET 3.5 SP1. Poubelle ! A désinstaller ! Même la dernière version 2.5. Heureusement, il existe déjà une mise à jour de Blend 2.5 : elle porte le même nom, "Expression Blend 2.5 March 2008 Preview", mais son numéro de version est 2.1.1113.

5. Installez Visual Studio 2008 Service Pack 1 Beta

6. Installez .NET Framework 3.5 Service Pack 1 Beta

7. Installez Expression Blend 2.5 March 2008 Preview Refresh v2.1.1113

8. Et voilà !

 

 16 May 2008, 16:40