
Microsoft se penche sur les avantages de cette approche
.NET Core 3.0 est disponible depuis la fin du mois de septembre de l’année qui tire à sa fin. Lorsque Microsoft a annoncé sa disponibilité future à mi-parcours de l’année 2018, c’était avec une nouvelle de taille pour les développeurs : la variante open source et multiplateforme de .Net Framework permettra de développer des applications de bureau Windows. En fait, l’entreprise répondait à des desiderata de ces derniers en s’écartant de sa posture d’origine, à savoir : mettre de côté les technologies du .Net Framework liées à Windows, ce, pour permettre une ouverture à d’autres plateformes dont Linux et macOS. De façon brossée, l’ouverture au développement d’applications de bureau Windows avec .NET Core 3.0 repose sur Windows Forms et Windows Presentation Foundation (WPF) dont Microsoft a effectué le portage.
Dans un billet de blog paru il y a peu, la firme livre des raisons additionnelles de son ouverture aux requêtes des développeurs. En sus, elle se penche sur les avantages de s’appuyer sur .NET Core 3.0 pour développer des applications de bureau Windows.
À mi-parcours du mois précédent, l’équipe .NET Core 3.0 de Microsoft a annoncé qu'elle a terminé avec le projet de portage de l'API .NET Framework sur la plateforme open source.
« À partir de maintenant, nous ne prévoyons plus de porter les API .NET Framework vers .NET Core. .NET Core 3.0 met un terme au projet de portage de l’API .Net Framework. Nous avons commencé dans .NET Core 1.0 avec un jeu d'API très minimal qui n'incluait que près de 18 000 des API de .NET Framework. Avec .NET Standard 2.0, nous avons essayé de rendre beaucoup plus viable le partage de code entre .NET Framework, .NET Core 3.0 et Xamarin, ce qui a permis d'étendre à environ 38 000 le jeu d'API .NET Framework disponibles dans .NET Core 2.0. Nous avons également mis en place le pack de compatibilité Windows, ce qui a augmenté les API .NET Core avec 21 000 unités ; résultat : près de 60 000 API supplémentaires. Dans .NET Core 3.0, nous avons ajouté WPF et WinForms, ce qui a augmenté le nombre d'API .NET Framework portées à .NET Core à plus de 120 000, ce qui représente plus de la moitié des API Framework. Il est également utile de souligner que nous avons ajouté environ 62 000 API à .NET Core qui n'existent pas dans .NET Framework. Si nous comparons les nombres totaux d'API, .NET Core possède environ 80 % des API de .NET Framework. », écrivait un responsable de la firme de Redmond.
La firme de Redmond va vers un futur centré sur .NET Core 3. En fait, les développements en cours marquent l’arrêt de l’évolution du .Net Framework rendu à la version 4.8. Ce dernier continuera néanmoins de bénéficier de prise en charge, mais la firme de Redmond se veut claire : elle axe ses travaux sur l’intégration de nouvelles technologies au sein du .NET Core.
Sur les bases posées avec .NET Core 3, Microsoft entend produire un environnement d’exécution .Net unique et une infrastructure partout. En d’autres termes, Microsoft va vers un seul .NET à l’avenir. Ce dernier pourra être utilisé pour cibler plusieurs (sinon toutes) plateformes : Windows, Linux, MacOS, iOS, Android, tvOS, watchOS et WebAssembly, etc. Ce futur se nomme .NET 5 – la prochaine version de .NET Core 3. La première préversion de .NET 5 sera disponible dans la première moitié de l’année à venir. La version finale est attendue en novembre 2020. Microsoft prévoit ensuite de publier une version majeure de .NET une fois par an, ce, tous les mois de novembre.
C’est donc en quelque sorte pour apporter des améliorations à Windows Forms et Windows Presentation Foundation (WPF) que Microsoft a effectué leurs portages respectifs vers .NET Core.
« Lors du développement d'applications de bureau, vous ne remarquerez pas beaucoup de différence entre les versions .NET Framework et .NET Core de WPF et Windows Forms. Une partie de notre effort consistait à fournir une parité fonctionnelle entre ces plateformes dans le domaine des applications de bureau et à améliorer l'expérience .NET Core à l'avenir », écrit Microsoft.
C’est aussi pour permettre aux développeurs d’applications de bureau Windows de profiter des fonctionnalités de .Net Core susceptibles d’améliorer leurs applications que la firme s’est lancée dans cette voie.
« Pour améliorer les piles de développement d'applications de bureau Windows et permettre aux développeurs .Net de bénéficier de toutes les mises à jour de l'avenir, nous avons apporté Windows Forms et WPF à .NET Core. Ils resteront toujours des technologies Windows uniquement parce qu'il y a des dépendances étroitement liées aux API Windows. Mais .NET Core, en plus d'être multiplateforme, possède de nombreuses autres fonctionnalités qui peuvent améliorer les applications de bureau », ajoute l’entreprise.
Retour sur les avantages de l’approche
En présentant .NET Core il y a un an, l’éditeur a listé un certain nombre d’avantages à s’appuyer sur la version 3 pour le développement d’applications de bureau :
- versions côte à côte de .NET Core qui supportent Winforms et WPF : Avant le lancement de cette version, il ne pouvait y avoir qu’une seule version de .NET Framework sur une machine. Ce qui veut dire qu’avec l’installation d’une mise à jour de .NET Framework via Patch Tuesday ou par des mises à jour de Windows, il y a un risque qu’un correctif de sécurité, un correctif de bogue ou une nouvelle API casse le fonctionnement d’applications sur la machine. Avec .NET Core, Microsoft entend résoudre ce problème en permettant la coexistence de multiples versions de .NET Core sur la même machine. Les applications peuvent dès lors être verrouillées à une version spécifique et passées à une autre version après avoir été testées ;
- intégration de .NET Core directement dans une application : Puisqu’une seule version de .NET Framework pouvait être installée sur une machine, il était impératif d’installer la dernière version pour tirer avantage d’une nouvelle fonctionnalité du framework ou du langage. Avec .NET Core, il est possible d’intégrer le framework à une application. Cela permet de tirer parti de la dernière version, fonctionnalités et API sans avoir à attendre l’installation du framework ;
- bénéfice des fonctionnalités de .NET Core : .NET Core constitue une version évolutive et open source de .NET. Désormais les applications WinForms et WPF sur Windows peuvent tirer profit des dernières fonctionnalités de .NET Core, qui incluent aussi plus de correctifs essentiels pour un support meilleur d’écrans à haute résolution.
Dans sa dernière note d’information, la firme étend la liste :
- Tailles d’exécutables plus petites : Cette possibilité offerte par .NET Core 3 s’appuie sur une fonctionnalité d’analyse de code dénommé Linker. Elle inclut à une application .NET autonome uniquement les portions de .NET Core qui lui sont nécessaires ;
- amélioration des performances du runtime : NET Core offre de nombreuses optimisations de performance par rapport à .NET Framework. De façon plus précise, les applications de bureau qui dépendent de façon importante des E/S de fichiers, du réseau et de l'exploitation des bases de données verront probablement leur performance s'améliorer pour ces scénarios. Certains domaines dans lesquels vous ne remarquerez peut-être pas beaucoup de changements sont les performances de rendu de l'interface utilisateur ou les performances de démarrage de l'application.
[B][SIZE=2]Dernier état[/size=2]...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.