En juin 2016, Microsoft a lancé. NET Core, une plateforme logicielle en code source ouvert, disponible sur Windows, Linux et macOS, comme successeur du. NET Framework propriétaire de Windows.

Toutefois, de nombreuses interfaces de programmation (API) de Windows étaient indisponibles sur. NET Core.

Il fut donc entrepris de les porter sur. NET Core.

Il y a trois semaines,. NET Core 3.0 a été lancé.

Il y a deux jours, le chef de programme Immo Landswerth a annoncé que cette version mettait fin à l’effort de portage des APIs, estimant que tout ce qui était nécessaire pour des tâches modernes était déjà présent. Et que maintenant, Microsoft souhaite concentrer ses ressources sur les nouvelles technologies.

Tous les problèmes rapportés sur GitHub avec l’étiquette « portage sur Core » sont donc fermés.

Pourtant,. NET FX 4.8, le cadriciel de Windows, compte eviron 240 000 APIs, alors que. NET Core 3.0 n’en compte que 190 000, dont 62 000 qui n’existaient pas dans. NET Framework. Cependant, Landwerth estime que près de 80 % de la « surface API » du. NET Framework est couverte par. NET Core 3.0.

Les entreprises qui utilisent quelques-unes des 112 000 APIs manquantes (ou environ 48 000 d’après Landwerth) devront se débrouiller seules.

Microsoft examine la possibilité de publier une plus grande partie du code du. NET Framework sous une licence MIT, afin que le public puisse créer des projets open source sur les parties que. NET Core n’a pas l’intention de porter.

Comme c’est le cas de deux projets de portage de Windows Workflow Foundation et de Windows Communication Framework, vers respectivement CoreWF et CoreWCF.

Il est fort probable que des entreprises décident de ne pas convertir leurs applications d’affaires existantes dans. NET Core 3.0, et resteront sur. NET Framework tant que cela sera possible.

L’un des avantages de. NET Core, en plus de la portabilité des applications sur trois plateformes différences, est qu’il est possible de faire tourner plusieurs de ses versions sur la même machine/le même serveur, et même à côté du. NET Framework de Windows, sans que cela ne pose de problème.

On peut donc imaginer des applications antérieures basées sur le. NET Framework de Windows tourner en même temps que des applications plus modernes. NET Core, sur le même serveur.

Une autre solution moderne de cohabitation est bien sûr les applications en conteneurs.