L’écosystème Microsoft .NET a une longue et riche histoire. Depuis les premiers jours où l’on utilisait le cadre .NET pour créer des applications Windows, jusqu’à la création d’applications sophistiquées et multiplateformes pour le cloud, le web, les ordinateurs de bureau et les téléphones portables, l’écosystème .NET de Microsoft est prêt à s’adapter et à s’étendre à l’avenir.
Microsoft .NET – Une vue d’ensemble
L’écosystème Microsoft .NET est une plateforme à code source ouvert utilisée par les développeurs pour créer une variété d’applications mobiles, web et de bureau pour Windows, Linux, MacOS et tous les principaux systèmes d’exploitation mobiles. L’écosystème .NET se compose d’outils, de bibliothèques et de langages de programmation.
L’écosystème .NET de Microsoft est déroutant à première vue, des termes similaires tels que .NET framework, .NET core et .NET étant incorrectement expliqués et utilisés. La meilleure façon de comprendre le monde .NET est d’abord de comprendre ses implémentations. Les implémentations .NET permettent au code de fonctionner sur différents systèmes d’exploitation.
À l’avenir, Microsoft a l’intention d’abandonner progressivement .NET Framework au profit de la plateforme .NET unifiée de Microsoft. On dit souvent que .NET et .NET Core sont identiques, .NET Core étant l’implémentation originale de .NET pour la création d’applications multiplateformes. .NET Core est allé jusqu’à la version 3.1 et a continué sous le nom de .NET à partir de la version 5 (en sautant la version 4). Nous examinons ci-dessous chacune des implémentations .NET de Microsoft et les liens qui les unissent.
Comprendre l’écosystème Microsoft .NET
Découvrez les quatre composants clés de cet écosystème : .NET Framework, .NET Core, .NET 6 et .NET Standard et comprenez comment chacun de ces éléments joue un rôle crucial en permettant aux développeurs de créer des applications multiplateformes hautes performances pour diverses utilisations dans le monde réel et dans divers secteurs d’activité.
.NET Framework – créer des applications Windows
Le cadre .NET a été publié il y a plus de vingt ans, en 2002, et fournit un cadre de développement logiciel qui fonctionne uniquement sous Windows. Il s’agit de l’implémentation originale de .NET et il est utilisé pour créer des applications pour Windows, ainsi que des services, des sites web et des API.
Le cadre .NET comprend un moteur d’exécution, des bibliothèques et fournit au développeur un ensemble d’API pour les besoins de programmation courants. Il est indépendant de la langue, partiellement open-source, et son cycle de vie touche à sa fin avec la version 4.8, qui est la version de support à long terme. À l’avenir, Microsoft vise à promouvoir l’utilisation de .NET par rapport au .NET Framework.
Au fil du temps, .NET Framework est devenu assez volumineux en raison d’une vaste rétrocompatibilité avec d’anciennes applications compilées. Du point de vue de Microsoft, .NET Framework ralentit l’adaptabilité de la plateforme. C’est pourquoi Microsoft n’ajoutera pas de nouvelles fonctionnalités ni de nouvelles versions à .NET Framework et concentrera ses efforts sur la plateforme .NET unifiée.
Comment fonctionne le cadre .NET
Le cadre .NET fonctionne en compilant le code source écrit dans un langage (généralement C#) en langage intermédiaire (IL). Ce code est ensuite stocké dans des fichiers d’assemblage contenant des informations sur les exigences de sécurité, les versions et les types de code, etc. Les fichiers d’assemblage sont chargés dans le Common Language Runtime (CLR) pour validation. Le code IL stocké est ensuite traduit en code machine pour être exécuté. Plusieurs versions du CLR peuvent exister sur un même ordinateur, ce qui facilite la résolution des conflits de versions.
Architecture du cadre .NET
Le cadre .NET se compose de trois éléments principaux : le langage intermédiaire commun (CIL), le moteur d’exécution du langage commun (CLR) et les bibliothèques de classes de base. Le CIL est la forme compilée du code source, exécuté par un moteur d’exécution compatible avec le CIL, comme le CLR. Le CLR sert de moteur d’exécution des applications et offre diverses fonctionnalités telles que la gestion des exceptions et le ramassage des ordures. Les bibliothèques de classes de base fournissent une gamme d’API et de types pour les tâches de programmation courantes telles que les opérations sur les fichiers, les connexions aux bases de données, la communication avec le système et la création d’interfaces graphiques.
.NET Core – l’évolution multiplateforme de Microsoft
En 2016, Microsoft a entamé le processus de création de .NET Core – une implémentation gratuite, open-source et multiplateforme pour l’exécution d’applications Linux, MacOS et Windows, et l’utilisation de services d’hébergement tels qu’Azure ou AWS, permettant une plus grande flexibilité lors de l’hébergement d’applications sur Azure ou AWS.
.NET Core est indépendant de .NET Framework, bien qu’il ait été conçu pour remédier à bon nombre de ses lacunes, ce qui permet aux développeurs de créer des applications véritablement multiplateformes sans être limités aux applications Windows uniquement.
L’architecture modulaire de .NET Core permet aux développeurs d’exploiter les paquets Nuget pour améliorer les fonctionnalités et fournir diverses caractéristiques aux applications .NET Core en fonction des besoins. Cette implémentation Core est utilisée pour créer des applications serveur sur les systèmes d’exploitation Windows, Mac et Linux.
.NET 6 – Une plate-forme unifiée
Après .NET Core 3.1, Microsoft a introduit .NET 5, changeant le nom » .NET Core » en » .NET « . Toutes les implémentations de .NET à partir de la version 3.1 sont appelées .NET Core, et toutes les implémentations à partir de la version 5 sont appelées .NET.Le nom de la version 4 a été conservé pour le .NET Framework, dont la version 4.8 est la version de support à long terme.
.NET 6 est techniquement la dernière version de .NET Core, mais sous son nouveau nom. .NET 6 offre les dernières API, fonctionnalités de langage, et apporte des performances améliorées pour le développement de la pile complète.
À l’avenir, Microsoft entend faire de .NET 6 et des versions ultérieures sa plateforme de référence pour la création d’applications multiplateformes. .NET 7 sortira en novembre 2022 et remplacera .NET 6. .NET Core est également arrivé en fin de vie avec la version 3.1.
.NET Standard – La fondation sous-jacente
.NET Standard fournit un ensemble d’API .NET communes qui sont disponibles sur les différentes implémentations .NET, formant une base sous-jacente qui apporte une plus grande uniformité entre .NET Core, .NET Framework, Mono, Xamarin, Unity, etc. .NET 5 et au-delà utilisent d’autres méthodes pour établir l’uniformité sans avoir besoin d’utiliser .NET Standard.
Il convient de noter que .NET Standard ne concerne que les bibliothèques, et non les interfaces utilisateur frontales. Les développeurs n’ont à écrire qu’un seul code, qui peut être appelé par les différentes interfaces utilisateur frontales pour chaque implémentation de .NET (par exemple, .NET Framework ou .NET Core).
« Les développeurs n’ont à écrire qu’un seul code, qui peut être appelé par les différentes interfaces utilisateur frontales pour chaque implémentation .NET.
En tant que couche d’abstraction unique, .NET Standard fonctionne avec les appareils mobiles, Windows, Linux, Mac, les appareils IoT, etc. Notez que toutes les interfaces utilisateur ne fonctionneront pas sur toutes les plateformes. Par exemple, vous ne pourrez toujours pas exécuter Windows Forms sur un Mac
À long terme, .NET Standard sera progressivement abandonné, car il ne constitue qu’une base sous-jacente entre les anciennes implémentations de .NET. À mesure que Microsoft évolue vers une plateforme unifiée, le besoin d’uniformité entre les nouvelles implémentations .NET devient de moins en moins nécessaire, comme on l’a vu avec la sortie de .NET 5 et des versions ultérieures.
Langages de programmation .NET couramment utilisés
Le monde des applications .NET englobe plusieurs langages de programmation, chacun offrant ses propres forces et capacités. Nous explorerons les trois langages les plus couramment utilisés pour développer des applications .NET : C#, F# et Visual Basic (VB). Chacun de ces langages répond à des paradigmes de programmation différents et est privilégié par les développeurs pour diverses raisons.
Qui utilise Microsoft .NET ?
Microsoft .NET est un cadre polyvalent qui trouve de nombreuses applications dans le monde réel. Il est utilisé par un grand nombre d’industries et d’organisations de premier plan pour développer des applications évolutives, multiplateformes et très performantes. Découvrez quelques exemples notables d’organisations qui ont exploité la puissance de Microsoft .NET :
ChipotleChipotle, la célèbre chaîne de restauration rapide, a exploité les capacités de .NET et de .NET Core pour créer rapidement un prototype fonctionnel. En s’appuyant sur la plateforme en nuage Microsoft Azure, Chipotle a déployé avec succès son application sans avoir besoin d’une grande expérience préalable. Cela démontre comment .NET peut faciliter les processus de développement et de déploiement rapides, même pour les organisations qui ne font pas partie de l’industrie du logiciel.
Forza Horizon 5un jeu vidéo largement plébiscité, a connu une hausse massive de sa popularité. Le succès du jeu peut être attribué en partie à son utilisation des technologies Microsoft. En tirant parti des conteneurs et du service Azure Kubernetes, Forza Horizon 5 a créé un environnement optimisé et évolutif. Le jeu a été conçu à l’aide de divers services Microsoft, notamment .NET, Azure Cache for Redis, Azure Storage et Azure Kubernetes Service.
Stack Overflow (en anglais)Stack Overflow, une plateforme de premier plan permettant aux développeurs de rechercher et de partager des connaissances, s’est tourné vers .NET et ASP.NET pour accélérer son processus de développement. En utilisant ces technologies, les administrateurs système de Stack Overflow ont pu gagner un temps considérable pendant la phase de développement. Cela illustre la manière dont Microsoft .NET peut permettre aux organisations de rationaliser le développement de leurs logiciels et d’atteindre une plus grande efficacité.
TencentTencent, l’un des principaux conglomérats technologiques chinois, a adopté une architecture basée sur les microservices et s’est appuyé sur Microsoft .NET Core et ASP.NET. En tirant parti du riche écosystème de microservices et de l’infrastructure de construction d’API offerts par .NET, Tencent a pu développer des solutions robustes et évolutives. Cela démontre comment Microsoft .NET peut répondre aux exigences complexes des grandes entreprises.
Qu’est-ce que .NET permet de construire ?
Explorez les types d’applications que l’écosystème .NET est utilisé pour construire, des applications web et mobiles avancées et performantes, aux jeux et aux solutions numériques alimentées par l’IA. Examinez de plus près 6 des cas d’utilisation et des applications .NET les plus courants dans le monde réel.
Applications et services Web avec ASP.NET
ASP.NET est un cadre open source et multiplateforme pour la création d’applications et de services web à l’aide de C# et de .NET. Les développeurs peuvent créer des interfaces utilisateur interactives avec C#, HTML et CSS au lieu d’avoir recours à JavaScript. Avec des outils tels que Blazor, le code peut être écrit en C# à la fois sur le front-end et sur le back-end, ce qui permet de partager le code et de rationaliser le développement. Voici ce que ASP.NET vous permet de construire :
Applications web
Créez des applications web complètes, modernes et évolutives à l’aide de C#, JavaScript, HTML et CSS. Utilisez des fonctionnalités telles que Blazor pour créer des interfaces utilisateur interactives sans JavaScript et exécutez des applications .NET dans le navigateur avec Web Assembly.
API REST
Créez des API sécurisées ainsi que des services et des pages web en utilisant le même cadre et les mêmes modèles au sein d’un seul projet. ASP.NET vous permet également de créer des API sur différentes plateformes à l’aide de C# et de développer des services pour les clients sur le web et les mobiles.
Communication en temps réel
Utilisez SignalR pour réaliser des applications web en C# qui permettent la communication entre le serveur et le client en temps réel, en envoyant des informations et du code actualisés sans avoir à appuyer sur la touche « refresh ». Les développeurs peuvent créer des applications web en temps réel modernes, simples et efficaces.
Applications mobiles et de bureau avec .NET MAUI
.NET Multi-platform UI (.NET MAUI) est un cadre permettant de créer des applications mobiles et de bureau Android, iOS, Windows et MacOS multiplateformes compilées en mode natif à partir d’une base de code unique. NET MAUI est un logiciel libre qui vise à regrouper la plus grande partie possible de l’interface utilisateur et de la logique de votre application dans une base de code unique et partagée.
Les développeurs peuvent créer des applications multiplateformes en utilisant C# et XAML (la version XML de Microsoft pour décrire les interfaces graphiques) à l’aide de Visual Studio. Le processus de développement est rationalisé car le code et la présentation de l’interface utilisateur peuvent être facilement partagés et mis en œuvre pour chaque plateforme.
« Avec Blazor, .NET MAUI vous permet de créer des applications hybrides en utilisant C# au lieu de JavaScript et de réutiliser des parties de votre interface utilisateur sur différentes plateformes. «
Bien que .NET MAUI encourage l’utilisation d’une seule base de données partagée, les développeurs peuvent toujours écrire un code source unique pour chaque plateforme si nécessaire. Les présentations des applications sont automatiquement adaptées à leur système d’exploitation respectif pour chaque plateforme, sans qu’aucun code supplémentaire ne soit nécessaire.
Microservices avec .NET et ASP.NET
Les microservices sont des modèles de conception permettant de développer des applications composées d’ensembles ou de modules indépendants et de petite taille, chacun ayant un objectif unique. Ces modules peuvent communiquer avec d’autres modules de manière structurée et prédéfinie. Les microservices facilitent les tests et le déploiement partiel d’une application, et permettent aux microservices individuels d’être mis à l’échelle après le déploiement.
En utilisant ASP.NET (le cadre web de .NET), vous pouvez facilement créer des API (qui deviennent des microservices). Vous pouvez ensuite utiliser les conteneurs Docker pour déployer des microservices et des parties individuelles de votre application.
Applications en nuage avec .NET et les outils de développement Visual Studio Cloud
Créez des applications en nuage modernes, performantes, capables de fonctionner en temps réel et hautement évolutives avec .NET et déployez-les sur n’importe lequel des principaux fournisseurs de nuage. Microsoft recommande de déployer les applications en nuage .NET sur Azure (la plateforme en nuage de Microsoft) car elle prend en charge nativement les outils de développement .NET et Visual Studio.
Les applications .NET existantes peuvent migrer vers le nuage, avec une assistance gratuite, et le processus est rationalisé. Les applications web ASP.NET peuvent également être hébergées chez l’un des principaux fournisseurs de services en nuage. Les applications .NET prennent également entièrement en charge l’informatique en nuage sans serveur avec Azure Functions pour une informatique en nuage évolutive à la carte sans avoir à entretenir ou à payer des serveurs.
Intégration de l’IA et de la ML avec ML.NET
ML.NET est un cadre d’apprentissage automatique conçu pour les développeurs .NET afin de construire et d’intégrer des modèles d’apprentissage automatique dans les applications .NET. Il n’est pas nécessaire d’avoir une expérience préalable de l’apprentissage automatique. La plateforme ML.NET offre des outils extensibles pour Visual Studio et est multiplateforme et open-source.
L’analyse de données distribuées est possible avec Apache Spark, qui offre un moteur permettant de travailler avec de grands ensembles de données. .NET fournit des API pour utiliser Apache Spark avec C# et F#.
Jeux multiplateformes avec .NET et C#
Microsoft propose une suite complète d’outils et de services de développement de jeux conçus pour permettre aux développeurs de créer des expériences de jeu immersives sur différentes plateformes. Des moteurs de jeu puissants aux services et outils de développement de jeux robustes, Microsoft propose une gamme de solutions pour répondre aux besoins des développeurs de jeux. .NET est utilisé pour créer des jeux multiplateformes construits avec :