Créer des applications
Application web
L’avantage du langage C# est qu’il permet de réaliser un large panel d’applications. Parmi celles-ci, celles qui sont le plus en vogue sont les applications web. Dans ce chapitre, nous allons faire un tour de l’ensemble des applications pouvant être créées avec C#.
Les applications web se divisent en deux grandes catégories :
-
Les applications web graphiques, où il y a une interaction avec l’utilisateur.
-
Les applications web métier, qui se chargent uniquement de traiter des données.
1. Applications web graphiques
Avec .NET 8, Microsoft a décidé d’unifier les différentes applications web sous la houlette du framework phare Blazor. De ce fait, créer une application web avec C# de nos jours revient à créer une application Blazor et à choisir comment elle s’exécute (uniquement sur le serveur, uniquement sur le poste du client ou les deux).
Malgré tout, les anciens types d’application n’ont pas disparu pour autant. Il reste possible de créer des applications ASP.NET exclusivement serveur.
ASP.NET est la solution qui permet de créer des sites web. Il utilise une syntaxe de création des vues permettant de mixer HTML et C#, appelée Razor. Il existe deux variantes pour réaliser des applications ASP.NET :
-
ASP.NET MVC, qui utilise le pattern MVC (Modèle Vue Contrôleur) permettant d’exploiter une architecture éprouvée et robuste, mais plus contraignante à mettre en place.
-
ASP.NET Razor Pages, qui permet de réaliser des pages autonomes, plus simple.
Pour créer une application ASP.NET, suivez ces étapes :
Ouvrez Visual Studio Code.
Si vous souhaitez créer une application ASP.NET MVC, faites [Ctrl] + [Shift] + P pour ouvrir le menu et choisissez .NET : New project puis ASP.NET Core Web App (Model-View-Controller).
Si vous souhaitez créer une application ASP.NET Razor Pages, faites [Ctrl] + [Shift] + P pour ouvrir le menu et choisissez .NET : New project puis ASP.NET Core Web App.
Commençons par explorer rapidement une application ASP.NET MVC.
a. ASP.NET MVC
Lorsque la commande a été effectuée, un certain nombre de fichiers et de dossiers ont été générés automatiquement....
Application de bureau
Même si les applications de bureau sont beaucoup moins en vogue que durant les dernières décennies, les applications de bureau restent un incontournable lorsqu’il s’agit de faire des applications permettant des comportements avancés. .NET est historiquement une plateforme destinée à Windows, il est donc logique de disposer de frameworks permettant de réaliser des applications de bureau Windows. Il y a pour ceci trois frameworks graphiques : WinForms, WPF et UWP.
Étant donné que ce chapitre couvre les applications de bureau pour Windows, il est nécessaire d’avoir un poste sous Windows et d’avoir installé l’IDE Visual Studio 2022 sous Windows (https://visualstudio.microsoft.com/fr/downloads/), car lui seul contient tous les outils nécessaires pour pouvoir créer ce type d’application. Lors de l’installation, il faut s’assurer d’avoir installé la charge de travail « développement .NET Desktop » afin d’avoir à disposition tous les outils pour ce type de projet (voir capture ci-dessous).
Charge de travail développement .NET Desktop
1. WinForms
WinForms est la plus ancienne approche pour créer des applications de bureau. Successeur de Visual Basic 6, WinForms reste une façon très rapide de créer des applications facilement. Microsoft a poussé une autre technologie d’application de bureau, WPF (que nous verrons dans la prochaine section), censée remplacer WinForms, mais ce dernier reste incontournable pour la réalisation d’une application de bureau légère et rapide. Cela est dû au fait que l’implémentation se fait très rapidement grâce au designer et que l’interface graphique se repose sur la couche GDI+, qui est très rapide à l’exécution et peu gourmande.
Cependant, GDI+ ne permet pas de profiter de l’accélération matérielle 3D, ce qui peut entraîner certaines limitations.
Depuis l’arrivée de .NET Core 3.0, il est possible de créer des applications WinForms à l’aide des dernières versions de .NET, de telle sorte que nous pouvons créer une nouvelle application grâce à la commande...
Application mobile
Il existe beaucoup d’outils permettant de réaliser des applications mobiles pour Android et iOS, qui sont les deux plateformes majeures pour les smartphones d’aujourd’hui. Nous trouvons généralement deux types d’outils :
-
Ceux permettant de réaliser une application mobile à partir d’un code source commun en grande partie et de générer une application pour les deux plateformes (cross-platform).
-
Ceux permettant de réaliser une application mobile pour une plateforme donnée, soit directement dans le langage de la plateforme de destination (natif), soit par le biais d’un autre langage qui sera transformé dans celui de destination.
Apple possède deux langages pour créer des applications iOS : objective-C (ancien langage) ou Swift (nouveau langage). Du côté d’Android, on trouve le langage Java et le langage Kotlin.
Comme nous le constatons, il n’est nullement question de C# pour l’une ou l’autre plateforme ; pourtant, il est possible de réaliser des applications Android et iOS en C#, grâce à la technologie MAUI.
Ce framework applicatif permet de réaliser les deux types d’applications :
-
Soit en créant une application mobile avec un design commun basée sur le langage XAML avec le framework MAUI, qui sera après converti en application native.
-
Soit en créant une application mobile avec un design par plateforme grâce aux outils de la plateforme cible, qui sera également convertie en application native.
Que ce soit un choix ou l’autre, il est possible de partager le code métier par le biais de librairies de classe en C#, ce qui fait la force du framework.
1. MAUI
Une application cross-platform permet, à partir du même code métier et du même code d’interface graphique, de produire une application Android et une application iOS. Le framework MAUI permet de réaliser une application qui pourra être dérivée en application mobile et bureau. Pour le moment, nous nous contenterons d’explorer la partie mobile.
Pour développer notre nouvelle application, il faut que notre environnement soit prêt. En effet, jusqu’à...
Conclusion
Nous avons brièvement vu dans ce chapitre la totalité de ce qu’il est possible de réaliser avec .NET en matière d’applications. Que ce soit web, bureau ou mobile, il est possible de réaliser un ensemble assez vaste de solutions grâce au langage C#.
Bien entendu, ce qui a été vu dans ce chapitre est une très légère introduction, et chaque solution a ses propres spécificités et capacités, qu’il n’est pas possible de couvrir au sein d’un seul chapitre, car chacun pourrait a minima occuper le sujet d’un seul ouvrage. Néanmoins, vous avez ainsi un aperçu de ce qu’il est possible de réaliser ainsi qu’un exemple vous permettant de sélectionner assez rapidement les technologies qui vous intéressent pour approfondir le sujet.