Dot.Blog

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

Enfin ! Vers un .NET unique sur toutes les plateformes !

On en rêvait, cela arrive enfin… Un seul .NET pour tous les projets, modulaire et conçu pour l’Open Source. Bon, comme on dit “haters gonna hate” mais pour nous c’est un progrès énorme…

Balayons le chemin

Oui bien sûr, les haters vont détester, ils trouverons à redire, parlerons de valse hésitation ou d’atermoiements sans fin. Il est vrai que les blessures de l’époque Sinofsky sont difficiles à cicatriser, WinRT qui devait goinfrer le monde en transformant les PC en grosses tablettes, la mort de .NET voire de C# annoncée à grands coups de schémas en a traumatisé plus d’un… Mais entre nous, rien de tout cela n’a jamais pris et Microsoft a mangé son chapeau depuis, petit bout par petit bout, n’avouant jamais ses errances mais agissant clairement pour les effacer, comme les tuiles de Windows, devenant d’unique menu révolutionnaire et obligatoire un simple gadget dans le menu démarrer pour quasi disparaître. Voilà, les erreurs arrivent toujours quand on croit en de faux gourous. Mais c’est loin tout ça !

Car si Microsoft ne brille pas par une communication exemplaire et lisible, ils disposent en revanche de ressources capables de rebondir et de faire de grandes choses. Le commun des mortels s’arrêtera peut-être aux erreurs de façade mais le spécialiste saura goûter les progrès énormes qui ont été faits souvent dans l’ombre.

La mort de .NET Framework c’est maintenant

Il fallait que cela arrive un jour, c’est maintenant.

Le .NET Framework est cette plateforme merveilleuse qui nous a donné tant et tant d’avancées, de possibilités incroyables depuis des années. Mais voilà, elle est intimement liée à Windows et à des technos propriétaires. Les versions différentes créent une fragmentation néfaste qui plus est.

Ce n’est plus du tout l’axe de développement de Microsoft qui s’ouvre depuis des années à l’Open Source et au cross-plateforme.

Comme il est bien difficile de tout réécrire d’un coup .NET Framework a continué son chemin, évoluant régulièrement sans jamais nous lâcher sur le bord de la route. Merci Microsoft ne pas avoir refait certaines erreurs du passé.

Mais c’est avec une autre finalité en tête qu’œuvrait Microsoft…

La création de Core

En effet Microsoft a lancé depuis quelques années un autre jeu d’API appelé .NET CORE. Open Source, modulaire, et répondant aux exigences cross-plateformes du futur.

Mais comme je le disais, impossible de forcer la réécriture immédiate de tous les produits .NET Framework en CORE d’autant que ce dernier demandait quelques années de maturation avant de prétendre remplacer tout le monde…

L’intermittent du spectacle .NET Standard

Idée de génie s’il en est, Microsoft a créé une gigantesque Interface appelée .NET Standard. Les produits .NET Framework et les produits CORE s’engageant à supporter, indépendamment de leur propre API, ce lot commun qu’est .NET Standard. Facilitant dans la période de transition le portage du code, l’interopérabilité des systèmes, favorisant la croissance de solutions nouvelles sans tout remettre en cause et sans gêner la progression qui s’opérait derrière la scène…

Mais .NET Standard n’était qu’une étape vers la fusion finale. Un moyen de donner l’impression que cette fusion était déjà faite sans obliger sa réalisation “pour de vrai” dans les produits qui ne faisaient que faire allégeance à une simple Interface.

Idée brillante car ne coûtant pas très cher à mettre en place tout en offrant presque toutes les fonctionnalités d’un monde .NET unifié, ce n’était qu’une Interface, une simple interface et rien en dessous ne changeait vraiment.

La fin de .NET Framework, .NET Standard et .NET Core !

Et oui ! c’est vers cette fin, mais une fin heureuse, que nous allons !

Nous avons vu pourquoi .NET Framework était en bout de course, nous avons vu pourquoi .NET Standard n’était qu’un pansement temporaire. Mais Core ? Lui aussi ne serait qu’une étape ?

Oui et non.

Le futur .NET 5

En effet, CORE 3 marque la fin de .NET Framework (en terme d’évolution et à plus long terme en terme de support). CORE 3 est une étape essentielle. Sa maturité lui permet de s’imposer comme seule API complète répondant à tous les critères : Open Source, Cross-plateforme, universalité, modularité, et partage de code etc.

Mais CORE 3 n’aura fait que préparer le terrain pour l’étape ultime… .NET 5

.NET 5 va devenir LA plateforme unifiée pour TOUS les produits Microsoft. Disponible à partir de début 2020, la finale est attendue pour novembre 2020 avec un rythme de mise à jour annuel tous les mois de novembre…

One Runtime To Rule Them All

Vous pouvez regarder cette présentation de .NET 5 qui pourra vous en dire un peu plus si vous n’avez pas tout capté :

Conclusion

Microsoft sait se planter, mais Microsoft sait aussi avoir des traits de génie… C’est le paradoxe de cette société parfois repoussante mais souvent attrayante…

C’est en se plantant avec son Java que Microsoft donna naissance au fabuleux C#, c’est en se plantant royalement avec Windows 8 que Microsoft nous a donné un Windows 10 performant avec son beau bureau classique, C’est en abandonnant l’universalité “maison” de Silverlight qu’une universalité horizontale et cross-plateforme a pu naître avec le rachat de Xamarin et son développement… C’est en essuyant les erreurs de Windows Phone que nous allons avoir Windows Duo sous Android…

La comparaison s’arrête là car .NET Framework n’est pas à franchement parlé une erreur, c’est un vif succès au contraire ! Mais tout de même, c’est en subissant la souffrance de Windows 8 et WinRT qu’il aura tout de même fallu passer pour que naisse CORE, Xamarin, .Net Standard… Et donc bientôt .NET 5 l’unique, la seule API totalement unifiée pour tous les produits sous Windows mais aussi Linux, Mac OS, iOS, Android, tvOS, watchOS, WebAssembly et d’autres ! Un petit côté maso chez MS que le Marquis aurait certainement apprécié… Le fouet pour atteindre la jouissance… Tout un programme ! Winking smile

L’avenir sera intéressant comme toujours avec Microsoft, et un peu aussi grâce à Dot.Blog (et Dot.Vlog sur YouTube !) alors…

Stay Tuned !

blog comments powered by Disqus