Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

Etendre WinRT C#/Xaml : un tour sur CodePlex

[new:15/10/2012]WinRT est tellement jeune qu’officiellement sa coquille, Windows 8, n’est pas encore sur le marché… Forcément il manque des choses qui viendront avec le temps. Je vous ai présenté dernièrement WCF Data Services 5 qui fait renaître les Ria Services de Silverlight, mais on peut déjà trouver beaucoup d’autres choses. Petit tour sur CodePlex (une sorte de remake de “mon petit marché égoïste” paru en 2010).

Les frameworks

Caliburn Micro, framework complet de type MVVM, MVP et MVC. Adapté aujourd’hui à WinRT, c’est une alternative intéressante à Prism dont la version WinRT est en cours de préparation (j’y travaille en tant que membre du Developer Council).
http://caliburnmicro.codeplex.com/

MetroIOC. Une librairie assez simple fournissant une gestion d’injection de dépendances. Si on ne souhaite pas utiliser l’IoC intégré dans la plupart des frameworks MVVM, c’est une option intéressante.
http://metroioc.codeplex.com/

OKRA. J’en ai déjà parlé, il s’agit d’un framework MVVM WinRT qui utilise MEF et dont il faudra suivre les évolutions. La dernière Beta mérite de s’y interesser.
http://okra.codeplex.com/

Style MVVM. Un autre framework MVVM assez simple mais avec des atouts certains. J’en proposerai certainement un tour plus complet dans ces colonnes, tout comme OKRA.
http://stylemvvm.codeplex.com/

MVVM Light. Je l’ai présenté dans un très long article, MVVM Light reste “la” librairie MVVM la plus pratique et la plus simple à mettre en oeuvre, portable sur toutes les plateformes Microsoft. La version 4 apporte des changements intéressants, comme l’utilisation d’un moteur d’IoC pour gérer le ViewModelLocator, et autres améliorations qui permettent à MVVM Light de rester dans la course.
http://mvvmlight.codeplex.com/

Pattern & Practice Unity. Unity 3.0 pour .NET 4.5 et WinRT. Moteur de gestion des IoC très performant et bien étudié.
http://unity.codeplex.com/

Les extensions

WinRT Xaml Toolkit. Extensions très intéressantes un peu dans l’esprit du Toolkit Silverlight mais n’en est pas une copie ni une adaptation.
http://jupitertoolkit.codeplex.com/

Generic Object Storage Helper. Propose une classe très pratique simplifiant la persistance des objets, par exemple l’état de l’application en cas de tombstoning.
http://winrtstoragehelper.codeplex.com/

SqlLite for WinRT. Donne accès de façon très simple à la base de données SQL Lite. Peut être utile pour gérer des données sans avoir à installer une base externe et mettre en place une gestion de services WCF.
http://sqlwinrt.codeplex.com/

WinRT Behaviors. Les Behaviors ne sont pas supportés “out of the box” par WinRT ce qui est bien dommage. Cette librairie tente de combler cette lacune. Peut s’avérer très pratique lors du portage d’un code Silverlight utilisant des behaviors.
http://winrtbehaviors.codeplex.com/

WinRT Clipboard. Simplifie l’accès au presse-papiers et son partage avec l’OS et les autres applications.
http://winrtclipboard.codeplex.com/

Physics Helper Xaml. Utilise le moteur Farseer bien connu et rodé. C’est un portage de la version Silverlight qui était notée 5 étoiles. A regarder de plus près pour ceux qui veulent utiliser un moteur physique sans entrer dans la programmation graphique des jeux, donc en restant en Xaml.
http://physicshelperxaml.codeplex.com/

JSON.Net. Portage WinRT de la librairie .NET du même nom. Un code éprouvé facilitant le traitement des flux JSON.
http://json.codeplex.com/

Elysium. Toolbox qui permet de donner le look Mordern UI aux applications WPF.
http://elysium.codeplex.com/

Les outils

WinRT debug console. Une petite console qui fourni quelques services bien pratiques lors du debug d’applications Windows 8.
http://winrt.codeplex.com/

Conclusion

Un petit tour de marché dont on ne revient pas les mains vides… Beaucoup de choses méritent d’accéder à une plus grande maturité et sont donc à suivre. J’ai pour l’instant zappé de ma liste les projets qui me paraissent trop jeunes et non aboutis. Mais pour un début, on retrouve déjà l’essentiel comme tous les grands frameworks de type MVVM et pas mal de petites extensions pratiques.

A vos claviers !

Et Stay Tuned !

Faites des heureux, PARTAGEZ l'article !