Qu'est-ce que .NET ?
.NET est une plateforme open source permettant de créer des applications de bureau, web et mobiles pouvant s'exécuter en mode natif sur n'importe quel système d'exploitation. Le système .NET comprend des outils, des bibliothèques et des langages qui prennent en charge le développement de logiciels modernes, évolutifs et hautes performances. Une communauté de développeurs active gère et prend en charge la plateforme .NET.
Plus simplement, la plateforme .NET est un logiciel capable d'effectuer les tâches suivantes :
- Traduire le code du langage de programmation .NET en instructions qu'un dispositif de calcul peut traiter.
- Fournir des utilitaires pour un développement de logiciels efficace. Par exemple, il peut trouver l'heure actuelle ou imprimer du texte à l'écran.
- Définir un ensemble de types de données pour stocker des informations telles que du texte, des chiffres et des dates sur l'ordinateur.
Qu'est-ce qu'une implémentation .NET ?
Diverses implémentations de .NET permettent au code .NET de s'exécuter sur différents systèmes d'exploitation comme Linux, macOS, Windows, iOS, Android et bien d'autres.
.NET Framework
.NET Framework est l'implémentation .NET d'origine. Il prend en charge l'exécution de sites web, de services, d'applications de bureau, etc. sous Windows. Microsoft a lancé .NET Framework au début des années 1990.
.NET Core
Microsoft a lancé .NET Core fin 2014 pour permettre la prise en charge multiplateforme pour les développeurs .NET. L'entreprise a publié la dernière version de .NET Core, .NET 5.0, en novembre 2020 et l'a rebaptisée .NET. Le terme .NET utilisé dans cet article fait référence à .NET 5.0. .NET Core est open source sur GitHub.
.NET Standard
.NET Standard est une spécification formelle de différentes fonctions (appelées API). Différentes implémentations .NET peuvent réutiliser le même code et les mêmes bibliothèques. Chaque implémentation utilise à la fois des API standard .NET et des API uniques spécifiques aux systèmes d'exploitation sur lesquels elle s'exécute.
Pourquoi choisir .NET ?
Facilité de développement
Les développeurs aiment utiliser .NET, car il inclut de nombreux outils qui facilitent leur travail. Par exemple, en utilisant la suite Visual Studio, les développeurs peuvent écrire du code plus rapidement, collaborer, tester et corriger leur code efficacement. La possibilité de réutiliser le code entre les implémentations réduit les coûts de développement.
Applications hautes performances
Les applications .NET fournissent des temps de réponse plus rapides et nécessitent moins de puissance de calcul. Elles disposent de solides mesures de sécurité intégrées et effectuent efficacement des tâches côté serveur, telles que l'accès aux bases de données.
Support de la communauté
.NET est open source, ce qui signifie que tout le monde peut y accéder pour l'utiliser, le lire et le modifier librement. Une communauté active de développeurs maintient et améliore le logiciel .NET. La .NET Foundation est une organisation indépendante sans but lucratif créée pour soutenir la communauté .NET. Elle propose des ressources d'apprentissage, des projets .NET open source et divers événements pour les développeurs .NET.
Quels sont les composants de l'architecture .NET ?
.NET possède une architecture modulaire et optimisée. Les utilisateurs peuvent choisir différents composants pour répondre à leurs exigences de développement logiciel.
Voici les trois principaux composants .NET :
- Langages .NET
- Frameworks de modèles d'applications
- Environnement d'exécution .NET
Les développeurs utilisent les langages de programmation .NET et les cadres de modèles d'applications pour créer leurs applications .NET. L'environnement d'exécution .NET les exécute ensuite.
Que sont les langages de programmation .NET ?
C# (prononcer C dièse), F# (prononcer fa dièse) et Visual Basic sont les trois langages pris en charge par Microsoft pour le développement .NET. Différentes entreprises et développeurs ont également créé d'autres langages compatibles avec la plateforme .NET.
C#
C# est un langage de programmation simple, moderne et orienté objet. Avec une syntaxe similaire à celle de la famille de langages C, C# est bien connu des programmeurs C, C++, Java et JavaScript.
F#
F# a une syntaxe légère et ne nécessite que très peu de code pour créer un logiciel. Il s'agit d'un langage open source qui facilite l'écriture de code succinct, robuste et très performant. Il dispose également d'un système de règles de programmation performant et d'une bibliothèque standard pratique pour créer des logiciels stratégiques, corrects, rapides et fiables.
Visual Basic
Visual Basic est un langage de programmation orienté objet développé par Microsoft. L'utilisation de Visual Basic permet de créer rapidement et facilement des applications .NET offrant une cohérence des types. La cohérence des types est la mesure dans laquelle un langage de programmation décourage ou prévient les erreurs de codage logique.
Langages de la Common Language Infrastructure (CLI)
Des langages tels que ClojureCLR, Eiffel, IronPython, PowerBuilder et bien d'autres fonctionnent également sur la plateforme .NET. En effet, .NET implémente la Common Language Infrastructure (CLI). Vous pouvez considérer la CLI comme un modèle pour créer des langages compatibles avec .NET.
Qu'est-ce que l'exécution .NET ?
Le moteur d'exécution .NET, également appelé Common Language Runtime (CLR), compile et exécute des programmes .NET sur différents systèmes d'exploitation.
Compilation juste-à-temps
Le CLR compile le code à mesure que le développeur l'écrit. Lors de la compilation, le CLR traduit le code en CIL (Common Intermediate Language). Par exemple, le code écrit en C# a une syntaxe et des mots similaires à ceux de l'anglais. .NET compile ou traduit ce code en CIL. Le code CIL est différent, car il s'agit d'un langage de code machine de niveau inférieur.
Exécution
Le moteur d'exécution .NET gère l'exécution du code CIL. Le CIL est compatible multiplateforme et n'importe quel système d'exploitation peut le traiter. La compatibilité multiplateforme fait référence à la capacité d'une application à s'exécuter sur plusieurs systèmes d'exploitation différents avec un minimum de modifications. Par exemple, une application dans C# peut s'exécuter sous Windows, Linux ou macOS sans aucune modification de code. Une telle application est appelée application multiplateforme.
Que sont les cadres de modèles d'applications .NET ?
Les cadres de modèles d'applications sont un ensemble d'outils et de bibliothèques de développement qui prennent en charge le développement rapide et efficace de projets .NET. Il existe différents cadres pour différents types d'applications, tels que ceux répertoriés ci-dessous.
Applications web
Le cadre ASP.NET étend la plateforme de développement .NET spécifiquement pour la création d'applications web. Il prend en charge les technologies web telles que les API REST, HTML, CSS et JavaScript. Il fournit une base de données utilisateur intégrée avec authentification multifactorielle et externe. ASP.NET prend en charge les protocoles d'authentification standard avec un mécanisme de sécurité intégré pour protéger vos applications .NET contre les cyberattaques.
Applications mobiles
Vous pouvez utiliser Xamarin/Mono pour exécuter des applications .NET sur tous les principaux systèmes d'exploitation mobiles, y compris iOS et Android. Xamarin inclut Xamarin.Forms, un cadre d'interface utilisateur mobile open source. Les développeurs .NET utilisent Xamarin.Forms pour créer une expérience utilisateur cohérente sur toutes les plateformes mobiles. Toutes les applications .NET peuvent être identiques, même sur différents appareils mobiles.
Applications de bureau
Vous pouvez utiliser Xamarin pour le développement d'applications de bureau. En outre, Universal Windows Platform étend le développement d'applications .NET Windows 10. Windows Presentation Foundation et Windows Forms sont d'autres cadres pour la conception d'interfaces utilisateur sous Windows.
Autres applications
Avec ML.NET, vous pouvez développer et intégrer des modèles de machine learning personnalisés dans vos applications .NET. Vous pouvez utiliser les bibliothèques IoT .NET pour développer des applications sur des capteurs et d'autres appareils intelligents. Pour toutes les solutions qui ne sont pas disponibles dans les cadres, vous pouvez trouver de nombreuses bibliothèques de fonctions spécifiques dans le référentiel public NuGet. Vous pouvez utiliser Nuget pour créer, partager et utiliser de nombreuses bibliothèques .NET pour presque toutes les utilisations.
Comment AWS peut-il aider les développeurs .NET ?
Les développeurs .NET peuvent créer des applications plus rapidement en utilisant .NET sur AWS. Il possède un service pour chaque tâche. Vous pouvez donc concevoir rapidement des preuves de concept sans vous soucier de l'infrastructure de gestion. Voici quelques exemples de services AWS pour le développement .NET :
- AWS Elastic Beanstalk gère le déploiement des applications et les tâches opérationnelles.
- Amazon EC2 propose une capacité de calcul redimensionnable et sécurisée dans le cloud.
- Amazon Aurora automatise l'administration de bases de données.
Les développeurs .NET peuvent également utiliser les outils et bibliothèques open source AWS, tels que les suivants :
- Le kit AWS SDK pour .NET permet aux développeurs Linux et Windows de créer plus facilement des applications .NET.
- Le référentiel d'exemples de code AWS vous aide à mieux comprendre les applications qui fonctionnent avec les services AWS.
- La bibliothèque numérique .NET contient une archive de vidéos, de didacticiels, de blogs et d'autres ressources de développeurs pour .NET.
Avec la sortie de .NET 6, les développeurs .NET peuvent tirer encore plus parti des performances et des réductions des coûts d'AWS avec Linux. Les applications .NET 6 peuvent déjà utiliser de nombreux services AWS sans travail supplémentaire. Ce guide décrit la prise en charge de .NET 6 fournie par les outils et services AWS.
Vous pouvez commencer à utiliser .NET sur AWS en suivant une formation .NET sur AWS, en créant des applications .NET sur AWS ou en lançant votre première application .NET sur AWS.
AWS .Net : prochaines étapes
Commencez à créer avec AWS dans la Console de gestion AWS.