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é.

  • Cadre .NET

  • NET Core

  • NET 6

  • .NET Standard

.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.

  • C# (C-sharp): C# est un choix populaire, réputé pour sa nature orientée objet, sa sécurité de type et ses fonctions de programmation modernes.

  • F# (F-sharp): F# apporte une approche fonctionnelle et concise au développement .NET, ce qui le rend idéal pour des tâches telles que l’apprentissage automatique, la science des données et la manipulation.

  • Visual Basic (VB) : VB offre une expérience de programmation multi-paradigme, orientée objet et événementielle, qui met l’accent sur la facilité d’apprentissage et le développement rapide d’applications .NET sûres.

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.

Do you have a project in mind?

Let’s discuss the future of your organization and how we can guide you on your journey to successful digital transformation.

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

  • Applications mobiles et de bureau avec .NET MAUI

  • Microservices avec .NET et ASP.NET

  • Applications en nuage avec Visual Studio Cloud

  • Solutions d’IA et de ML avec ML.NET

  • Jeux multiplateformes avec .NET et C#

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 :

  • Moteurs de jeu: Microsoft propose le moteur Unity, MonoGame, Godot, Stride, et d’autres encore, pour créer des jeux VR, AR, 3D, etc.

  • Services de jeux: Microsoft Azure PlayFab fournit toutes les caractéristiques, tous les outils et toutes les fonctionnalités nécessaires à la création et à l’exploitation d’un jeu, tout en optimisant l’utilisation des ressources, en offrant des options de monétisation et bien plus encore. Créez des jeux multijoueurs avec Photon, utilisez Hadean pour créer des applications « cloud-native » et Discord pour intégrer des serveurs de chat dans votre jeu.

  • Outils de développement de jeux: Visual Studio propose une multitude de fonctionnalités et d’outils intelligents pour le développement de jeux, tels que le débogage, le remaniement du code, etc. Visual Studio propose également des outils de collaboration pour le travail à distance. .NET fait partie de Microsoft Game Dev, une suite d’outils permettant de créer, de lancer, d’exécuter et de développer des jeux.

  • Écosystème de développement de jeux: .NET donne accès à des projets libres pour les graphiques gérés, à des bibliothèques pour Objective-C et à des bibliothèques Java pour iOS/Android, et dispose d’une communauté (et de ressources) importante et active pour le développement de jeux.

Fréquemment
Questions posées.

Découvrez à quoi sert Microsoft .NET, sa popularité, les différences entre .NET, .NET Core et .NET Framework, et bien plus encore.

Microsoft .NET est utilisé pour créer une variété d’applications multiplateformes, notamment des applications et des services web, des applications mobiles et de bureau, des microservices, des jeux, des applications basées sur le cloud, des applications IoT, de l’IA et même des applications d’apprentissage automatique. Les applications .NET peuvent être créées pour fonctionner sur Windows, MacOS, Linux, iOS, Android, etc. NET permet aux développeurs de créer des applications rapides, évolutives, extensibles et modernes avec C#, F# et Visual Basic pour un large éventail de plateformes et d’industries.

Alors que certaines parties de l’écosystème Microsoft .NET sont progressivement abandonnées, Microsoft se concentre simplement sur des plateformes de développement polyvalentes et modernes avec .NET 6 et au-delà. De nombreux systèmes et applications fonctionnent encore sur .NET Framework et .NET Core, Microsoft vise à promouvoir sa plateforme .NET unifiée en tant que solution de développement pour créer une large gamme d’applications multiplateformes.

.NET a connu une croissance régulière au cours des dernières années. Microsoft .NET permet aux développeurs de créer des applications rapides, modernes et évolutives pour n’importe quelle plateforme et un large éventail d’industries en utilisant C# (ainsi que F# et Visual Basic). Les applications .NET sont extensibles grâce à d’énormes bibliothèques et à une communauté mondiale importante et active.

Microsoft .NET est une plateforme et un cadre d’orientation pour les développeurs de logiciels qui fournit des outils, des bibliothèques et des fonctionnalités étendus pour créer une large gamme d’applications multiplateformes rapides et évolutives pour les mobiles, les PC et même pour les applications IoT (Internet des objets). Les applications .NET sont principalement écrites en C#, mais peuvent également être écrites en F# et en Visual Basic (VB).

Ces langages sont compilés en un langage intermédiaire commun partagé par plusieurs implémentations .NET et peuvent ensuite être exécutés par le Common Language Runtime. Notez que la terminologie de ces processus varie entre .NET Framework, .NET Core et .NET, bien qu’ils fonctionnent de manière similaire.

.NET Framework était l’implémentation originale de .NET et fonctionnait uniquement sous Windows. Le .NET Core était la solution multiplateforme de Microsoft pour remédier à de nombreuses lacunes du .NET Framework. Avec .NET Core, les développeurs pouvaient créer des applications pour Windows, Linux et MacOS. Après avoir atteint la version 3.1 de .NET Core, Microsoft a renommé la version suivante .NET 5, abandonnant ainsi la convention de dénomination de la version 4. À l’avenir, Microsoft utilisera .NET comme nom de plateforme unifiée pour toutes les versions futures.

En résumé, Microsoft a baptisé toutes les versions de .NET à partir de la version 3.1 « .NET Core », et toutes les versions à partir de la version 5 « .NET ». Microsoft abandonnera progressivement .NET Framework et .NET Core pour faire de .NET sa plateforme de développement multiplateforme de référence pour la création d’un large éventail d’applications.

Do you have a project in mind?

Let’s discuss the future of your organization and how we can guide you on your journey to successful digital transformation.