Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Se préparer au “big shift” de la stratégie Microsoft

Tout le monde se souvient de cette petite phrase lâchée par Bob Muglia avant l’été 2011 “Our strategy with Silverlight has shifted”, ce qu’on traduirait par “notre stratégie à propos de Silverlight s’est déplacée”. Clair et nébuleux à la fois. La panique a envahi alors le monde Silverlight, malgré la V5 qui sortait prochainement, la question devenant “y-aura-t-il une V6 ?”. On le sait la réponse fut non. Mais je crois sincèrement que les vraies questions étaient ailleurs. Microsoft a “shifté” sa stratégie, globalement, pas seulement autour de SL. Quelques éléments de réflexion pour mieux comprendre Ce qui s'est passé. {Nota: ce billet est l'original de 2011 l'accroche a été actualisée car il garde tout son sens 10 ans après, ce qui suit date de 2011} Plus...

MEF et Silverlight (article à télécharger)

[new:30/09/2011]MEF fait partie de .NET 4.0 pour WPF et Silverlight 4 (et au-delà). C’est un fantastique système d’injection de dépendances, une forme d’Inversion de Contrôle, mais ce n’est pas tout, c’est un extraordinaire framework conçu pour simplifier l’extensibilité des applications. Cela valait bien un article (PDF de +70 pages) pour expliquer comment ça marche et comment en tirer le meilleur parti, notamment avec ou sans application de la pattern MVVM !Plus...

StringFormat se joue de votre culture !

[new:30/03/2011]Silverlight 4 a introduit le paramètre StringFormat dans la syntaxe du Binding. C’est une excellente chose et supprime le besoin de développer un convertisseur pour la moindre mise en forme de données. Toutefois il y a un petit bug... StringFormat ignore la culture de l’utilisateur et en bon ricain qu’il est, il considère que tout le monde parle la langue des cowboys...Plus...

#if versus Conditional

[new:15/02/2011]La compilation conditionnelle n’est pas une grande nouveauté, les #if sont utilisés sous cette forme ou d’autres dans de nombreux langages depuis des temps immémoriaux... Sous C# nous disposons d’un outil de plus, l’attribut “Contional” qui reste à ma grande surprise méconnu, en tout cas fort peu utilisé. Réparons cette injustice et découvrons rapidement cet outil.Plus...

Les events : le talon d'Achille de .NET...

[new:31/01/2011]Les events (gestion d’évènements) sont d’une grande puissance et existent dans presque tous les langages récents (et même quelques un plus anciens). Ils autorisent un modèle de programmation évènementiel qui se calque bien sur la façon dont sont gérées les IHM des OS modernes (pilotés par l’utilisateur et ses clics souris). Hélas ce concept réutilisé par le Framework .NET ne lui va pas très bien. Pire, dans un environnement managé (avec Garbage Collector) les évènements sont une source inépuisable de pertes mémoire !Plus...

Silverlight : Contrainte de propriétés (Coercion)

[new:20/11/2010]La contrainte des valeurs est un mécanisme essentiel permettant à la valeur d'une propriété de rester confiner dans des bornes fixées par l'objet ou par l'utilisateur. C'est en réalité un des éléments de base permettant de respecter le paradigme de la programmation objet : l'encapsulation qui veut qu'un objet se protège de toute action externe pouvant le déstabiliser. Hélas, Silverlight n'offre pas les mécanismes que WPF propose pour les propriétés de dépendances. Nous allons voir comment régler cet épineux problème.Plus...

PropertyChanged sur les indexeurs

[new:16/09/2010]Voici un court sujet pour cette rentrée (et surtout pour me remettre du pavé de 92 pages sur MVVM et le toolkit MVVM Light !). En effet, ce bon Anders Hejlsberg, en repompant certaines bonnes idées de Delphi qu’il avait créé quelques années avant C#, a oublié certaines choses pourtant utiles comme les indexeurs nommés. En C# un seul indexeur par classe et pas de nom ! Choix curieux, étrange, peu judicieux, et au bout de tant de temps jamais modifié. Bref un seul indexeur, et sans nom. Mais lors d’un Binding WPF ou Silverlight (donc Xaml) comment diable prévenir les objets bindés que les valeurs de l’indexeur ont changé (quand ce cas se présente) ?Plus...

Parallel FX, P-Linq et maintenant les Reactive Extensions…

[new:10/8/2010]Les Parallel Extensions, connues jusqu’à lors sous le nom de Parallel Framework Extensions (ou PFX) forment une librairie permettant de faciliter la construction d’algorithmes parallèles (multi-thread) tirant partie des machines multi-cœur. Je vous en avais déjà parlé, ainsi que de P-Linq les extensions parallèles pour LINQ. Deux choses importantes à savoir aujourd’hui : les Parallel Extensions font partie de .NET 4 (VS 2010, Silverlight…) et une nouvelle librairie arrive, les Reactive Extensions !Plus...

Silverlight 4 libère le chemin (Path n’est plus sealed)

[new:27/06/2010]Parmi toutes les choses qui ont changé et toutes les nouveautés de Silverlight 4, forcément il y en a qui passent plus inaperçues. Des petits riens qui parfois peuvent changer la vie du développeur. Ici c’est le simple mot “sealed” qui a été supprimé dans le code source de la classe Path. Un truc insignifiant. Mais riche en perspectives… Plus...