Chapitre 1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 27

Chapitre 1:

Architecture Dr. Safa CHEBBI


Framework .Net 2021-2022
Plan du cours
1. Microsoft .Net
2. Définition Framework .Net
3. Avantages Framework .Net
4. Objectifs .Net
5. Composantes Architecture .Net
6. Compilation avec CLR
7. Langage Intermédiaire
8. Langage C#
9. Visual Studio
C'est quoi Microsoft .Net?
❑ Microsoft .NET: ensemble de produits et de technologies informatiques
introduits par Microsoft pour créer des applications sur différents
systèmes d'exploitation.

❑ Les implémentations de la plateforme .Net sur les différents systèmes d'exploitation:

✓ Framework .Net: l'mplémentation originale du .Net pour exécuter


des applications sur windows
✓ .Net Core (open source): implémentation multi-plateforme sur windows, linux
et macOS
✓ Xamarin: implémentation .Net pour exécuter des applications sur
la majorité des systèmes d'exploitation mobile comprenant ios et android.
framework .Net
• C'est un langage de programmation? Framework? Technologie?
Application .Net
• c'est un framework logiciel sur lequel on peut utiliser n'importe quel
langage de programmation pour développer des applications de
différents types : web, console, desktop
Framework .Net

L'intention principale était de combler l'écart d'interopérabilité


entre les services de divers langages de programmation. Système
d'exploitation +
Hardware
Historique Framework .Net
• Microsoft a annoncé l'initiative .NET en juillet 2000 avec la version beta 1.0 (dernière version
avant la commercialisation).
• Version 2.0 en 2004 avec des contrôles supplémentaires et améliorés.
• Version 3.0 avec windows server 2008 et windows vista.
• Version 3.5 avec windows 7.
• Version 4.0 avec des modèles de sécurité améliorés.
• Version 4.5 en 2012.
• Version 4.6 en 2014 avec le nouveau JIT pour le système 64 bits.
• Version 4.7 en 2017
• Version 4.8 en 2019 supporte approximativement plus de 300 langages de programmation.
Les objectifs du framework .net
❑Le framework .NET est conçu pour atteindre principalement les objectifs
suivants:

✓Fournir un environnement de programmation orienté objet


✓Fournir un environnement pour développer divers types d'applications:
web, Windows, mobile...
✓Pour s'assurer que le code basé sur le Framework .NET peut s'intégrer à tout
autre code
caractéristiques du framework .net
❑Interopérabilité entre les différents langages de programmation via le Common Type
System (CTS)
❑Problèmes de versionnage largement traités sans effort
❑Prise en charge de POO
❑Indépendance linguistique
❑Déploiement simplifié
❑Développement facile d'application Web
❑Sécurité des applications intégrées: .Net encapsule de nombreuses fonctionnalités dans
des classes grâce au concept de la POO.
❑Portabilité: capacité de s'exécuter sous différents environnements (ordinateur, tablette,…)
Les composants du famework .NET
❖Common Language Runtime (CLR)
➢Environnement pour l'exécution contrôlée du code programmé: comme une
machine virtuelle
➢Exécute des applications .NET
❖Bibliothèque de classes Framework (FCL)
➢Bibliothèque de classes standard pour le développement .NET
➢Fournit des fonctionnalités de base pour le développement : XML, ADO.NET,
LINQ, ASP.NET, WPF, WCF, WWF,
➢Silverlight, Web services, Windows Forms, ...
❖SDK, compilateurs et outils
Architecture du framework .NET (1)
❑ L'OS gère les ressources, les processus et les
utilisateurs de la machine

❑ Fournit aux applications certains services (threads,


I/O, GDI+, DirectX, COM, COM+, MSMQ, IIS, WMI, …)

❑ CLR est un processus distinct dans le système


d'exploitation

Operating System (OS)


Architecture du rfamework .NET (1)

❑ CLR gère l'exécution du code .NET

❑ Gère la mémoire, la simultanéité, la sécurité, ...

Common Language Runtime (CLR)


Operating System (OS)
Architecture du rfamework .NET (1)
❑ Collection de classes réutilisables pour les tâches courantes et
habituelles: gestion des Entrées-sorties, traitement de texte, mise en
réseau, sécurité, multi-threading,...

Base Class Library (BCL)


Common Language Runtime (CLR)
Operating System (OS)
Architecture du rfamework .NET (1)
❑ Accès à la base de données
❑ ADO.NET, LINQ, et Entity Framework
❑ Prise en charge XML forte

ADO.Net, LINQ, XML


Base Class Library (BCL)
Common Language Runtime (CLR)
Operating System (OS)
Architecture du rfamework .NET (1)

ASP.Net Windows Forms WPF ❑ Technologies


ADO.Net, LINQ, XML d'interface
utilisateur : Web,
Base Class Library (BCL) interface
graphique
Common Language Runtime (CLR) Windows, WPF,
Silverlight, mobile,
Operating System (OS)
Architecture du rfamework .NET
Langage de
C# F# ASP.Net
J# VB.Net JScript ......
ASP.Net programmation au
ASP.Net Windows Forms WPF choix!

ADO.Net, LINQ, XML


Base Class Library (BCL)
Common Language Runtime (CLR)
Operating System (OS)
Common Language Runtime (CLR): le cœur du framework .Net
❑ Le principal composant du framework .Net

❑ Environnement d'exécution géré: prend en charge des services communs tels que le
ramasse-miettes et la sécurité

❑ Pas un interprète: La compilation à la demande est utilisée:connu sous le nom de


compilation Just In Time (JIT)

❑ Compilation possible à l'avance (Ngen)

❑ Les applications .Net sont compilées en un langage commun connu comme MSIL ou
IL code

❑ CLR convertit le langage haut niveau en langage machine en utilisant l'unité JIT (Just
In Time)
Les Responsabilités du CLR
❑ Exécution du code IL et de la compilation JIT
❑ Gestion de la mémoire et des ressources applicatives
❑ Assurer la sécurité des types
❑ Interaction avec l'OS
❑ Gestion de la sécurité
✓ Code de sécurité d'accès
✓ Sécurité basée sur les rôles
❑ Gestion des exceptions
❑ Gestion de la concurrence: contrôle de l'exécution
parallèle des threads d'application
❑ Interaction avec du code non managé
❑ Prise en charge du débogage

Architecture CLR
Code manager: Code Géré
❑ .Net prend en charge deux types de codage : géré et non géré
❑ Le code exécuté par le CLR est appelé code géré
❑ Représente le code de programmation dans le langage de bas niveau MSIL (MS Intermediate
Language)
❑ Description des classes, interfaces, propriétés, champs, méthodes, paramètres, etc.
❑ Les programmes, écrits dans n'importe quel langage .NET sont Orientés objet
❑ Sécurisé
❑ Fiable : Protégé contre l'utilisation irrégulière des types (type-safe)
❑ Permet l'intégration entre les composants et les types de données de différents langages de
programmation
❑ Portable entre différentes plates-formes Windows, Linux, Max OS X, etc.
✓ Compilé en code managé (MSIL)
✓ Conditionné sous forme d'assemblys (fichiers .exe ou .dll)
Code manager: Code non Géré
❑Pas de protection de la mémoire et de la sécurité de type :
✓ Problèmes de fiabilité
✓ Problèmes de sécurité

❑Compilé en code dépendant de la machine :


✓ besoin de différentes versions pour différents plates-formes
✓ Difficile d'être porté sur d'autres plateformes
Gestion de la mémoire
❑CLR gère automatiquement la mémoire:
✓ Les objets chargés dynamiquement sont stockés dans le tas géré
✓ Les objets inutilisables sont automatiquement nettoyés par les
ordures collectionneur

❑Certains des gros problèmes sont résolus


✓ Fuites de mémoire
✓ Accès à la mémoire libérée ou non allouée
Ramasses Miettes (Garbage Collector)
✓ il s'assure que la mémoire utilisée par une application est
complètement libérée lorsque l'application n'est plus utilisée.

✓ Il inspecte régulièrement notre ordinateur et en retire tout ce qui


n'est plus nécessaire.

✓ Il n'y a pas de délai pour inspecter la mémoire de l'ordinateur. Cela


peut arriver des milliers de fois en une seconde, une toutes les
quelques secondes ou n'importe quand. Mais nous veillons à ce
que cela se produise.
Compilation et exécution
Langage Intermédiaire MSIL
❑ Langage de bas niveau (langage machine)
pour le .NET CLR

❑ Possède un ensemble indépendant


d'instructions CPU
✓ Chargement et stockage de données
✓ appel de méthodes
✓ Opérations arithmétiques et logiques
✓ Gestion des exceptions
✓ Etc.

❑ MSIL est converti en instructions pour le


CPU physique actuel via le compilateur Exemple d'un programme MSIL
JIT.
Les langages .Net

❑Langages .NET de Microsoft : C#, VB.NET, Managed C++, J#, F#, JScript

❑Grace à l'interopérabilité offerte par le framework .net, différents


langages peuvent être mélangés dans une seule application.
Le langage c#
❑ C# est un mélange entre C++, Java et Delphi: Entièrement orienté
objet par conception

❑ Modèle de programmation orienté composants


✓ Composants, propriétés et événements
✓ Pas de fichiers d'en-tête comme C/C++
✓ Convient aux applications GUI et Web
✓ Documentation basée sur XML

❑ En C# tous les types de données sont des objets, Exemple :


5.ToString() est un appel valide
Le langage c#
Exemple d'un programme C#
L'éditeur Visual Studio
❑Visual Studio: environnement de développement intégré (IDE) puissant
pour les développeurs .NET
✓Créer, éditer, compiler et exécuter des applications .NET
✓Différents langages – C#, C++, VB.NET, J#, …
✓Éditeur de code flexible
✓Débogueur puissant
✓Intégré à SQL Server et IIS
✓Forte prise en charge des services Web, WPF et WWF
✓Concepteur de formulaires Windows
✓Concepteur de formulaires Web ASP.NET
✓Concepteur de données ADO.NET / LINQ-to-SQL / XML
L'éditeur Visual Studio

Vous aimerez peut-être aussi