Le blog d'Alti Expertease

jeudi 28 août 2008

Microsoft et l"injection de dépendance : MEF (Managed Extensibility Framework)

En juin, Microsoft a dévoilé la sortie du MEF "Managed Extensibility Framework" : il s'agit de la réponse de Microsoft, sur le marché des outils d'inversion of control (IOC). Les documentations sur le sujet restent encore malheureusement peu nombreuses. On a pu voir un billet sur le blog de Krzysztof Cwalina, avec quelques exemples de code. Ce framework est disponible en téléchargement sur le site de MSDN.

Dernièrement, on a pu assister à la sortie de deux interview audio sur le sujet : Episode 11: Glenn Block on Prism, Unity, and MEF (Part 1) et Episode 11: Glenn Block on Prism, Unity, and MEF (Part 2).

En terme d'articles et de vulgarisation, tout reste à faire ! Avis aux candidats :)

jeudi 21 août 2008

Des soucis de clarté de texte en WPF ?

Pour ceux qui ont des problèmes avec les textes en WPF, qui peuvent parraitre un peu flou et/ou déformés, le site windowsclient vient de sortir toute une liste d'astuces afin d'améliorer au maximum la qualité de l'affichage des textes WPF. On peut citer parmi les conseils :

  • utiliser la police la plus grande possible
  • tirer partit des polices qui ont été désignées pour bien rendre sous WPF comme Calibri, Cambria, Verdana etc...
  • activer l'algorythme ClearType (celà se fait manuellement sous XP, alors que vous Vista c'est automatique)

Vous pouvez en savoir plus dans l'article Text Clarity in WPF

mercredi 13 août 2008

Framework .NET 3.5 SP1 : Les apports pour WPF

Avec la sortie réçente du Service Pack 1 du framework 3.5, viennent de nombreuses améliorations, à tous les niveaux (Team System, SQL Serveur etc...)

Coté WPF quelles sont les nouveautés ?

  • Une amélioration directe du temps de réponse au démarrage des applications, de l'ordre de 20 à 45%, sans nécessité de changer le code
  • Amélioration de certains effets : par exemple, le Blur et le DropShadow sont maintenant sous acceleration matérielle, au lieu de l'ancien rendu software.
  • Performance du scroll : la virtualisation graphique bénéficie désormais d'un nouveau mode "Recycling" qui permet d'améliorer grandement les résultats :

<ListBox VirtualizingStackPanel.VirtualizationMode="Recycling" …/>

  • La sortie tant attendue du Datagrid ! Contenu dans le "WPF Toolkit", en version CTP, vous pouvez visualiser la démo vidéo ici. Les prochains contrôles à venir seront le calendrier, et le DatePicker, qui manquaient cruellement à WPF.
  • Une amélioration du debug dans le code XAML (il faut avouer que jusqu'à présent, ce n'était pas très facile de debugger du XAML). Dans le même genre, à présent les fonctionnalités "Go to definition" (aller à la définition) et "Find Reference" (trouver les références) fonctionne meme pour le code XAML !
  • Pour la partie Databinding, à présent vous pouvez utiliser le StringFormat pour avoir plus de souplesse sur le formatage des données, ce qui va limiter grandement la création des converter :

<TextBox Text="{Binding Path=Double, StringFormat=Amount: {0:C}}"/> <Binding Path="Date" StringFormat="{}{0:MM/dd/yyyy}"/>

Evidemment, la liste n'est pas exhaustive. Vous pouvez par exemple trouver ici la liste de toutes les améliorations en terme de performance. A noter, du coté setup, la sortie du "Client Profile" : il s'agit d'une redistribution plus petite en taille, qui s'installe plus vite, et permet d'alléger les setups. Il contient déjà plusieurs composants utiles au déploiement Windows, tel que Click Once.

Et pour après ? Des détails sur le Framework 4.0 seront dévoilés lors de la conférence développeurs de Microsoft qui se déroulera en octobre prochain.

vendredi 1 août 2008

Interopérabilité Microsoft/SAP : le webcast est en ligne !

Pour ceux qui n'avaient pas pu se déplacer au MTC mi juin au dernier rendez-vous de l'interopérabilité, l'ensemble de la session a été webcasté et est disponible à l'adresse suivante :

http://www.microsoft.com/france/vision/WebcastMsdn.aspx?EID=d619f3df-c280-481c-84aa-927060f9b3f9

Il y en a pour plus de 3 heures, mais rassurez-vous c'est découpé en 11 chapitres ;-)

Bon Webcast !

jeudi 31 juillet 2008

Le JavaFX SDK preview est sorti !

La preview du JavaFX SDK est sortie !
Les liens utiles :

Je vous en parle plus longuement dés que j’ai un peu testé ce SDK sur Mac OS X et Windows.

En attendant vous pouvez toujours aller lire le post d’Alexis

mercredi 4 juin 2008

Les rendez-vous de l'interopérabilité Microsoft

Alti co-animera le prochain rendez vous de l'interopérabilité organisé par Microsoft semaine prochaine (le 12 juin après midi) au Microsoft Technology Center parisien.

Il y sera question de stratégies d'intégration à SAP.

A cette occasion, nous en profiterons pour lancer officiellement une nouvelle offre Alti concernant l'interopérabilité entre le monde SAP et le monde Microsoft.

Pour s'inscrire a cet événement Microsoft, cela se passe ici : http://www.microsoft.com/france/events/event.aspx?EventID=1032380417

Pour plus d'information sur cette nouvelle offre Alti, je vous invite a me contacter directement à l'adresse suivante : svincent@alti.fr

mardi 3 juin 2008

Un concurrent à FxCop ?

Microsoft vient de sortir un outil qui analyse le code. Il se présente sous la forme d'un plugin qui s'installe dans Visual Studio, et contiendrait environ 200 règles prédéfinies. Son petit nom : "Microsoft source Analysis for C#".

jeudi 29 mai 2008

draggable applets (en JavaFX script pour l’exemple)

Une des nouveautés (introduite par java6 update 10 et le nouveau plug-in d’applet) ayant provoqué beaucoup d’intérêt à JavaOne est de pouvoir exécuter une applet aussi bien dans le browser qu’en dehors du browser, en la drag and dropant. Le but de cette nouveauté est de fournir une nouvelle façon de déployer une application depuis internet (drag and drop d’une application s’exécutant dans le browser vers le desktop) et d’unifier le développement des applications, qu’elles s’exécutent dans le browser (applet) ou en dehors du browser (desktop application).
Bon je sais comme ça, ça n’a pas l’air très sexy…
Alors je vous ai fait un petit screencast de la chose.

Le scenario du screencast
Dans ce screencast, je commence par exécuter une applet dans le browser de la façon la plus classique qu'il soit…
puis, tout en continuant à s’exécuter, je la drag and drop vers le bureau pour qu’elle s’exécute en dehors du browser. A ce moment, l’applet s’exécute comme une application desktop et le fait de la fermer va la faire retourner dans le browser.
Je recommence le drag and drop de l’applet et je ferme le browser, l’applet en mode application desktop continue de fonctionner et me propose de créer un raccourci sur le bureau.
Je ferme l’applet et je la relance comme une application desktop (Java Web Start) normale à partir du raccourci. Puis je relance l’applet dans le browser pour montrer que les deux peuvent fonctionner ensemble.
En plus du nouveau mode de déploiement, ce petit scénario montre comment on peut exécuter la même application aussi bien dans un browser que en dehors et ce sans rien changer au code de l’application, ni à rien d’autre du reste.

Maintenant comment ca marche tout ca …

Lire la suite

mercredi 28 mai 2008

Google Web Toolkit

GWT - Présentation du framework AJAX de Google.

Lire la suite

jeudi 22 mai 2008

Silverlight 2 et la sérialisation XML

J'entends régulièrement dire -- à tort -- que la sérialisation XML avec Silverlight 2 Beta 1 n'est pas possible, c'est pourquoi j'ai voulu faire ce petit article :)
Pour sérialiser vos objets en XML il suffit d'ajouter dans les références de votre projet l'assembly "System.Xml.Serialization":

Ensuite déclarez par exemple votre classe à serialiser de la manière suivante:

public class Test
{
    [XmlAttribute]
    public string Id { get; set; }
    public int Count { get; set; }
    public string Name { get; set; }
}

Seules contraintes: votre classe doit avoir au moins un constructeur par défaut (ou pas de constructeur du tout) et les propriétés à sérialiser doivent être accessibles en lecture/écriture (ces contraintes n'ont rien à voir avec Silverlight). Libre à vous d'utiliser tout l'armada de sérialisation XML classique (XmlAttribute, XmlIgnore, XmlRoot, etc.). Imaginons ensuite par exemple le code suivant:

public partial class Page : UserControl
{
    public Page()
    {
        InitializeComponent();

        var test = new Test { Id = "titi", Name = "toto", Count = 42 };
        string xml = Tools.XmlSerialize<Test>(test);
        Console.WriteLine(xml);
    }
}

Si on déclare la fameuse méthode de sérialisation de cette manière...

using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;

namespace Alti
{
    public static class Tools
    {
        public static string XmlSerialize<T>(T obj)
        {
            var s = new XmlSerializer(typeof(T));
            var stream = new MemoryStream();
            s.Serialize(stream, obj);
            stream.Position = 0;

            var buffer = new byte[stream.Length];
            stream.Read(buffer, 0, (int)stream.Length);

            var utf8 = new UTF8Encoding();
            return utf8.GetString(buffer, 0, buffer.Length);
        }
    }
}

...et qu'on prend la peine de lancer l'application, la magie opère :

<?xml version="1.0" encoding="utf-8" ?> 
<Test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="titi">
    <Count>42</Count> 
    <Name>toto</Name> 
</Test>

[EDIT] Si les namespaces vous irritent (comme moi), faites plutot:

var ns = new XmlSerializerNamespaces();
ns.Add(string.Empty, string.Empty);
s.Serialize(stream, obj, ns);

ce qui donne:

<?xml version="1.0" encoding="utf-8" ?> 
<Test Id="titi">
    <Count>42</Count> 
    <Name>toto</Name> 
</Test>

Hope this helps !

Aurélien

mardi 6 mai 2008

News JavaFX Script et Mobile

Pour JavaOne le site openJFX fait peau neuve et le site javafx.com est créé. Pour l’instant, Javafx.com contient une présentation de JavaFX, des vidéos de démos présentées à JavaOne et une preview du SDK JavaFX.
Pour avoir accès a la preview du SDK, il faut s’enregistrer et on doit vous recontacter rapidement…
Je viens de m’enregistrer…
Je vous raconterai la suite :)

Sinon, la release 1 du SDK pour le browser et le desktop sera disponible à l’automne 2008 et la release pour les périphériques mobiles (JavaFX mobile) au printemps 2009.

lundi 5 mai 2008

JavaFx Script et les animations

Dans un post précèdent Aurélien vous a parlé des animations avec Silverlight de Microsoft. Du coup j’ai laissé tomber mes autres exemples d’anim JavaFX Script en cours pour vous montrez comment on réalise la même chose en JavaFX Script et ce pour une application Stand Alone ou dans le browser et ce aussi bien sous Windows, Linux que Mac OS

Lire la suite

vendredi 2 mai 2008

[Paris JUG] Programme du prochain Paris Jug du 13 Mai

1. Productivité des développements Java 2. Maven à la demande

Lire la suite

mardi 29 avril 2008

Sortie des Power Tools pour Visual Studio 2008 Team Foundation Server

Microsoft a sortit l'édition de Mars des Power Tools pour TFS 2008. Au menu, un outil en ligne de commande (TFPT.EXE), des templates pour les work items, un outil de notification de build, des règles de check-in personnelles etc...

Les systèmes suivants sont supportés : Windows Server 2003 Service Pack 2, Windows Vista, Windows Vista Service Pack 1, Windows XP Service Pack 2. Le package d'installation a besoin de Team Foundation Server 2008 et de Visual Studio 2008 Team Explorer.

Une liste un peu plus détaillée des outils est consultable ici.

Sortie du training Kit pour .Net 3.5 Enhancements

Microsoft vient de sortir récemment le kit d'entrainement pour les enhancements du framework .NET dans sa version 3.5 Pour le moment, ce kit ne contient que le matériel pour le lab. Très prochainement, Microsoft va rajouter du matériel de formation : présentations, démos, screencast etc...

Ces labs couvrent les domaines suivants :

  • ADO.NET Data Services
  • ASP.NET MVC
  • ASP.NET Dynamic Data
  • ADO.NET Entity Framework
  • ASP.NET Ajax History
  • ASP.NET Silverlight Controls

Vous pouvez télécharger tout ceci à l'adresse suivante : .NET Framework 3.5 Enhancements Training Kit containing Labs, Demos and PPTs

Alti – Expertease

Crée en 2005, l’entité ALTI Expertease rassemble l’ensemble des experts et architectes du pôle technologies d’Alti.
Fort d'une trentaine de consultants, ALTI Expertease accompagne les clients d’Alti dans le choix et la mise en œuvre de technologies de plus en plus complexes.