Le Framework .NET est une plate-forme informatique qui simplifie le développement d'applications en proposant une approche unifiée pour la conception d'applications Web et Windows
Similaire à Le Framework .NET est une plate-forme informatique qui simplifie le développement d'applications en proposant une approche unifiée pour la conception d'applications Web et Windows (20)
Le Framework .NET est une plate-forme informatique qui simplifie le développement d'applications en proposant une approche unifiée pour la conception d'applications Web et Windows
2. Qu'est-ce que le Framework .NET ?
• Le Framework .NET est une plate-forme
informatique qui simplifie le développement
d'applications en proposant une approche
unifiée pour la conception d'applications Web
et Windows.
3. Que peut fournir le framework .NET
• Fournir un environnement cohérent de
programmation orientée objet que le code objet soit
stocké et exécuté localement, mais distribué sur
Internet ou exécuté à distance.
• Fournir un environnement d'exécution de code qui
minimise le déploiement de logiciels et de conflits de
versionning.
4. Que peut fournir le framework .NET
• Fournir un environnement d'exécution de code qui
élimine les problèmes de performance des
environnements interprétés ou écrits en scripts.
• Fournir au développeur un environnement cohérent
entre une grande variété de types d'applications
comme les applications Windows et les applications
Web.
• Générer toutes les communications à partir des
normes d'industries pour s'assurer que le code basé
sur le Framework .NET peut s'intégrer à n'importe
quel autre code.
5. Qu'est-ce que le Compact Framework .NET ?
Le compact Framework .NET est la version light du
Framework .NET qui est destinée au développement
d'applications mobiles sur Pocket PC et Smartphone.
Etant donné que le microprocesseur d'un appareil
mobile est bien moins puissant que celui d'un
ordinateur de bureau avec en plus une mémoire
assez limitée, Microsoft a du trouver des solutions
afin d'alléger au maximum le Framework .NET. Pour
arriver à cela, il a fallu supprimer toutes les
fonctionnalités qui ne servent à rien sur un appareil
mobile, comme par exemple les impressions.
6. Qu'est ce que la Common Language Runtime
(CLR) ?
La Common Language Runtime (CLR) est un
environnement d'exécution sécurisé et robuste qui
supporte du code écrit dans plusieurs langages
différents (C++, VB, C#, Pascal, Cobol ...) et simplifie
le développement, la gestion et le déploiement
d'applications. On peut la comparer à la Java Virtual
Machine (JVM) ou au Runtime Visual Basic 6
(msvbvm60.dll).
Il est constituée d'un ensemble de services standards
(Modèle de programmation orientée objet, sécurité)
dont chaque programme .NET peut tirer profit.
8. Qu'est-ce que le Common Type System (CTS) ?
Afin que des classes définies dans plusieurs
langages puissent communiquer entres elles,
elles ont besoin d'un ensemble de types de
données communs. C'est l'objet de la CTS, elle
définit les types de données que le Runtime .NET
comprend et que les applications .NET peuvent
utiliser.
.A noter que la CTS est un sur-ensemble de la CLS
9. Qu'est-ce que la Common Language System
(CLS) ?
C'est un sous-ensemble de la CTS que chaque langage
.NET est supposé supporter. Un programme qui
utilise des types de la CLS peut interagir avec un
autre programme .NET écrit dans un autre langage. Il
est donc ainsi possible par exemple qu'une classe C#
hérite d'une classe VB .NET.
10. Qu'est-ce que l'Intermediate Language (IL) ?
Tous les programmes .NET avant d'être déployés sont
compilés dans un langage de bas niveau appelé
Intermediate Language ou Microsoft Intermediate
Language (MSIL) : ce code (IL) est ensuite compilé
dans un code natif au moment de l'exécution. Ce qui
signifie que quelque soit le langage utilisé dans votre
programme, vos exécutables et DLL seront toujours
déployés sous la forme de code IL ; il n'y a donc
aucune différence entre un composant écrit en C# et
en VB .NET.
11. Qu'est-ce que la bibliothèque de classes du
Framework .NET ?
La bibliothèque de classes, le composant principal du
Framework .NET avec le Common Language
Runtime, est une collection complète orientée objet,
de types réutilisables que vous pouvez utiliser pour
développer des applications allant des traditionnelles
applications à ligne de commande ou à interface
graphique utilisateur (GUI, Graphical User Interface)
jusqu'à des applications qui exploitent les dernières
innovations fournies par ASP.NET, comme les
services Web XML et Web Forms.
12. Le module ADO.NET
• ADO.NET est un ensemble de classes qui
exposent les services d'accès aux données au
programmeur .NET. ADO.NET propose un
large ensemble de composants pour la
création d'applications distribuées avec
partage de données. Partie intégrante du .NET
Framework, il permet d'accéder à des
données relationnelles, XML et d'application.
13. • ADO.NET répond à divers besoins en matière
de développement, en permettant
notamment de créer des clients de bases de
données frontaux et des objets métier de
couche intermédiaire utilisés par des
applications, outils, langages ou navigateurs
Internet.
Le module ADO.NET
14. Le module WinForms
• WinForms est un ensemble de composants
graphiques prédéfinis. Les formulaires étant
les unités de base de votre application, il est
essentiel de réfléchir à leur fonction et à leur
conception. Visual Studio offre, à cet effet, un
environnement de développement intégré
(IDE) pour vous aider à écrire le code, ainsi
qu'un ensemble de contrôles élaborés écrits
avec .NET Framework.
15. Caractéristiques de .NET
• supporte 27 langages de programmation (Perl,
Python, Cobol, Haskell, ML, Jscript, Ada, APL,
Eiffel, Pascal, Fortran, Managed Managed C++
C++, Visual Basic, C#, SmallTalk, Oberon,
Scheme, Mercury, Oz, Objective Caml, J#, …)
• possède un ensemble complet de classes de
base (comparable à Java)
• pas de code natif : utilisation d’un langage
intermédiaire le MSIL (MicroSoft Intermediate
Language)
16. • pas de code natif : utilisation d’un langage
intermédiaire le MSIL (MicroSoft Intermediate
Language)
• une architecture complète : le Framework
.NET
• Application et mémoire "managées" par la
CLR
17. Conclusion
• Le Framework .NET a été conçu dans un but de
compatibilité inter-langage, ce qui signifie qu'un
programme écrit en C# pourra utiliser une DLL d'un
tout autre langage sans aucune problème. Cette
interopérabilité s'étant même à l'héritage.
• Cette interopérabilité est due au Common Language
Runtime (CLR). Lorsque vous compilez un projet, le
compilateur génère un code intermédiaire appelé le
Microsoft Intermediate Language (MSIL) et c'est ce
langage qui pourra être compris par le CLR lors de
l'exécution.
18. Langages traditionnels : la
compilation
• Avec des langages traditionnels comme le C et
le C++, on écrit des instructions simplifiées,
lisibles par un humain comme : Code en C:
• printf("Bonjour");
Dans cet exemple nous allons afficher le mot
Bonjour
19. • Bien entendu, l'ordinateur ne comprend pas ces
instructions.
• Il veut du binaire, du vrai. Pour obtenir du binaire
à partir d'un code écrit en C ou C++, on doit
effectuer ce qu'on appelle une compilation. Le
compilateur est un programme qui traduit le code
source en binaire exécutable :
Un programme compilé (binaire) ne fonctionne que sur la plateforme pour laquelle
il a été compilé.
Impossible de le faire tourner sous Mac OS X ou Linux simplement, à moins de le
recompiler sous ces systèmes d'exploitation
20. Langages récents : le code
managé
• La compilation en C# ne donne pas un
programme binaire, contrairement au C et au
C++. Le code C# est en fait transformé dans un
langage intermédiaire (appelé CIL ou MSIL)
que l'on peut ensuite distribuer à tout le
monde. Ce code, bien sûr, n'est pas
exécutable lui-même, car l'ordinateur ne
comprend que le binaire.
21. Le code en langage intermédiaire (CIL) correspond au
programme que vous allez distribuer.
Sous Windows, il prend l'apparence d'un .exe comme les
programmes habituels, mais il ne contient pas de binaire.
Lorsqu'on exécute le programme CIL, celui-ci est lu
par un autre programme (une machine à analyser les
programmes, appelée CLR) qui le compile cette fois en
vrai programme binaire.
23. • La zone verte numéro 1 contient les différents
fichiers ouverts sous la forme d’un onglet. On
voit que par défaut, Visual C# nous a créé et
ouvert le fichier Program.cs.
• Dans la zone rouge numéro 2, c’est l’éditeur
de code.
• La zone numéro 3 en violet est l’explorateur
de solutions, c’est ici que l’on voit le contenu
de la solution sur laquelle nous travaillons en
ce moment.
24. • La zone 4 en brun est la zone contenant les
propriétés de ce sur quoi nous travaillons en
ce moment.
• La zone 5 contient la liste des erreurs, des
avertissements et des messages de notre
application.
27. • Par exemple, l’âge d’une personne pourrait être
stockée sous la forme d’un entier et accessible par la
variable « age », ce qui s’écrit en C# :
int age;
• Pour l’initialiser (on parle également « d’affecter une
valeur ») on utilisera l’opérateur égal (« = »).
int age;
age = 30;
• L’initialisation d’une variable peut également se faire
au même moment que sa déclaration.
int age = 30;
28. • Il est possible de modifier la valeur de la variable à
n’importe quel moment grâce à l’emploi de
l’opérateur = (affectation):
• Attention, suivant le principe de sensibilité à la casse,
il faut faire attention car ageduvisiteur et
ageDuVisiteur seront deux variables différentes :
29. • nous pouvons stocker une chaine de caractères grâce
au type string:
• ou encore un décimal avec :
• ou encore un boolean (qui représente une valeur vraie
ou fausse) avec:
30. Affectation, opérations,
concaténations
• Il est possible d’effectuer des opérations sur les
variables et entre les variables. Nous avons déjà vu
comment affecter une valeur à une variable grâce à
l’opérateur =
• En plus de la simple affectation, nous pouvons
également faire des opérations, par exemple :
31. • Il est à noter que les variables contiennent une
valeur qui ne peut évoluer qu’en affectant une
nouvelle valeur à cette variable. Ainsi, si j’ai le code
suivant :
• Le fait de changer la valeur du classeur « age2 »
n’influence en rien le classeur « moyenne ». Pour le
modifier, il faudrait ré-exécuter l’opération
d’affectation de la variable moyenne:
32. • L’opérateur « + » peut également servir à concaténer
des chaines de caractères, par exemple :
• D’autres opérateurs particuliers existent que nous ne
trouvons pas dans les cours de mathématiques. Par
exemple, l’opérateur ++ qui permet de réaliser une
incrémentation de 1, ou l’opérateur -- qui permet de
faire une décrémentation de 1.
33. • Comme nous avons pu le voir dans nos cours de
mathématiques, il est possible de grouper des
opérations avec des parenthèses pour agir sur leurs
priorités.
effectue bien la somme des deux âges avant de les
diviser par 2, car les parenthèses sont prioritaires.
• Cépendant, l’instruction suivante :
aurait commencé par diviser l’age2 par 2 et aurait
ajouté l’age1, ce qui n’aurait plus rien à voir avec une
moyenne.
34. • nous pouvons stocker des caractères spéciaux dans
des variables pour faire par exemple :
• Ce qui donne:
35. Pour les chaines de caractères il existe des caractères :
• n, r : retour à la ligne
• t : tabulation (pratique pour les alignements
verticaux)
• : permet d’afficher un antislash
• " : permet d’afficher un guillemet
36. Les opérateurs de comparaison
• On dénombre plusieurs opérateurs de comparaisons,
les plus courants sont:
37. Les instructions conditionnelles
• L’instruction «if »:
L’instruction if permet d’exécuter du code si une
condition est vraie (if = si en anglais)
Ici, nous avons une variable contenant le solde de notre
compte en banque. Si notre solde est supérieur ou
égal à 0 alors nous affichons que le compte est
créditeur.
38. Pour afficher que le compte est débiteur, on pourrait
tester si la valeur de la variable est inférieure à 0 et
afficher que le compte est débiteur :
Une autre solution est d’utiliser le mot clé else, qui
veut dire « sinon » en anglais
39. Ainsi, il sera également possible de tester la valeur
d’un booléen.
Voici d’autres exemples pour vous permettre
d’appréhender plus précisément le fonctionnement
du type bool :
40. Un type bool peut prendre deux valeurs, vrai ou
faux, qui s’écrivent avec les mots clés true et false.
D’autres opérateurs de logiques existent, nous avons
notamment l’opérateur || qui correspond au OU
logique :
41. • Remarquons enfin qu'il est possible d’enchaîner les
tests de manière à traiter plusieurs conditions en
utilisant la combinaison else-if. Cela donne :
42. • L’instruction «switch »:
L’instruction switch peut être utilisée lorsqu’une
variable peut prendre beaucoup de valeurs. Elle
permet de simplifier l’écriture.
Ainsi, l’instruction suivante :
44. Nous pouvons également indiquer une valeur par
défaut en utilisant le mot clé default, ainsi dans
l’exemple suivant tout ce qui n’est pas « M. » ou
« Mme » ou « Mlle » donnera l’affichage d’un
« Bonjour inconnu » :
45. Nous pouvons également enchainer plusieurs cas
pour qu’ils fassent la même chose, ce qui reproduit
le fonctionnement de l’opérateur logique OU (« ||
»). Par exemple, on pourra remplacer l’exemple
suivant :