Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. C# 10 et Visual Studio Code
  3. Créer des applications
Extrait - C# 10 et Visual Studio Code Les fondamentaux du langage
Extraits du livre
C# 10 et Visual Studio Code Les fondamentaux du langage
2 avis
Revenir à la page d'achat du livre

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 de traiter des données.

1. Applications web graphiques

Dans la catégorie des applications web graphiques, on retrouve deux types de projets : un site ASP.NET et une application Blazor. La différence entre les deux réside dans la notion de dynamisme et de réactivité. Blazor permet de réaliser des applications SPA (Single Page Application) tandis qu’ASP.NET permet de réaliser des sites web classiques.

ASP.NET est la solution qui permet de créer des sites web classiques. 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 un nouveau terminal au sein de Visual Studio Code.

 Si vous souhaitez recourir à ASP.NET MVC, utilisez la commande dotnet new mvc.

 Si vous souhaitez recourir à ASP.NET Razor Pages, utilisez la commande dotnet new webapp.

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. Sans entrer dans le détail, on retrouve les trois dossiers correspondant au pattern MVC : Models, Views et Controllers.

images/08EI01.PNG

Liste des fichiers et dossiers générés

Le fonctionnement d’un site ASP.NET MVC est assez simple. Lorsqu’un utilisateur choisit d’accéder à une page...

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

images/08EI20.png

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

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. On trouve 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 on le constate, 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 aux technologies Xamarin et MAUI.

Ces frameworks applicatifs permettent 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 (anciennement Xamarin Forms), 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. Installation

Microsoft a annoncé fin 2021 que MAUI ne serait pas prêt pour une sortie simultanée avec .NET 6. Ainsi, afin de pouvoir tester cette partie, il faut s’armer d’une préversion de MAUI au lieu d’une version stable.

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 nouveau framework MAUI permet de réaliser une application qui pourra être dérivée en application...

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.