Huit raisons pour lesquelles Microsoft Stack est toujours un choix viable
Publié: 2022-03-11La vie était belle pour les développeurs Microsoft il y a 10 ans. Les entreprises étaient satisfaites de s'adresser à 100 % à Microsoft pour leurs projets de développement. Avec ASP.NET sur le frontend, .NET middle-tier et SQL Server sur le backend, les choses ont très bien fonctionné pour la plupart. Quand ils ne l'ont pas fait, les développeurs ont simplement accepté cela comme quelque chose qui venait avec le territoire. Microsoft dirigeait tout sauf le spectacle. Puis, à la fin de la dernière décennie, le statut de gorille de 800 livres de Microsoft a commencé à se défaire. Peut-être était-ce dû à l'introduction de l'iPhone et à Microsoft qui a raté le passage au mobile, ou peut-être était-ce à cause de la prolifération de projets open source, mais les choses ont changé, et aujourd'hui, ces mêmes entreprises doivent être persuadées qu'opter pour Microsoft Stack est une bonne idée. Cet article présente huit raisons en faveur du maintien de la pile logicielle Microsoft.
Raison #1 : .NET est toujours l'un des meilleurs
Introduit il y a plus de 10 ans, .NET Framework est riche en fonctionnalités et testé de manière approfondie. Alors qu'il était courant de devoir combiner le développement natif avec du code managé au début de .NET, la grande majorité des tâches de développement sont aujourd'hui prises en charge immédiatement. Même des entreprises telles qu'Oracle ont publié des composants qui sont à 100 % du code géré .NET (c'est-à-dire le pilote géré ODP.NET) pour s'interfacer avec leurs produits. L'API .NET est cohérente, bien documentée et utilisée par des millions de personnes.
La base de connaissances disponible via MSDN, StackOverflow et des milliers de forums et de blogs est énorme. Au cours de mes années de développement en .NET, je ne me souviens pas d'un cas où je serais resté bloqué longtemps sur un bogue de framework ; à chaque fois, quelqu'un avait déjà expérimenté, recherché et posté une réponse, pas toujours la réponse que j'espérais, mais quand même quelque chose qui m'a fait avancer. Avec la prochaine version 2015, .NET Core sera open source et disponible sur les systèmes autres que Windows.
Raison #2 : ASP.NET a évolué
En repensant à la pile Web traditionnelle de Microsoft d'il y a 10 ans, il est intéressant de voir quelles parties ont survécu à l'épreuve du temps et quelles parties ont disparu. Alors que le back-end de la pile Microsoft est resté à peu près inchangé (nous utilisons toujours le même ensemble de modèles et de composants, tels que Dependency Injection, Tasks, Linq, EF ou ADO), le front-end, la pièce ASP.NET, a vu un changement fondamental de "faites-le à la manière de Microsoft" (c'est-à-dire Web Forms) à "faites-le à votre façon et utilisez ASP.NET comme plate-forme". Aujourd'hui, ASP.NET est un framework basé sur MVC doté d'une infrastructure robuste pour l'authentification, le regroupement et le routage qui s'intègre à de nombreuses technologies non Microsoft telles que Bootstrap et AngularJS. Les sites ASP.NET sont beaux sur un large éventail de facteurs de forme, des téléphones aux ordinateurs de bureau, et ses capacités d'API Web facilitent l'exposition des services Web. Le framework est open-source depuis plusieurs années, donc si vous êtes bloqué sur un problème, la source est disponible sur GitHub. ASP.NET a changé, et changé pour le mieux.
Raison #3 : Simplicité de l'API Web et puissance de WCF
Ma citation préférée de tous les temps est d'Alan Kay qui a dit : « Les choses simples devraient être simples ; les choses complexes devraient être possibles ». Lorsque Windows Communication Foundation (WCF) est sorti pour la première fois en 2006, c'était tout sauf simple ; les comportements, les points de terminaison et les liaisons étaient écrasants. Ainsi, Microsoft a publié Web API, un cadre facile à utiliser qui fait de l'exposition des services Web HTTP un jeu d'enfant. Avec quelques lignes de configuration, votre API se transforme en un service Web sécurisé et « aux normes de l'industrie ».
Si votre cas d'utilisation ne correspond pas au moule "standard" et que vous avez besoin d'un contrôle total sur la façon dont votre API est exposée sur le fil, vous pouvez toujours vous rabattre sur WCF. Avec la myriade d'options de configuration et de hooks, WCF vous permet de personnaliser vos données, de les enregistrer, de les intercepter, d'acheminer les messages, d'utiliser le peer-to-peer et la mise en file d'attente, et bien plus encore. L'API Web, associée à WCF, respecte les deux principes de la citation de Kay : si vous avez besoin d'un service Web simple, vous avez terminé en quelques minutes avec l'API Web ; si vos exigences de service sont complexes, « tout » est possible avec WCF. Ces deux technologies offrent une couverture complète des scénarios de service et sont préemballées avec le framework .NET.
Raison #4 : SQL Server est plus solide que jamais
Pendant de nombreuses années, il a semblé que le raz-de-marée de nouveaux langages, frameworks et modèles de développement traversait les niveaux avant et intermédiaire et épargnait le back-end de la base de données. Après tout, le bon vieux « SELECT » est toujours aussi utilisé aujourd'hui qu'il y a 20 ans. Je suppose que cela est dû au fait que de nombreuses entreprises considèrent leurs données comme le cœur de leur activité, et le maintien de l'intégrité de ce cœur l'emporte de loin sur l'excitation d'essayer «quelque chose de nouveau» au niveau de la couche de base de données.
SQL Server excelle dans son rôle principal de gardien de données avec une myriade de fonctionnalités pour les transactions, l'intégrité référentielle, les sauvegardes, la mise en miroir et la réplication, mais ce qui distingue SQL Server de la concurrence, c'est sa capacité à s'intégrer au reste de la pile Microsoft. Pour un développement rapide, il y a Entity Framework, actuellement en version 6, passé l'adolescence et tenant bien sa promesse de rationaliser l'accès aux données. Si vous avez besoin de puissance de calcul, le .NET Framework est chargé in-process avec SQL Server, ce qui signifie que vous pouvez intégrer du code .NET sous forme de procédures stockées, de fonctions ou d'agrégats sans sacrifier les performances. Associez cela au fait que SQL Server 2014 est livré avec des tables en mémoire, et vous pouvez trouver des solutions en temps réel assez astucieuses qui ne pourraient pas être rendues assez rapides uniquement avec SQL et des tables régulières. Après des années dans l'industrie, SQL Server est toujours au sommet de ma liste de SGBDR.

Raison #5 : C'est facilement testable
Tant de fois, travaillant dans l'informatique d'entreprise, j'ai vu des logiciels se transformer en ces boîtes noires intouchables parce qu'il n'y avait pas de tests et que personne ne voulait jouer avec le code de peur de "casser autre chose". Ensuite, j'ai travaillé sur des systèmes soumis à des milliers de tests, et c'était un sentiment formidable de pouvoir dire aux entreprises que "oui, nous pouvons apporter ces changements", des années après la sortie du logiciel. La pile Microsoft est conçue dans un souci de testabilité. ASP.NET MVC a des crochets pour l'injection de dépendances, et dans la version 5, l'injection de dépendances sera incluse dans le framework lui-même. Au niveau intermédiaire, c'est une histoire similaire : nous utilisons l'injection de dépendances pour dissocier l'implémentation de l'interface, ce qui nous permet d'échanger les types de production avec des simulations au moment du test. Même du côté de la base de données, il existe des outils de données SQL Server fournis avec des modèles de test par rapport à la couche de procédure stockée. Les tests font aujourd'hui partie intégrante du processus de développement logiciel, et la pile Microsoft est bien équipée pour cette nouvelle réalité.
Raison #6 : Élaborer un écosystème de support
En ce qui concerne le support, il est agréable d'avoir une gamme d'options, en commençant par les forums communautaires et en terminant par un véritable être humain en direct travaillant sur place sur votre serveur. L'écosystème en ligne des produits Microsoft est l'un des plus importants du secteur. Après tout, Microsoft a été lancé par Bill Gates, lui-même développeur de logiciels, qui considérait la large adoption par les développeurs comme la clé de la prolifération des produits Microsoft. Cela signifiait fournir à ces développeurs beaucoup, beaucoup de soutien.
Microsoft a été parmi les premiers à encourager ses employés à bloguer sur la technologie sur laquelle ils travaillaient, et bien que le reste de l'industrie ait certainement rattrapé son retard, la quantité et la qualité des vidéos pédagogiques, des guides et des articles provenant directement de Microsoft aujourd'hui sont toujours très impressionnant. Cette couche de contenu en ligne de qualité est complétée par un grand nombre d'écosystèmes de support communautaires tels que StackOverflow, qui ne sont pas aussi cohérents en ce qui concerne la qualité du contenu, mais sont néanmoins beaucoup plus utiles qu'autrement.
Enfin, il est toujours possible de décrocher le téléphone et d'appeler le support Microsoft. J'ai rarement eu à l'utiliser, mais il y a eu quelques urgences de production lorsque les développeurs de Microsoft ont analysé les vidages de mémoire, ce qui a sauvé la situation. La gamme d'options de support est clairement un facteur en faveur de la pile Microsoft.
Raison #7 : Microsoft s'en tient à ses produits
Il y a quelques années, choisir Microsoft Silverlight comme front-end pour une application semblait être un choix valable, mais ce n'est plus le cas. Avec la tendance mobile en plein essor et les frameworks JavaScript dominant l'espace frontal, Silverlight n'est plus une option réalisable ; néanmoins, il est toujours pris en charge par Microsoft jusqu'en 2021. Microsoft s'en tient à ses armes, ce qui est bon pour ceux d'entre nous qui doivent faire des choix technologiques sans avoir une boule de huit magique pour nous dire quelle tendance technologique dominera le paysage logiciel à l'avenir. Aller avec la pile Microsoft garantit que du temps et de l'argent sont investis dans une technologie qui sera prise en charge même si elle tombe en disgrâce auprès de l'industrie.
Raison #8 : Parapluie Visual Studio
Il y a dix ans, je passais environ 50 % de mon temps à travailler dans Visual Studio et environ 50 % dans d'autres outils. Aujourd'hui, la scission est massivement en faveur de Visual Studio. La vision de Microsoft selon laquelle Visual Studio est une solution unique pour l'hébergement des IDE se concrétise avec de nombreux produits Microsoft et non Microsoft offrant un certain niveau d'intégration avec Visual Studio. Du développement de bases de données avec SQL Server Data Tools à l'écriture d'applications iPad et Android avec Xamarin, Visual Studio offre une expérience de développeur familière avec une interface utilisateur cohérente. Il en va de même pour le travail avec Microsoft Azure, une plate-forme cloud englobant une variété de services allant de l'hébergement de bases de données aux services mobiles.
Visual Studio a obscurci les complexités de l'infrastructure cloud distribuée, rendant l'expérience du développement d'applications cloud cohérente avec celle du développement d'applications non hébergées dans le cloud. Toutes les pièces semblent bien s'emboîter sous l'égide de Visual Studio, ce qui rend le processus de développement global très efficace.
Microsoft Stack - Le meilleur des deux mondes
Aujourd'hui, il y a beaucoup plus de choix pour écrire des logiciels de qualité qu'il y a 10 ans. C'est certainement une bonne chose car la concurrence oblige les grands acteurs, tels que Google, Apple, Amazon et Microsoft, à continuer d'innover et à ne pas faire preuve de complaisance. Alors que Microsoft a été poussé du haut de la montagne par l'évolution technologique de la dernière décennie, l'entreprise a montré qu'elle était prête à s'adapter et à l'écoute des réalités des tendances technologiques actuelles. ASP.NET a adopté d'autres technologies et méthodologies, dont beaucoup sont open source, les formulaires Web originaux s'estompant dans l'histoire. Le framework .NET continue d'évoluer, franchissant de nouvelles frontières avec des bibliothèques pour le multi-threading et l'informatique multicœur. Avec la sortie imminente de 2015, le cœur du framework sera open-source et portable sur des plates-formes non Windows, ce qui est un pas dans la direction de l'inclusivité et de la transparence.
Ces améliorations bienvenues proviennent d'une entreprise qui dispose de processus établis de longue date pour la publication de logiciels testés, documentés et pris en charge. Aller avec la pile Microsoft apporte l'excitation de travailler avec des langages et des frameworks modernes ainsi que la stabilité d'être soutenu par un géant du logiciel avec des décennies d'expérience dans l'industrie du développement. C'est pourquoi je recommande la pile Microsoft aujourd'hui.