Formation C# 10 avec .NET 6 et Visual Studio 2022
UNE MISE À NIVEAU RAPIDE POUR TOUS LES DÉVELOPPEURS
2950€ HT / personne |
5 jours (35 heures) |
Présentation
C# est indéniablement l’un des langages de programmation les plus complets à la disposition des ingénieurs aujourd’hui, couplé à la puissance de .NET6 . Cette formation a été spécialement conçue pour mettre à niveau rapidement tous les développeurs sur les fondamentaux ainsi que les nouveautés du Framework .NET 6 avec Visual Studio 2022 et le langage C# en version 10.
Dans cette formation polyvalente conçue comme un véritable « couteau suisse » du .NET, vous aborderez les principaux concepts de C# afin de gagner en autonomie sur la plateforme Microsoft .NET 6. Cette remise à niveau, destiné à tous les programmeurs, vous permettra d’acquérir toutes les bases solides afin de vous rendre autonome dans vos futurs développements. Cette formation se veut à la fois ludique, pédagogique et interactive.
Dans un premier temps, nous passerons en revue tous les concepts de base de la POO au travers du langage moderne qu’est le C#, avec des exemples de la vie réelle. Nous aborderons ensuite toutes les subtilités de .NET ainsi que ses nouveautés sur les dernières années, de C# 8 à C#10, et plus encore.
Nous verrons le bon usage des types, des delegates, ainsi que des cas de figure portant sur la programmation concurrente et asynchrone, afin que vous puissiez répondre aux questions techniques les plus poussées. Enfin, nous aborderons le dernier-né des Frameworks Web Front : Blazor, en exposant nos propres Web API et en maitrisant efficacement la persistance de données.
Comme toujours, nous vous enseignerons la dernière version de l’outil à savoir C# 10 avec .NET 6 Core Version avec Visual Studio 2022 sortie le 8 novembre 2021.
Objectifs
- Maitriser les principaux concepts de programmation orientée objet en C#
- Découvrir les nouveautés ainsi que les dernières évolutions de C# et .NET au travers de Visual Studio 2022
- Acquérir une autonomie dans le développement, le débogage et la compréhension de la documentation en .NET
- Connaître les fondamentaux du nouveau Framework Web Blazor
- Construire votre Web API via ASP.NET Core et accéder facilement à une base de données
Public visé
- Développeurs issus de n’importe quel langage de programmation
- Chefs de projets techniques
Pré-requis
- Connaissance pratique d’un langage de programmation récent
- Des connaissances basiques sur le Framework .NET est un plus
PRÉ-REQUIS LOGICIELS (DANS LE CAS D’UNE INTRAENTREPRISE)
- Visual Studio 2022 installé et mis à jour avec le pack de développement .NET pour les applications web et les applications de bureau
- .NET 6 SDK installé et mis à jour
RECOMMANDATIONS DE LECTURES AVANT LA FORMATION
- Je vous recommande le blog de Jon Skeet pour des astuces et des bonnes pratiques en C#
- Les bases de données relationnelles et SQL
- La programmation asynchrone en C#
- Les nouveautés de C# 10 et .NET 6. Vous pouvez regarder les nouveautés depuis la version 6 jusqu’à la 10, ainsi que les nouvelles fonctionnalités apportées par .NET 6 telles que l’augmentation des performances et la prise en charge de la compilation Just-In-Time (JIT).
Programme de notre formation C# 10 avec Visual Studio 2022
Introduction : Qu’est-ce que .NET en 2022 ?
- À qui s’adresse .NET ?
- Les principales évolutions du Framework depuis sa création
- Le futur de .NET
- Architecture
- Managed Code
- Le CLR
- Le CLR
- Langage Interprété VS Langage Compilé
- L’IDE Visual Studio Versus L’éditeur Visual Studio Code
- Ne pas confondre IDE vs Langage vs Framework .NET
- Évolutions & Principaux ajouts du langage C#
- Le rythme des versions LTS & Current et leurs supports respectifs par Microsoft
- .NET 6 : Unified Platform
- C# : Un langage pour les gouverner tous :
- Du Web à l’IoT en passant par le mobile
- Unity
- StackOverflow
- MAUI
Présentation rapide de l’écosystème .NET
- Core Versus Mainstream
- Les différents Frameworks spécialisés :
- WPF
- Entity
- Microservice
- La documentation MSDN
- GitHub
Rappel sur les bases de Visual Studio : les fondamentaux
- Solution
- Projet
- Assembly
- DLL
- Nuget Package
- Ajout d’un projet à une solution existante
- Référence à un projet à partir d’un autre projet
- Référencement des bibliothèques externes
- Espaces de nommage
Rappel sur les bases du C# : les fondamentaux
- Paradigme & Typage
- Les types Primitifs
- Les membres d’une classe
- Encapsulation et niveau de visibilité
- Structures vs Classes
- Les constructeurs et les destructeurs
- Les types génériques
- Opérateurs et expressions
- Faire la différence entre les 2 univers : statique et instance
- Faire la différence entre les 2 univers : managé et non managé
Debug & Breakpoint
- Débogage d’une application en cours de développement
- Réglage d’un point d’arrêt
- Mettre une condition à un point d’arrêt
- Personnalisation des points d’arrêt
- Modification d’une variable en temps réel
- Enregistrement pendant le développement et l’exécution
- Instrumentation avec débogage et traçage
- Écrire dans l’écouteur de trace par défaut
- Configuration des auditeurs de trace
- Instrumentation avec débogage et traçage
Introduction à la programmation objet : rappel des fondamentaux de la POO en C#
- La programmation orientée objet : c’est simple au fond !
- Procédural vs POO
- Les grands principes fondateurs
- Encapsulation
- Héritage
- Polymorphisme
Les bonnes pratiques du développeur
- Convention de nommage et règles de programmation
- Responsabilité
- Factorisation
- Les Principes de conception SOLID
Codage de base en C#
- Variables locales
- Déclarations et expressions
- Déclarations
- Expressions
- Booléens
- Commentaires
- Directives de prétraitement
- Symboles de compilation
- #error and #warning
- #line
- #pragma
- #region and #endregion
- Types de données intrinsèques
- Types numériques : Quand les utiliser ?
Structures de données et écriture de code optimisé en C#
- LIFO
- FIFO
- Choisir la bonne structure de données pour optimiser les performances
- Tableaux
- Listes
- Piles
- Queue d’attente
- Dictionnaires, tables de hachage et hashsets
- Listes génériques
- Meilleures pratiques dans l’écriture de code optimisé en C#
- Box et unboxing
- Concaténation de chaînes de caractère
- Traitement des exceptions
- Instructions while, for & foreach
- Délégués
Les classiques du C#
- Utiliser et implémenter des classes abstraites
- Utilisation et implémentation d’interfaces
- Différences entre une classe abstraite et une interface : dans quels cas utiliser l’une plutôt que l’autre ?
- Génériques
- Type nullable
- Type dynamique
- Surcharge d’opérateur : savoir définir l’égalité
- Les delegates
Les Design patterns
- Les différents types de Design pattern (patron de conception)
- Création
- Structuraux
- Comportementaux
- Implémentation du Singleton
- Implémentation de l’Observer
Les nouvelles fonctionnalités de C# 8
- Types références nullables
- String Interpolation
-
Index et plages de données
- Opérateur d’Assignation de fusion Null ??=
- Patterns Tuples
Les nouvelles fonctionnalités de C# 9 et 10
- Record
- Setter init
- Init only setters
- Top-level statements
- Immutability
- Record structs
- Global using directives
- File-scoped namespace declaration
- Constant interpolated strings
Le futur : Les nouvelles fonctionnalités de C# 11
- Littéraux de chaîne brute
- Vérification des paramètres null avec l’opérateur !!
Introduction à la programmation concurrente et asynchrone
- Concurence et Threading
- Cas d’utilisation du multi-threading
- Thread et Task
- Synchronisation et communication
- ThreadPool et efficacité
- Deadlocks et autres écueils à éviter
Introduction à la programmation asynchrone
- Différence entre appels synchrones et asynchrones
- Async opérations
- C# 5 async et await
- Gérer la Progression et l’Abandon
Interopérabilité
- P/Invoke
- Passage de paramètres
- COM Interop
- COM Wrappers
Réflexion et Attributes
- Introspection des assemblies et classes
- Les types d’Attributes
- Paramètres des Attributes
- Génération de code : Emitters
Les bases du Web
- Fonctionnement du Web
- HTTP/2 et HTTP/3
- Les cookies
- Le modèle MVC
- Les couches de haut niveau
- Client tier
- Présentation Layer
- BLL & DAL
- Data Tier
Le Web avec Blazor (WebAssembly)
- Blazor Server vs Blazor client (WASM)
- NavBar HTML CSS
- Model
- Page
- HotReload
- CRUD
Web API
- Concevoir sa première API d’accès
- Controller
- Consommer l’API depuis le client
Persistance
- Utiliser le DbContext
- Génération automatique de la base de données via le Code-First
- CRUD
- Introduction aux requêtes LINQ
- Migration
Pour aller plus loin
Formation Clean Architecture
Formation Asp .NET Core
Formation Steeltoe
Langues et Lieux disponibles
Langues
- Français
- Anglais / English
Lieux
-
France entière
- Paris
- Lille
- Reims
- Lyon
- Toulouse
- Bordeaux
- Montpellier
- Nice
- Sophia Antipolis
- Marseille
- Aix-en-Provence
- Nantes
- Rennes
- Strasbourg
- Grenoble
- Dijon
- Tours
- Saint-Étienne
- Toulon
- Angers
-
Belgique
- Bruxelles
- Liège
-
Suisse
- Genève
- Zurich
- Lausanne
-
Luxembourg
Nos Formateurs Référents
Témoignages
Les + : Vue globale des possibilités apportées par c#
En synthèse : Très bien en petit comité avec un niveau homogène
Afficher tous les témoignages
Les + : Vue globale des possibilités apportées par c#
En synthèse : Très bien en petit comité avec un niveau homogène
Les + : Vue d’ensemble des possibilités offerte par c#.
En synthèse : Top en petit groupe avec un niveau homogène.
Les + : Le formateur a su s’adapter aux différents niveaux de chacun pour rendre la formation accessible et intéressante pour tous
Noter la formation
2950€ HT / personne |
5 jours (35 heures) |