Aline’s Tech Blog

All my geekness is here :-)

Micro$oft Technet Days à Lyon November 7, 2008

Filed under: WPF, geek, job — Aline @ 12:05 am
Tags: , , , ,

Petit comMicrosoftpte-rendu de ce que j’ai vu d’intéressant aux microsoft Technet Days, qui avaient lieu à Lyon les 29 et 30 octobre.

Pour connaître toutes les nouveautés qui ont été annoncées (et donc qui nous ont été rapportées à Lyon) à la grande messe microsoftienne, la “PDC” de Los Angeles, c’est chez Jerem que ça se passe !

Pour ma part je parlerai de ce qui paraît bien fait dans l’environnement de développement Microsoft, là où ils ont une longueur d’avance (à mon avis). Voici, dans l’ordre, un tour d’horizon des conférences auxquelles j’ai eu la chance d’assister.

L’Accès aux données

Cette partie montrait des manières d’accéder à des sources de données “proprement” (mapping, librairie d’objets, abstraction de la base de données, couche d’accès aux données, tout ça).

Pour l’instant, j’utilise NHibernate, parce qu’en 2006 quelqu’un avait trouvé ça sympa.

Aujourd’hui, j’ai découvert la facilité d’accès de LINQ, la technologie de mapping de chez Microsoft. LINQ est totalement intégré à visual studio, et permet d’”oublier” complètement la source de données.. Tout en faisant des “requêtes”, ce qui permet une grande maniabilité. On oublie les “.hbm.xml”, fichiers “de mapping” de NHibernate qui permettent la correspondance objet/classe.

J’ai hâte de trouver quelques minutes pour essayer ça.

On a aussi entendu parler de Entity, un truc tout nouveau (j’ai pas compris grand chose, sujet classé dans ma “A Creuser”-list) plus proche de la base, qui semble être une alternative à LINQ.

Plénière Développeurs

  • “on a inventé un .NET Embarqué, si si ça va marcher on vous jure”
  • “Microsoft est un standard, on devient de + en + standards. Tenez, par exemple, la norme OOXML

No Comment…

Visual Studio Team System & Team Explorer

De nombreux outils permettent de gérer le projet de développement logiciel de A à Z, en intégrant au code des tests manuels, des tests de couverture, unitaire, la documentation associée, l’analyse du code, la liste des fonctionnalités, des métriques, des pages web, et tout ce dont on peut avoir besoin. En plus de ça, Team Enterprise permet de mettre en place l’intégration continue, et la gestion de la solution de manière bien meilleure que SourceSafe (en même temps y’a pas de mal).

Ici on a parlé d’agilité. L’outil visual studio 2008 semble contenir des outils très adaptés pour la gestion de tels projets.

Silverlight

Visual Studio 2010 permettra beaucoup plus de facilité dans le développement d’applications Silverlight et wpf.

Solutions Online/Offline avec SQL Server 2008

Un Microsoft geek (comprendre: un geek mais bien sapé et qui a une copine) complètement à fond nous a démontré qu’en 1h30 (1h45…) il était possible de créer très facilement une solution online/offline avec synchronisation des données grâce à SQL Server 2008 et son intégration avec Visual Studio.

Démo très intéressante avec un PDA et un PC. Ca aussi il va falloir le regarder de plus près.

Offre décisionnelle Microsoft

Plein d’outils pour faire des rapports et de l’analyse de données existent…

j’ai noté “Report Builder”

Après, la “BI” (Business Intelligence), c’est pas encore mon domaine.

En conclusion, ces 2 demi-journées ont été pleines d’informations concrètes, de qualité. Je ne m’attendais pas à aussi bien. J’ai plein d’informations à chercher pour essayer de faciliter les développements.

 

WPF Data Templates: Several views for 1 class July 28, 2008

Filed under: WPF — Aline @ 10:00 am
Tags: , , ,

Today i’m going to introduce you a WPF concept called Data Templating.

When I started WPF, i felt lost, and i didn’t know how to do. I wanted to use my scholar knowledge about object-oriented programming, make inheritance relationships between usercontrols, like in windows forms or Java.

My problem was that I had 1 user control (basically, a grid with several labels), which displays the contents of a collection in the labels. My graphic control had to be used in different configurations. Depending on the configuration, the data was not displayed in the same way, but the business code (data collection, grid) was the same.

The first idea i had, using my little UML model, was to make inheritance: a parent grid user control, with several children chosen depending on the configuration. In this way, with WPF, everything was coded into a .VB file. It was quite inappropriate. Moreover it was hard to realize this inheritance, because WPF didn’t allow me to display my parent Grid control into the designer…

And then, I posted on MSDN forums, WPF disciples, I started reading this book, and understood i wasn’t thinking the right way.

The right way, for this particular case, is to use Data Templates.

Data Templating allows you to have 1 class that contains all your business code (here, my data collection), and to consider your graphic interface as a template (here a grid template), that you define in a resource dictionary.
This is very easy to do this with Expression Blend. You can define several templates to apply them to the class.

After this you can define a Template Selector class to select your template programatically, or select it dynamically. The data template for a custom user control is defined by the ContentTemplate attribute. In my solution, i have bound this attribute to the selected item of a combobox.

The template elements (labels,…) can be bound (in xaml ResourceDictionary) to the collection items. And the graphics can be completely different.

To use data templates, here are some cool links which helped me a lot, including code samples and HowTos:

http://msdn2.microsoft.com/en-us/library/ms752339.aspx
http://www.contentpresenter.com/index.php
http://msdn.microsoft.com/en-us/library/ms742521.aspx