← blog

21 juillet 2026 · 4 min de lecture

Présentation de Majorsilence.Forms

Cette page est une traduction. En cas de divergence, la version anglaise fait foi. English

Sortir une application WinForms du bureau Windows a toujours signifié, jusqu’ici, une réécriture complète : XAML, une restructuration MVVM imposée, ou le web. C’est coûteux, risqué, et cela jette des années de logique métier et d’expérience utilisateur qui fonctionnent, pour un code qui n’a souvent besoin que d’un coup de peinture neuve.

Majorsilence.Forms adopte une autre approche : il reproduit la surface d’API de WinForms — les Form, les contrôles, les gestionnaires d’événements, et même le code-behind *.Designer.cs — et fournit une couche de compatibilité pour que les formulaires et contrôles existants migrent avec bien moins de remous. Le modèle de programmation ne change pas ; c’est l’endroit où il s’exécute qui change.

Comment c’est construit

Chaque contrôle est dessiné avec SkiaSharp dans une SKSurface, au-dessus d’un backend hôte interchangeable :

L’assembly cœur Majorsilence.Forms ne référence aucun toolkit de fenêtrage — uniquement SkiaSharp. Les backends sont des assemblies séparés qui se branchent sur deux petites interfaces, IPlatformBackend et IWindowBackend. C’est cette couture qui permet à la même application, à l’identique, de cibler Avalonia aujourd’hui et Uno demain sans toucher au code applicatif. Pour en savoir plus, voir Backends de plateforme.

À qui cela s’adresse

Si vous disposez d’une base de code WinForms aujourd’hui limitée à Windows et que vous voulez garder l’élan — réutiliser vos contrôles, les réflexes de votre équipe, votre logique métier — plutôt que de vous lancer dans une réécriture de plusieurs années, c’est pour vous que ceci a été conçu.

Le projet en est à ses débuts : l’API se stabilise et tous les recoins de WinForms ne sont pas encore couverts. Il convient déjà très bien aux nouvelles applications métier multiplateformes, et à la migration de vraies applications en production si vous figez la version. Consultez la matrice de compatibilité pour savoir exactement ce qui est implémenté et ce qui n’est encore qu’un stub aujourd’hui.

Essayez-le

dotnet new --install MajorsilenceForms.Templates
dotnet new majorsilenceforms
dotnet run

Ou plongez dans une vraie application — samples/Explorer est un clone complet de l’Explorateur Windows, et samples/Outlaw un clone d’Outlook ; tous deux tournent sans modification sur le même jeu de contrôles, sur toutes les plateformes.

Voir Premiers pas pour générer votre première application.