.NET Core - Going Wild et Open Source. Microsoft, qu'est-ce qui vous a pris si longtemps ? !

Publié: 2022-03-11

« Quelque chose de mystérieux se forme, naît dans le vide silencieux. Attendant seul et immobile, il est immobile, mais en mouvement constant… »

Vraiment, deux des plus grands événements de l'histoire de l'humanité se sont succédé :

  • La mission Rosetta de l'ESA a fait atterrir en douceur sa sonde Philae sur une comète, la première fois dans l'histoire qu'un exploit aussi extraordinaire a été réalisé.

  • Microsoft Open Source .NET

Le premier événement est un grand pas pour l'humanité, et le second est encore plus grand pour Microsoft !

La mission Rosetta prendra sa place dans les livres d'histoire et restera dans les mémoires aussi souvent que nous nous souviendrons de Laika. Il a été imaginé et planifié avec soin pendant une décennie, a poussé l'humanité un peu plus loin et a montré que la technologie développée il y a une décennie peut encore faire des choses incroyables.

Le deuxième événement a été une surprise pour beaucoup. Il n'y a pas eu beaucoup de publicité, et je suis sûr que chaque détail de son annonce n'était pas prévu il y a dix ans ; mais il était évident que Microsoft avait emprunté cette voie il y a quelque temps, et le noyau .NET n'est pas la première chose qu'ils ont poussée vers l'open source (Roslyn).

.NET est-il open source ? Enfin, le .NET multiplateforme que nous attendions.

Alors, l'humanité avait-elle vraiment besoin d'une sonde sur une comète ? Peut-être pas, mais c'est génial qu'il ait atterri ! Microsoft avait-il besoin d'une épiphanie pour commencer à ouvrir le noyau .NET ? Oui! Ils en avaient besoin il y a plus d'une décennie !

Qu'est-ce qui a changé dans l'une des plus grandes sociétés de développement de logiciels au monde ? Qu'est-ce qui les a poussés à emprunter la voie de l'OSI ?

Selon le blog .NET Framework, il y a deux raisons à cela :

  • Jetez les bases d'un .NET multiplateforme
  • Construire et tirer parti d'un écosystème plus fort

Mais pourquoi Microsoft voudrait-il aider les développeurs à créer des logiciels .NET multiplateformes ? Cela va à l'encontre de tout ce qu'ils ont fait auparavant. Microsoft pousse ses propres systèmes d'infrastructure depuis des années. Linux et Mac étaient des ennemis qu'il fallait vaincre, pas des alliés. Qu'est-ce que tout cela?

Quelle que soit leur véritable motivation, les développeurs en tirent le meilleur parti. Je tiens à remercier Microsoft d'avoir franchi cette étape. Mieux vaut tard que jamais!

L'impact à long terme de la technologie open source de Microsoft sera énorme. Le véritable .NET multiplateforme aura un impact direct sur les coûts d'hébergement, de licence et de maintenance. Cela simplifiera la vente d'applications .NET d'une ampleur que je ne peux même pas imaginer.

J'ai passé une grande partie de ma carrière professionnelle à écrire du code. Mon premier amour était Borland Pascal, et "Blue Screen" était quelque chose que je regardais avec beaucoup de respect à l'époque. J'ai utilisé une variété de plates-formes et de langages de développement par la suite, mais soyons honnêtes - depuis que Microsoft a publié .NET, Visual Studio est le meilleur environnement de développement disponible aujourd'hui. Il s'agit d'un guichet unique pour tout ce dont un développeur ou une équipe peut avoir besoin pour créer n'importe quel type d'application. Il est étroitement lié aux grandes fonctionnalités des compilateurs .NET, et chaque nouvelle version de Visual Studio ressemble à un produit qui ne pourrait pas être étendu davantage ; cependant, Microsoft réussit à surprendre continuellement en apportant de nouvelles fonctionnalités intéressantes avec chaque nouvelle version de Visual Studio.

La création de logiciels est un processus formidable, permettant à chaque développeur que j'ai rencontré de se sentir créatif, inventif et épanoui. Mais avez-vous déjà essayé de vendre ou de soutenir des processus de vente ? Je ne suis pas sûr que tous les vendeurs puissent dire la même chose que les développeurs de logiciels pour leur part de l'équation. Vendre pour une société de développement de logiciels est hideux - vous devez vous soucier de nombreux facteurs qui n'ont rien à voir avec le développement de logiciels proprement dit. Les personnes travaillant dans le service des ventes doivent prouver/convaincre les clients que le produit/service vendu est le meilleur que les clients peuvent obtenir pour le prix à payer ; par conséquent, la réduction des coûts de développement et de maintenance des logiciels est toujours cruciale. Le monde réel n'arrête jamais de calculer la valeur par rapport au coût.

D'un autre côté, créer une entreprise n'a jamais été aussi facile. Si vous avez une bonne idée, il n'est pas trop difficile de lever des fonds pour créer "quelque chose" (le dernier nom pour "quelque chose" est Minimal Viable Product, mais qui sera probablement mis à jour à l'avenir), montrer "quelque chose" au monde, obtenez des commentaires positifs, obtenez plus de financement et répétez jusqu'à ce que vous commenciez à gagner de l'argent, vendiez votre entreprise ou échouiez.

Quel est le moyen le plus simple de réduire le coût d'un produit logiciel ? Eh bien, le développement est quelque chose que vous devez payer, et dans la plupart des cas, vous ne paierez que le taux horaire de vos développeurs, quelle que soit la plate-forme de développement qu'ils utilisent ; le moyen le plus simple de réduire les coûts consiste donc à déployer votre logiciel dans un environnement qui ne nécessite pas de licence supplémentaire. C'est là que Microsoft a échoué encore et encore ! Nous pourrions avoir des débats animés sur les performances, la qualité des logiciels, l'évolutivité, etc., mais il est facile de voir que la plate-forme .NET peut facilement faire face à n'importe quel défi technique qui lui est lancé. Dans de nombreux cas, je pense qu'il montre sa supériorité sur les autres plates-formes ; mais je ne gagne pas souvent les débats sur le déploiement et les licences d'infrastructure.

Le marché a commencé à éloigner les développeurs de la plate-forme de développement Microsoft, et oui, je suis l'un de ces développeurs. J'ai adopté Node.js comme plate-forme principale de back-end, indépendamment du fait qu'il n'est pas encore assez mature pour faire face à tout ce dont j'ai besoin. J'adore WebStorm et j'apprécie l'excellent travail réalisé par JetBrains, mais j'ai encore plus aimé Visual Studio 2013. Oui, je suis conscient que je peux écrire des applications Node.js dans VS ! Mais lorsque vous passez de C# à JavaScript, de SQL Server à PostgreSQL, d'IIS à Apache, pourquoi s'embêter à utiliser des PC Windows ?

J'étais un véritable évangéliste de Microsoft, même avant la sortie de .NET et certainement avant que .NET ne soit open source et multiplateforme. Mais tout cela est mort quand ils nous ont enlevé (doigt) sur Skype. J'ai toujours aimé créer des applications pour les plates-formes Windows. J'ai passé beaucoup de temps à apprendre des trucs et astuces du métier, et je crois que j'étais très bon dans ce domaine. Cependant, le marché du développement de logiciels a beaucoup changé au cours de la dernière décennie. Les startups fleurissent partout et chaque nouveau client recherche la solution la plus rentable. Microsoft n'a pas réussi à suivre le rythme de ce nouveau marché, et je ne suis qu'un des nombreux développeurs Microsoft qui ont remplacé son ordinateur portable Windows par un MacBook. Microsoft a finalement réalisé que nous donner la possibilité de déployer nos applications sur des plates-formes open source maintiendra d'énormes communautés de développement Microsoft à utiliser leurs outils et leur apportera éventuellement plus de clients.

Microsoft a fait un petit pas vers un grand changement, et ils ont les meilleurs outils de développement et une grande communauté de développement. Que se passerait-il si nous recevions un système d'exploitation open source en plus d'un excellent IDE ? « Même pas moi j'ose calculer les cotes ».