SlideShare une entreprise Scribd logo
Grégory Renard [aka Redo] Technical Manager - CTO Wygwam www.wygwam.com   .NET 2.0 – C# 2.0 Développez vos applications avec la plateforme .NET et C#
Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .et de nombreuses démos !!!
Votre speaker Grégory Renard [aka Redo] CTO Wygwam –  www.wygwam.com   Microsoft Régional Director, Microsoft MVP Visual Developer ASP.NET, Microsoft CodeZone Community Member INETA Lead Belgium :  www.ineta.org Read my Blog :  http://blogs.developpeur.org/redo
Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .et de nombreuses démos !!!
.NET dans les entreprises ? A même titre que Java, .NET est devenue une des technologies majeures incontournable dans le monde du développement d'applications.  Les derniers chiffres transmis par Microsoft sont éloquents. Après 4 ans d'existence,  plus de 35% des projets en France  sont passés sur cette technologie et  plus de 50% des projets à l'échelle mondiale .  Ne négligez pas cette environnement de développement ! Marc Gardette – Microsoft France Certains chiffres témoignent de la bonne santé de .NET et de son adoption croissante : .NET déployé dans plus de 50% des « Fortunes 100 », plus de 70 Millions de systèmes avec le Framework .NET déployé, (pré-installé sur 60% des nouveaux systèmes, plus de 20 millions de download avec Windows Update), plus de 450 livres disponibles sur .NET, plus de 250 sociétés offrent des formations sur .NET, plus de 2.5 Millions de développeurs équipés avec VisualStudio .NET….  www.dotnetguru.org - 2004
.NET Framework vs  Plateforme .NET La plateforme .NET est un ensemble de composants logiciels permettant de construire vos solutions métiers Infrastructure   Système Gestion  des Données Infrastructure Applicative Infrastructure “Information Worker”
.NET Framework vs  Plateforme .NET La plateforme .NET permet un haut niveau d'intégration et d'interopérabilité grâce à l'intégration forte des Web Services, de son modèle de classes unifiées et de l'exploitation forte du standard XML à tous niveaux
.NET Framework  vs Plateforme .NET Ensemble de services communs, utilisables depuis plusieurs langages objet.  Ces Services s’exécutent sous la forme d’un code intermédiaire indépendant de l’architecture sous-jacente.  Ces services s’exécutent dans un "runtime" ( CLR  : Common Langage Runtime) assurant les fonctions de gestion des ressources et de surveillance du bon fonctionnement des applications.
.NET Framework  vs Plateforme .NET
.NET Framework :  les classes unifiées System  System.Data (ADO .NET) System.XML System.Web (ASP .NET) Diagnostics Configuration Collections Net IO Threading Text Security Common OLEDB SQLTypes SQLClient XPath XSL Runtime InteropServices Remoting Serialization Serialization Configuration SessionState Caching Security Services UI HTMLControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms Design ComponentModel Schema Reflection Resources Globalization ServiceProcess Description Discovery Protocols
.NET Reflector Lutz Roeder Démo
Historique du .NET Juin 2000 Microsoft annonce le développement d’une nouvelle technologie 13 février 2002 Publication de la première version exploitable du Framework .NET Mars 2003  Version 1.1 du Framework .NET Novembre 2005 Publication du Framework .NET 2.0 Futur : Novembre 2006 Publication de Windows Vista et du « le Framework .NET 3.0 »
Evolution du .NET V1 2002 V1.1 2003 V2 Fin 2005 V3 Fin 2006
.NET : Un standard C# et CLI qui sont déposés à l'ECMA http://www.ecma.ch    ECMA-334, C# (C sharp) Language Specification. ECMA-335, Common Language Infrastructure, approved by the ECMA General Assembly of 13th December 2001.  ECMA TR/84, related to Standard ECMA-335 Soumis à l’ISO ( au stade 60 : publication ) ISO 23270 (C#) , 23271(CLI)  et 23272(CLI TR) http://msdn.microsoft.com/net/ecma/
Spécifications C# - CLI ECMA – ISO Démo
Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
Vue d’ensemble du .NET Framework Structure du .NET Framework CLS : Common Language Specifications FCL : Framework Class Library BCL : Base Class Library CLR : Common Language Runtime CLI : Common Language Infrastructure CTS : Common Type System Langages .NET-Compliant Types de Développements Développement d’applications clientes Développement d’applications serveurs Applications Web et services Web XML  Applications Windows  ADO .NET : données et XML
Structure du .NET Framework :  CLS   CLS :  Common Language Specifications Définissent les contraintes que doivent respecter les langages et leur compilateur respectif Héritage simple Pas de sensibilité à la casse Gestion des exceptions … Permet d’utiliser des objets entre plusieurs langages Une classe écrite en J# peut être la classe de base d’une classe C# Cette même classe pourra être utilisé par un client Eiffel.Net …
Structure du .NET Framework :  FCL   FCL :  Framework Class Library Librairie de classe unifiées du .NET Framework Organisée en Namespaces Couvre de nombreux domaines : System  System.Data (ADO .NET) System.XML System.Web (ASP .NET) Diagnostics Configuration Collections Net IO Threading Text Security Common OLEDB SQLTypes SQLClient XPath XSL Runtime InteropServices Remoting Serialization Serialization Configuration SessionState Caching Security Services Description Discovery Protocols UI HTMLControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms Design ComponentModel Schema Reflection Resources Globalization ServiceProcess
Structure du .NET Framework :  BCL BCL :  Base Class Library Librairie de classe de base du .NET Framework Distribuent les bloques fondamentaux  Commun à tous types de développement La BCL contient par exemple les  espaces de noms suivants : System System.Collections System.IO System.Text
Structure du .NET Framework :  CLR CLR :  Common Language Runtime Le CLR joue un double rôle : Lors du développement de vos applications Lors de l'exécution de vos applications Le CLR se chargera ainsi de fournir des  services tels que : Chargement et exécution de vos applications  (Runtime) et ainsi de votre code Isolation de la mémoire des applications Gestion de la mémoire Gestion de l'accès aux métadonnées de  vos assemblages Conversion du code IL en code machine (JIT) Garbage Collector : Nettoyage automatique  de la mémoire Gestion du moteur de sécurité de vos applications
Structure du .NET Framework :  CLI CLI :  Common Language Infrastructure Infrastructure du CLR,  La CLI (Common Language Infrastructure)  mentionné précédemment dans  l'explication de la FCL est à même titre  que les spécifications du langage  C# standardisé auprès de l'ECMA ECMA :  www.ecma-international.org/publications/standards/Standard.htm   Standard ECMA-335 :  Common Language Infrastructure (CLI) - 3ème edition (Juin 2005)  www.ecma-international.org/publications/standards/Ecma-335.htm
Structure du .NET Framework :  CTS CTS :  Common Type System Common Type System Déposé a l’ECMA CTS fait parti de la CLI Types définit au niveau du CLR Unique, mais « mappés » par les syntaxes Int , integer … vers INT32 String unique pour toute les syntaxes
.NET Framework :  Structuré pour unifier ! Héritage, Contrôle, performance Windows API MFC/ATL ASP Stateless, mélange de code/HTML VB Forms RAD, Composition, Délégation .NET Framework RAD, Héritage, contrôle et performance,  WebDynamic et WebServices
Langages .NET-Compliant : Unification ! La plate-forme .Net est indépendante du langage Tous les langages accèdent aux services fournis par la CLR Commun Langage Spécification (CLS) Spécification d’écriture des compilateurs « syntaxiques » Chaque langage utilise et étend le framework .Net Les langages .Net sont interopérables. Déposé à L’ECMA Common Language Specification VB C++ C# J# …
Langages .NET-Compliant : Unification ! C# VB C++ Cobol
Microsoft .NET Languages C#  - Microsoft's flagship .NET Framework language which bears similarities to the C++ and Java languages.  Visual Basic .NET  - A completely redesigned version of the Visual Basic language for the .NET Framework. This also includes Visual Basic 2005 (v8.0).  C++/CLI and the deprecated Managed C++  - A managed version of the C++ language.  J#  - A Java and J++ .NET transitional language.  JScript .NET  - A compiled version of the JScript language.  Windows PowerShell  - An interactive command line shell/scripting environment which provides full access to the .NET frameworks.  IronPython  - A .NET implementation of the Python programming language being developed by Jim Hugunin at Microsoft.  Source : Microsoft .NET Languages   http://en.wikipedia.org/wiki/Microsoft_.NET_Languages
VS 2005 – About ! Démo
Non-Microsoft .NET Languages Source : Microsoft .NET Languages   http://en.wikipedia.org/wiki/Microsoft_.NET_Languages
Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
Installation du .NET Framework Gratuit Intégré à certaines éditions Windows (server…) Téléchargeable via MSDN ou Windows Update http://www.microsoft.com/france/msdn/netframework/download/default.mspx   Vous êtes utilisateur  : «  Le redistribuable .NET Framework  » Téléchargez le package redistribuable de Microsoft .NET Framework 2.0 permettant d'installer le runtime .NET Framework et les fichiers associés requis pour l'exécution d'applications développées pour le .NET Framework 2.0. Vous êtes développeur  : «  Le .NET Framework SDK  » Quelles différences entre le Microsoft .NET Framework SDK et le .NET Framework redistribuable ?  Le kit de développement (SDK) vous permettra de développer sur la plate-forme .NET sans devoir utiliser un IDE particulier comme Visual Studio .NET, SharpDevelop, ...
Outils de développement  (Qqs exemples) SharpDevelop2 SharpDevelop est un IDE gratuit permettant de développer des projets de type WinForm en C# 2.0 ou VB 2005.  Vous pourrez le télécharger à l'adresse suivante :  www.icsharpcode.net/OpenSource/SD/Download
Outils de développement  (Qqs exemples) Visual Studio 2005  Visual Studio 2005 est la gamme de produits Microsoft vous permettant de développer tout type de logiciels sur Windows, le web, la mobilité ou basés sur Office.  Consultez le site officiel de Visual Studio 2005 à l'adresse suivante :  www.microsoft.com/france/msdn/vstudio/default.mspx   Gamme Express GRATUITE
Hello World Démo
Code et compilation … Code .NET = Assembly Exe, Dll, .NET Module, Pages AspX,  Web Services Asmx Tout code .NET est compilé en 2 temps : Code source vers MSIL  « Compilateurs syntaxiques » (C#, MC++, J#,  VB.NET …) Microsoft Intermediate Language IL vers code binaire Just In Time Compilation Compilateur inclus dans la runtime .NET Tout code .NET est executé en binaire Pas d’interpreteur : Just In Time Compilation
Assemblies .NET Contient  MetaData et MSIL Format PE,  Version, configuration,légal… Caractérisés par un MANIFEST Assembly externes + version Description des types + version Description des modules  Peuvent être signées Strong Name et GAC Sécurité et configuration s’applique sur les assemblies Unités de déploiement MZ Header PE Header COFF Header CLR Metadata Executable IL /Machine code
Intermediate Language Forme de « super » assembleur, indépendant du hardware… Notion de « Pseudo » code Contenu dans exe/dll/Module  Format PE standard (étendu pour les méta data) Va être compilé en binaire : A l’exécution (Just In Time Compilation) Avant déploiement (pré JIT)
.NET Reflector - IL Reflection Démo
Quels applications ? Applications Consoles Applications Windows & Smart Client Projets d’installation et de déploiement Librairies de classes Applications Web Services Web Services Windows Application Smart Device … Le tout dans un modèle de développement unifié !
VS2005   New Project Types Démo
Déployer vos applications .NET Side by Side  Par simple copie (MSI, .CAB …)  EXE et DLL dans même répertoire Ou sous répertoires : Probing /bin pour les sites WEB GAC Global Assembly Cache Signature obligatoire Assembly  pré JIT Download cache Contraintes fortes de sécurité
Sécurité et configuration .NET Plusieurs niveaux de configuration : Application Machine Entreprise MMC et snap-in de gestion Fichiers au format XML (génération possible de dlls…) Sécurité basée sur des preuves : Provenance du code,  Ce que fait le code  (io, download d’internet…) Signatures Rôles
Configuration et Sécurité Sécurité basée sur des preuves : Provenance du code,  Ce que fait le code  (io, download d’internet…) Signatures Rôles Plusieurs niveaux de configuration : Application Machine Entreprise MMC et snap-in de gestion Fichiers au format XML (génération possible de dlls…)
Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
Nouveautés du .NET Framework 2.0 Prise en charge de la plate-forme 64 bits Prise en charge de la liste de contrôle d'accès (ACL) ADO.NET ASP.NET Flux de données authentifiés Améliorations des services COM Interop Ajouts dans la classe Console API de protection des données (DPAPI) Attributs d'affichage du débogueur Prise en charge de la fonctionnalité Modifier & Continuer du débogueur Détection des modifications dans la connectivité réseau Calcul distribué Améliorations du journal d'événements Gestion de certificat étendue Prise en charge FTP Génériques et collections génériques Globalisation Améliorations d'E/S Activation basée sur manifeste Accès distant .NET Framework (System.Runtime.Remoting.Channels.Tcp) Obtention d'informations sur la configuration et l'utilisation réseau d'un ordinateur local Ping Traitement des demandes HTTP provenant des applications Contrôle par programmation de la mise en cache Langages de programmation Optimisation des Compilateurs Exceptions de sécurité Prise en charge de périphérique d'E/S série (nouvelle classe SerialPort) Sérialisation Prise en charge SMTP Prise en charge de ressources fortement typées Améliorations du threading Filtrage des données de trace Transactions Services Web Nouvelles Fonctionnalités liées aux Windows Forms (Déploiement ClickOnce,Paramètres d'application,Nouveau modèle de liaison de données, Nouveaux contrôles Windows Forms) Nouvelles Fonctionnalités liées à XML (XmlReader, XmlWriter et XPathNavigator) … Source :  http://msdn2.microsoft.com/fr-fr/library/t357fb32(VS.80).aspx
Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
Une gamme d’IDE Visual Studio 2005
VS C# Express Edition Démo
Nouveautés de VS2005 Nouveautés dans l’IDE Nouveautés dans l’édition de votre code Nouveautés dans la création et gestion des Projets, Solutions, et Items Nouveautés dans la compilation, le test et le déploiement Nouveautés dans le debugger de Visual Studio 2005 Nouveautés dans la gestion des extensions et automatisation dans Visual Studio 2005 Nouveautés dans l’aide de  Visual Studio 2005
Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
Unification par l’objet ! Framework .NET orienté objet La Base Class Library (BCL) est organisée en Namespaces Plusieurs support de l’ héritage Héritage « simple » d’implémentation Héritage multiple d’interfaces Héritage inter syntaxe Héritage « graphique »  Formulaire, Contrôles Depuis le  code source ou « binaire »
Inheritance C# Démo
Rappel de l’objet – POO ! Un objet est une instance d'une classe Les objets ont : Une identité : ils sont reconnaissables les uns des autres Un comportement : ils peuvent réaliser des tâches Des membres : Méthodes (Procédures, Fonctions, Fields, Event’s) Un état : ils stockent  des informations
Class Designer Démo
Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
Vue d’ensemble de C# 2.0 Un programme C# est composé de : Méthode Main() Classes Espaces de noms Traditionnel … Exerciseur C# 2.0  :  http://rmdiscala.free.fr/EditCs/EditCs.html
Innovations de C# 2.0 et son compilateur Générics public class List<T> { private T[] elements; private int count; public void Add(T element) { if (count == elements.Length) Resize(count * 2); elements[count++] = element; } public T this[int index] { get { return elements[index]; } set { elements[index] = value; } } public int Count { get { return count; } } } Exploitation : List<int> intList = new List<int>(); intList.Add(1);  // Pas de boxing intList.Add(2);  // Pas de boxing intList.Add(&quot;Three&quot;);  // Erreur levee lors de la compilation int i = intList[0];  // Aucun Cast nécessaire
Generics in C# 2.0 Démo
Innovations de C# 2.0 et son compilateur Partial Class // ClassPart2.cs using System; public partial class ClassPart { public void AutreMethode() { } } // ClassPart1.cs using System; public partial class ClassPart { public void Methode() { } }
Partial Class in C# 2.0 Démo
Innovations de C# 2.0 et son compilateur Anonymous methods permettent d'instancier une méthode sans la nommer button.Click += delegate { MessageBox.Show(&quot;HelloWorld&quot;); }; L’exemple suivant montre une méthode anonyme avec des arguments : button.Click += delegate(object sender, EventArgs e) {   MessageBox.Show(((Button)sender).Text); };
Et bien d’autres innovations… Types nullables  Les types nullables permettent à une variable de contenir une valeur qui n'est pas définie. Les types nullables sont utiles lorsque vous travaillez avec des bases de données et autres structures de données susceptibles de contenir des éléments sans valeur spécifique. Méthodes anonymes  Il est désormais possible de passer un bloc de code comme un paramètre. Partout où un délégué est attendu, un bloc de code peut être utilisé à la place : il est inutile de définir une nouvelle méthode. Qualificateur d'alias d'espace de noms  Le qualificateur d'alias d'espace de noms (::) offre plus de contrôle en matière d'accès aux membres de l'espace de noms. L'alias global:: autorise l'accès à l'espace de noms racine qui peut être masqué par une entité dans votre code. Classes statiques  Les classes statiques constituent un moyen fiable et pratique de déclarer une classe contenant des méthodes statiques ne pouvant pas être instanciées. En C# version 1.2 vous auriez défini le constructeur de classe comme étant privé pour empêcher la classe d'être instanciée. Alias d'assembly externe  Référencez des versions différentes du même composant contenues dans le même assembly avec cette utilisation développée du mot clé extern. Accessibilité de l'accesseur de propriété  Il est désormais possible de définir différents niveaux d'accessibilité aux propriétés pour les accesseurs get et set. Covariance et contravariance dans les délégués  La méthode passée à un délégué peut avoir maintenant plus de souplesse dans son type de retour et ses paramètres. Comment : déclarer, instancier et utiliser un délégué  La conversion de groupe de méthodes offre une syntaxe simplifiée pour déclarer les délégués. Mémoires tampon de taille fixe  Dans un bloc de code unsafe, il est désormais possible de déclarer des structures de taille fixe avec des tableaux incorporés. Assemblys friend  Les assemblys peuvent donner accès aux types non publics à d'autres assemblys. Contrôle des avertissements insérés  La directive d'avertissement #pragma peut être utilisée pour désactiver et activer certains avertissements du compilateur. Source US :  http://msdn2.microsoft.com/en-us/library/7cz8t42e(VS.80).aspx Source Fr : http://msdn2.microsoft.com/fr-fr/library/7cz8t42e(VS.80).aspx
Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Le futur du développeur .NET
.NET Framework 3.0 - WinFx WCF  :  Windows Communication Foundation  La gestion  simplifiée des couches de communications de vos applications. WF  :  Windows Workflow Foundation  une gestion plus pointue et surtout distincte de vos Workflows applicatifs.  WPF  :  Windows Presentation Foundation lEmbarquement de l’expérience utilisateur facilité par la  couche. Windows CardSpace  Identification unique auprès des services de plus en plus multiples.
.NET Framework 3.0 - WinFx Framework .net 2 Windows Presentation Foundation Windows Communication Foundation Windows Workflow Foundation CardSpace Framework .net 1.1 Framework .net 1.0 Sécurité Mobile
Ressources
.NET Framework http://en.wikipedia.org/wiki/.NET_Framework   Microsoft .NET Languages http://en.wikipedia.org/wiki/Microsoft_.NET_Languages C Sharp http://en.wikipedia.org/wiki/C_Sharp   .NET : la plate-forme d'entreprise de Microsoft http://www.microsoft.com/france/msdn/net/decouvrez/default.mspx   Benefits of Generics (C# Programming Guide) http://msdn2.microsoft.com/en-gb/library/b5bx6xee(VS.80).aspx   C# Programming Videos http://msdn2.microsoft.com/en-us/vcsharp/aa336819.aspx#2005   ECMA C# and Common Language Infrastructure Standards http://msdn2.microsoft.com/en-us/netframework/aa569283.aspx Generics (C# Programming Guide) http://msdn2.microsoft.com/en-us/library/512aeb7t.aspx   Introduction to C# Programming with Microsoft .NET http://www.microsoft.com/learning/syllabi/en-us/2609Afinal.mspx   Communauté Développez http://dotnet.developpez.com/cours Resources for Java Developers  http://msdn2.microsoft.com/en-us/vstudio/aa700835.aspx   The C# Language http://msdn2.microsoft.com/en-us/vcsharp/aa336809.aspx   The C# Programming Language for Java Developers http://msdn2.microsoft.com/en-us/vstudio/aa700844.aspx   Visual Studio C# Express Edition http://msdn.microsoft.com/vstudio/express/visualcsharp/default.aspx   Centre de développement Visual C# http://www.microsoft.com/france/msdn/vcsharp/default.mspx   Visual C# Developer Center  http://msdn2.microsoft.com/en-us/vcsharp/default.aspx   Visual C# Language http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cscon/html/vcoriCStartPage.asp   C# Tutorials http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vcoricsharptutorials.asp   Nouveautés du langage et du compilateur C# 2.0  http://msdn2.microsoft.com/fr-fr/library/7cz8t42e(VS.80).aspx   What's New in the C# 2.0 Language and Compiler http://msdn2.microsoft.com/en-us/library/7cz8t42e(VS.80).aspx
http://www.dotnet-u.com/

Contenu connexe

PPTX
Visual Studio 2008 Overview
PPTX
C# et .NET : Enigmes et puzzles
PPTX
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
PPT
Cours Visual Basic.NET
PPTX
Vs2008 Linq
PPTX
C# langage & syntaxe
PDF
Visual basic 6.0
PPT
Formation C# - Cours 3 - Programmation objet
Visual Studio 2008 Overview
C# et .NET : Enigmes et puzzles
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
Cours Visual Basic.NET
Vs2008 Linq
C# langage & syntaxe
Visual basic 6.0
Formation C# - Cours 3 - Programmation objet

Tendances (20)

PDF
Chap 6 : classes et interfaces
PDF
Chap1V2019: Cours en C++
PPTX
Linq Tech Days08 Lux
PDF
Chap1: Cours en C++
PDF
Programmation en C
PPTX
Développer en natif avec C++11
PPT
Tour Horizont.Net
PPTX
Les nouveautés de C++11 : Ecrire du C++ Moderne
PDF
Chapitre4: Pointeurs et références
PDF
Cours de c
PDF
Chapitre 11: Expression Lambda et Référence de méthode en Java
PDF
Les Web Services en 60 diapos chrono !
PDF
Cours c#
 
PDF
Chap2fonctionscpp
PPTX
TypeScript for dummies
PDF
Cours de programmation en c
PPTX
DOC
Le langage C
PDF
Cours langage-c
PPTX
C++11 en 12 exemples simples
Chap 6 : classes et interfaces
Chap1V2019: Cours en C++
Linq Tech Days08 Lux
Chap1: Cours en C++
Programmation en C
Développer en natif avec C++11
Tour Horizont.Net
Les nouveautés de C++11 : Ecrire du C++ Moderne
Chapitre4: Pointeurs et références
Cours de c
Chapitre 11: Expression Lambda et Référence de méthode en Java
Les Web Services en 60 diapos chrono !
Cours c#
 
Chap2fonctionscpp
TypeScript for dummies
Cours de programmation en c
Le langage C
Cours langage-c
C++11 en 12 exemples simples
Publicité

En vedette (20)

PDF
Ado.net base de données
PPTX
Presentation projet-cr definitief-1
PPSX
bienvenid@s
PPT
Presentation généraliste sur les réutilisation des données publiques
PDF
Liste d'appel français lycee malick sall
PDF
Le Cycle De Doha Accord De Partenariat Acp Omc
PPS
Luto por su esposa
PPT
OSDOC 2010 Welcome
PPS
PDF
Dossier de présentation cie 2016
PPT
OPEN DATA WEEK // Présentation du collectif Open Data France par Jean-Marie ...
PPTX
Ts, G2, Cours09
PPTX
Le mythe de syrinx
PDF
Aubade Paris
PPTX
Azure Mesh Et Surface
PDF
Proyecto de Ley Código Orgánico Monetario y Financiero
PPT
Expopsicoreligiosa
PDF
Adoption de agilité par les usages
PDF
Présentation du projet MesInfos de la Fing à la conférence Technoark 2012 (Si...
Ado.net base de données
Presentation projet-cr definitief-1
bienvenid@s
Presentation généraliste sur les réutilisation des données publiques
Liste d'appel français lycee malick sall
Le Cycle De Doha Accord De Partenariat Acp Omc
Luto por su esposa
OSDOC 2010 Welcome
Dossier de présentation cie 2016
OPEN DATA WEEK // Présentation du collectif Open Data France par Jean-Marie ...
Ts, G2, Cours09
Le mythe de syrinx
Aubade Paris
Azure Mesh Et Surface
Proyecto de Ley Código Orgánico Monetario y Financiero
Expopsicoreligiosa
Adoption de agilité par les usages
Présentation du projet MesInfos de la Fing à la conférence Technoark 2012 (Si...
Publicité

Similaire à Introdot Netc Sharp Fr (20)

PDF
Chapitre 1
PPT
Dotnet csharp
PDF
Le Framework .NET est une plate-forme informatique qui simplifie le développ...
PPTX
Framework .net overview
PDF
Introduction à ASP.NET
PDF
La technologie net par karim kalti
PPTX
Premiers pas dans l'univers .NET
PPTX
.NET Framework
PPSX
Presentation certification 70-536 atelier 1
PPSX
Presentation certification 70-536 atelier 1
PDF
02 visual basic .net - introduction a vb .net
PPTX
La plateforme de développement Microsoft pour les nuls
PPTX
Introduction au microsoft .net framework 4.0
PDF
47750479 cours-c
PPTX
LTA : Découverte de .NET Core
PDF
formation cours programmation-csharp.pdf
PPTX
Les nouveautés du Framework .NET 4.5
PPTX
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...
Chapitre 1
Dotnet csharp
Le Framework .NET est une plate-forme informatique qui simplifie le développ...
Framework .net overview
Introduction à ASP.NET
La technologie net par karim kalti
Premiers pas dans l'univers .NET
.NET Framework
Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1
02 visual basic .net - introduction a vb .net
La plateforme de développement Microsoft pour les nuls
Introduction au microsoft .net framework 4.0
47750479 cours-c
LTA : Découverte de .NET Core
formation cours programmation-csharp.pdf
Les nouveautés du Framework .NET 4.5
CWIN17 Morocco / Microsoft re-invent .net with the future in mind amine belha...

Plus de Gregory Renard (20)

PPTX
WygDay - Session Innovation xBrainLab
PPTX
WygDay 2010
PPT
PPTX
Approach the future of tourism by the new Technologies
PPTX
Approach the future of cities by the singularity of technologies !
PPTX
Wygday 2009 Session Innovation
PPT
Net 2007 Faire Du E Commerce Dans Les Mv
PPTX
Wygday Session PléNièRe (2)
PPTX
Wygday Session PléNièRe (1)
PPTX
Wygday 2008
PPT
Web Services
PPTX
Vs2008 Breakthrough Software Dev
PPT
Vs2008 Ms Lux
PPTX
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
PPT
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
PPTX
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
PPT
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
PPTX
Techdays Visual Studio 2010
PPTX
Ta Visual Studio2008 Vb9 C#3
PPT
Starter Kits
WygDay - Session Innovation xBrainLab
WygDay 2010
Approach the future of tourism by the new Technologies
Approach the future of cities by the singularity of technologies !
Wygday 2009 Session Innovation
Net 2007 Faire Du E Commerce Dans Les Mv
Wygday Session PléNièRe (2)
Wygday Session PléNièRe (1)
Wygday 2008
Web Services
Vs2008 Breakthrough Software Dev
Vs2008 Ms Lux
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Techdays Visual Studio 2010
Ta Visual Studio2008 Vb9 C#3
Starter Kits

Introdot Netc Sharp Fr

  • 1. Grégory Renard [aka Redo] Technical Manager - CTO Wygwam www.wygwam.com .NET 2.0 – C# 2.0 Développez vos applications avec la plateforme .NET et C#
  • 2. Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .et de nombreuses démos !!!
  • 3. Votre speaker Grégory Renard [aka Redo] CTO Wygwam – www.wygwam.com Microsoft Régional Director, Microsoft MVP Visual Developer ASP.NET, Microsoft CodeZone Community Member INETA Lead Belgium : www.ineta.org Read my Blog : http://blogs.developpeur.org/redo
  • 4. Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .et de nombreuses démos !!!
  • 5. .NET dans les entreprises ? A même titre que Java, .NET est devenue une des technologies majeures incontournable dans le monde du développement d'applications. Les derniers chiffres transmis par Microsoft sont éloquents. Après 4 ans d'existence, plus de 35% des projets en France sont passés sur cette technologie et plus de 50% des projets à l'échelle mondiale . Ne négligez pas cette environnement de développement ! Marc Gardette – Microsoft France Certains chiffres témoignent de la bonne santé de .NET et de son adoption croissante : .NET déployé dans plus de 50% des « Fortunes 100 », plus de 70 Millions de systèmes avec le Framework .NET déployé, (pré-installé sur 60% des nouveaux systèmes, plus de 20 millions de download avec Windows Update), plus de 450 livres disponibles sur .NET, plus de 250 sociétés offrent des formations sur .NET, plus de 2.5 Millions de développeurs équipés avec VisualStudio .NET…. www.dotnetguru.org - 2004
  • 6. .NET Framework vs Plateforme .NET La plateforme .NET est un ensemble de composants logiciels permettant de construire vos solutions métiers Infrastructure Système Gestion des Données Infrastructure Applicative Infrastructure “Information Worker”
  • 7. .NET Framework vs Plateforme .NET La plateforme .NET permet un haut niveau d'intégration et d'interopérabilité grâce à l'intégration forte des Web Services, de son modèle de classes unifiées et de l'exploitation forte du standard XML à tous niveaux
  • 8. .NET Framework vs Plateforme .NET Ensemble de services communs, utilisables depuis plusieurs langages objet. Ces Services s’exécutent sous la forme d’un code intermédiaire indépendant de l’architecture sous-jacente. Ces services s’exécutent dans un &quot;runtime&quot; ( CLR : Common Langage Runtime) assurant les fonctions de gestion des ressources et de surveillance du bon fonctionnement des applications.
  • 9. .NET Framework vs Plateforme .NET
  • 10. .NET Framework : les classes unifiées System System.Data (ADO .NET) System.XML System.Web (ASP .NET) Diagnostics Configuration Collections Net IO Threading Text Security Common OLEDB SQLTypes SQLClient XPath XSL Runtime InteropServices Remoting Serialization Serialization Configuration SessionState Caching Security Services UI HTMLControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms Design ComponentModel Schema Reflection Resources Globalization ServiceProcess Description Discovery Protocols
  • 11. .NET Reflector Lutz Roeder Démo
  • 12. Historique du .NET Juin 2000 Microsoft annonce le développement d’une nouvelle technologie 13 février 2002 Publication de la première version exploitable du Framework .NET Mars 2003 Version 1.1 du Framework .NET Novembre 2005 Publication du Framework .NET 2.0 Futur : Novembre 2006 Publication de Windows Vista et du « le Framework .NET 3.0 »
  • 13. Evolution du .NET V1 2002 V1.1 2003 V2 Fin 2005 V3 Fin 2006
  • 14. .NET : Un standard C# et CLI qui sont déposés à l'ECMA http://www.ecma.ch   ECMA-334, C# (C sharp) Language Specification. ECMA-335, Common Language Infrastructure, approved by the ECMA General Assembly of 13th December 2001.  ECMA TR/84, related to Standard ECMA-335 Soumis à l’ISO ( au stade 60 : publication ) ISO 23270 (C#) , 23271(CLI) et 23272(CLI TR) http://msdn.microsoft.com/net/ecma/
  • 15. Spécifications C# - CLI ECMA – ISO Démo
  • 16. Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
  • 17. Vue d’ensemble du .NET Framework Structure du .NET Framework CLS : Common Language Specifications FCL : Framework Class Library BCL : Base Class Library CLR : Common Language Runtime CLI : Common Language Infrastructure CTS : Common Type System Langages .NET-Compliant Types de Développements Développement d’applications clientes Développement d’applications serveurs Applications Web et services Web XML Applications Windows ADO .NET : données et XML
  • 18. Structure du .NET Framework : CLS CLS : Common Language Specifications Définissent les contraintes que doivent respecter les langages et leur compilateur respectif Héritage simple Pas de sensibilité à la casse Gestion des exceptions … Permet d’utiliser des objets entre plusieurs langages Une classe écrite en J# peut être la classe de base d’une classe C# Cette même classe pourra être utilisé par un client Eiffel.Net …
  • 19. Structure du .NET Framework : FCL FCL : Framework Class Library Librairie de classe unifiées du .NET Framework Organisée en Namespaces Couvre de nombreux domaines : System System.Data (ADO .NET) System.XML System.Web (ASP .NET) Diagnostics Configuration Collections Net IO Threading Text Security Common OLEDB SQLTypes SQLClient XPath XSL Runtime InteropServices Remoting Serialization Serialization Configuration SessionState Caching Security Services Description Discovery Protocols UI HTMLControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms Design ComponentModel Schema Reflection Resources Globalization ServiceProcess
  • 20. Structure du .NET Framework : BCL BCL : Base Class Library Librairie de classe de base du .NET Framework Distribuent les bloques fondamentaux Commun à tous types de développement La BCL contient par exemple les espaces de noms suivants : System System.Collections System.IO System.Text
  • 21. Structure du .NET Framework : CLR CLR : Common Language Runtime Le CLR joue un double rôle : Lors du développement de vos applications Lors de l'exécution de vos applications Le CLR se chargera ainsi de fournir des services tels que : Chargement et exécution de vos applications (Runtime) et ainsi de votre code Isolation de la mémoire des applications Gestion de la mémoire Gestion de l'accès aux métadonnées de vos assemblages Conversion du code IL en code machine (JIT) Garbage Collector : Nettoyage automatique de la mémoire Gestion du moteur de sécurité de vos applications
  • 22. Structure du .NET Framework : CLI CLI : Common Language Infrastructure Infrastructure du CLR, La CLI (Common Language Infrastructure) mentionné précédemment dans l'explication de la FCL est à même titre que les spécifications du langage C# standardisé auprès de l'ECMA ECMA : www.ecma-international.org/publications/standards/Standard.htm Standard ECMA-335 : Common Language Infrastructure (CLI) - 3ème edition (Juin 2005) www.ecma-international.org/publications/standards/Ecma-335.htm
  • 23. Structure du .NET Framework : CTS CTS : Common Type System Common Type System Déposé a l’ECMA CTS fait parti de la CLI Types définit au niveau du CLR Unique, mais « mappés » par les syntaxes Int , integer … vers INT32 String unique pour toute les syntaxes
  • 24. .NET Framework : Structuré pour unifier ! Héritage, Contrôle, performance Windows API MFC/ATL ASP Stateless, mélange de code/HTML VB Forms RAD, Composition, Délégation .NET Framework RAD, Héritage, contrôle et performance, WebDynamic et WebServices
  • 25. Langages .NET-Compliant : Unification ! La plate-forme .Net est indépendante du langage Tous les langages accèdent aux services fournis par la CLR Commun Langage Spécification (CLS) Spécification d’écriture des compilateurs « syntaxiques » Chaque langage utilise et étend le framework .Net Les langages .Net sont interopérables. Déposé à L’ECMA Common Language Specification VB C++ C# J# …
  • 26. Langages .NET-Compliant : Unification ! C# VB C++ Cobol
  • 27. Microsoft .NET Languages C# - Microsoft's flagship .NET Framework language which bears similarities to the C++ and Java languages. Visual Basic .NET - A completely redesigned version of the Visual Basic language for the .NET Framework. This also includes Visual Basic 2005 (v8.0). C++/CLI and the deprecated Managed C++ - A managed version of the C++ language. J# - A Java and J++ .NET transitional language. JScript .NET - A compiled version of the JScript language. Windows PowerShell - An interactive command line shell/scripting environment which provides full access to the .NET frameworks. IronPython - A .NET implementation of the Python programming language being developed by Jim Hugunin at Microsoft. Source : Microsoft .NET Languages http://en.wikipedia.org/wiki/Microsoft_.NET_Languages
  • 28. VS 2005 – About ! Démo
  • 29. Non-Microsoft .NET Languages Source : Microsoft .NET Languages http://en.wikipedia.org/wiki/Microsoft_.NET_Languages
  • 30. Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
  • 31. Installation du .NET Framework Gratuit Intégré à certaines éditions Windows (server…) Téléchargeable via MSDN ou Windows Update http://www.microsoft.com/france/msdn/netframework/download/default.mspx Vous êtes utilisateur : «  Le redistribuable .NET Framework  » Téléchargez le package redistribuable de Microsoft .NET Framework 2.0 permettant d'installer le runtime .NET Framework et les fichiers associés requis pour l'exécution d'applications développées pour le .NET Framework 2.0. Vous êtes développeur : «  Le .NET Framework SDK  » Quelles différences entre le Microsoft .NET Framework SDK et le .NET Framework redistribuable ? Le kit de développement (SDK) vous permettra de développer sur la plate-forme .NET sans devoir utiliser un IDE particulier comme Visual Studio .NET, SharpDevelop, ...
  • 32. Outils de développement (Qqs exemples) SharpDevelop2 SharpDevelop est un IDE gratuit permettant de développer des projets de type WinForm en C# 2.0 ou VB 2005. Vous pourrez le télécharger à l'adresse suivante : www.icsharpcode.net/OpenSource/SD/Download
  • 33. Outils de développement (Qqs exemples) Visual Studio 2005 Visual Studio 2005 est la gamme de produits Microsoft vous permettant de développer tout type de logiciels sur Windows, le web, la mobilité ou basés sur Office. Consultez le site officiel de Visual Studio 2005 à l'adresse suivante : www.microsoft.com/france/msdn/vstudio/default.mspx Gamme Express GRATUITE
  • 35. Code et compilation … Code .NET = Assembly Exe, Dll, .NET Module, Pages AspX, Web Services Asmx Tout code .NET est compilé en 2 temps : Code source vers MSIL « Compilateurs syntaxiques » (C#, MC++, J#, VB.NET …) Microsoft Intermediate Language IL vers code binaire Just In Time Compilation Compilateur inclus dans la runtime .NET Tout code .NET est executé en binaire Pas d’interpreteur : Just In Time Compilation
  • 36. Assemblies .NET Contient MetaData et MSIL Format PE, Version, configuration,légal… Caractérisés par un MANIFEST Assembly externes + version Description des types + version Description des modules Peuvent être signées Strong Name et GAC Sécurité et configuration s’applique sur les assemblies Unités de déploiement MZ Header PE Header COFF Header CLR Metadata Executable IL /Machine code
  • 37. Intermediate Language Forme de « super » assembleur, indépendant du hardware… Notion de « Pseudo » code Contenu dans exe/dll/Module Format PE standard (étendu pour les méta data) Va être compilé en binaire : A l’exécution (Just In Time Compilation) Avant déploiement (pré JIT)
  • 38. .NET Reflector - IL Reflection Démo
  • 39. Quels applications ? Applications Consoles Applications Windows & Smart Client Projets d’installation et de déploiement Librairies de classes Applications Web Services Web Services Windows Application Smart Device … Le tout dans un modèle de développement unifié !
  • 40. VS2005 New Project Types Démo
  • 41. Déployer vos applications .NET Side by Side Par simple copie (MSI, .CAB …) EXE et DLL dans même répertoire Ou sous répertoires : Probing /bin pour les sites WEB GAC Global Assembly Cache Signature obligatoire Assembly pré JIT Download cache Contraintes fortes de sécurité
  • 42. Sécurité et configuration .NET Plusieurs niveaux de configuration : Application Machine Entreprise MMC et snap-in de gestion Fichiers au format XML (génération possible de dlls…) Sécurité basée sur des preuves : Provenance du code, Ce que fait le code (io, download d’internet…) Signatures Rôles
  • 43. Configuration et Sécurité Sécurité basée sur des preuves : Provenance du code, Ce que fait le code (io, download d’internet…) Signatures Rôles Plusieurs niveaux de configuration : Application Machine Entreprise MMC et snap-in de gestion Fichiers au format XML (génération possible de dlls…)
  • 44. Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
  • 45. Nouveautés du .NET Framework 2.0 Prise en charge de la plate-forme 64 bits Prise en charge de la liste de contrôle d'accès (ACL) ADO.NET ASP.NET Flux de données authentifiés Améliorations des services COM Interop Ajouts dans la classe Console API de protection des données (DPAPI) Attributs d'affichage du débogueur Prise en charge de la fonctionnalité Modifier & Continuer du débogueur Détection des modifications dans la connectivité réseau Calcul distribué Améliorations du journal d'événements Gestion de certificat étendue Prise en charge FTP Génériques et collections génériques Globalisation Améliorations d'E/S Activation basée sur manifeste Accès distant .NET Framework (System.Runtime.Remoting.Channels.Tcp) Obtention d'informations sur la configuration et l'utilisation réseau d'un ordinateur local Ping Traitement des demandes HTTP provenant des applications Contrôle par programmation de la mise en cache Langages de programmation Optimisation des Compilateurs Exceptions de sécurité Prise en charge de périphérique d'E/S série (nouvelle classe SerialPort) Sérialisation Prise en charge SMTP Prise en charge de ressources fortement typées Améliorations du threading Filtrage des données de trace Transactions Services Web Nouvelles Fonctionnalités liées aux Windows Forms (Déploiement ClickOnce,Paramètres d'application,Nouveau modèle de liaison de données, Nouveaux contrôles Windows Forms) Nouvelles Fonctionnalités liées à XML (XmlReader, XmlWriter et XPathNavigator) … Source : http://msdn2.microsoft.com/fr-fr/library/t357fb32(VS.80).aspx
  • 46. Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
  • 47. Une gamme d’IDE Visual Studio 2005
  • 48. VS C# Express Edition Démo
  • 49. Nouveautés de VS2005 Nouveautés dans l’IDE Nouveautés dans l’édition de votre code Nouveautés dans la création et gestion des Projets, Solutions, et Items Nouveautés dans la compilation, le test et le déploiement Nouveautés dans le debugger de Visual Studio 2005 Nouveautés dans la gestion des extensions et automatisation dans Visual Studio 2005 Nouveautés dans l’aide de Visual Studio 2005
  • 50. Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
  • 51. Unification par l’objet ! Framework .NET orienté objet La Base Class Library (BCL) est organisée en Namespaces Plusieurs support de l’ héritage Héritage « simple » d’implémentation Héritage multiple d’interfaces Héritage inter syntaxe Héritage « graphique » Formulaire, Contrôles Depuis le code source ou « binaire »
  • 53. Rappel de l’objet – POO ! Un objet est une instance d'une classe Les objets ont : Une identité : ils sont reconnaissables les uns des autres Un comportement : ils peuvent réaliser des tâches Des membres : Méthodes (Procédures, Fonctions, Fields, Event’s) Un état : ils stockent des informations
  • 55. Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Les apports du .NET au développeur !!!
  • 56. Vue d’ensemble de C# 2.0 Un programme C# est composé de : Méthode Main() Classes Espaces de noms Traditionnel … Exerciseur C# 2.0 : http://rmdiscala.free.fr/EditCs/EditCs.html
  • 57. Innovations de C# 2.0 et son compilateur Générics public class List<T> { private T[] elements; private int count; public void Add(T element) { if (count == elements.Length) Resize(count * 2); elements[count++] = element; } public T this[int index] { get { return elements[index]; } set { elements[index] = value; } } public int Count { get { return count; } } } Exploitation : List<int> intList = new List<int>(); intList.Add(1); // Pas de boxing intList.Add(2); // Pas de boxing intList.Add(&quot;Three&quot;); // Erreur levee lors de la compilation int i = intList[0]; // Aucun Cast nécessaire
  • 58. Generics in C# 2.0 Démo
  • 59. Innovations de C# 2.0 et son compilateur Partial Class // ClassPart2.cs using System; public partial class ClassPart { public void AutreMethode() { } } // ClassPart1.cs using System; public partial class ClassPart { public void Methode() { } }
  • 60. Partial Class in C# 2.0 Démo
  • 61. Innovations de C# 2.0 et son compilateur Anonymous methods permettent d'instancier une méthode sans la nommer button.Click += delegate { MessageBox.Show(&quot;HelloWorld&quot;); }; L’exemple suivant montre une méthode anonyme avec des arguments : button.Click += delegate(object sender, EventArgs e) { MessageBox.Show(((Button)sender).Text); };
  • 62. Et bien d’autres innovations… Types nullables Les types nullables permettent à une variable de contenir une valeur qui n'est pas définie. Les types nullables sont utiles lorsque vous travaillez avec des bases de données et autres structures de données susceptibles de contenir des éléments sans valeur spécifique. Méthodes anonymes Il est désormais possible de passer un bloc de code comme un paramètre. Partout où un délégué est attendu, un bloc de code peut être utilisé à la place : il est inutile de définir une nouvelle méthode. Qualificateur d'alias d'espace de noms Le qualificateur d'alias d'espace de noms (::) offre plus de contrôle en matière d'accès aux membres de l'espace de noms. L'alias global:: autorise l'accès à l'espace de noms racine qui peut être masqué par une entité dans votre code. Classes statiques Les classes statiques constituent un moyen fiable et pratique de déclarer une classe contenant des méthodes statiques ne pouvant pas être instanciées. En C# version 1.2 vous auriez défini le constructeur de classe comme étant privé pour empêcher la classe d'être instanciée. Alias d'assembly externe Référencez des versions différentes du même composant contenues dans le même assembly avec cette utilisation développée du mot clé extern. Accessibilité de l'accesseur de propriété Il est désormais possible de définir différents niveaux d'accessibilité aux propriétés pour les accesseurs get et set. Covariance et contravariance dans les délégués La méthode passée à un délégué peut avoir maintenant plus de souplesse dans son type de retour et ses paramètres. Comment : déclarer, instancier et utiliser un délégué La conversion de groupe de méthodes offre une syntaxe simplifiée pour déclarer les délégués. Mémoires tampon de taille fixe Dans un bloc de code unsafe, il est désormais possible de déclarer des structures de taille fixe avec des tableaux incorporés. Assemblys friend Les assemblys peuvent donner accès aux types non publics à d'autres assemblys. Contrôle des avertissements insérés La directive d'avertissement #pragma peut être utilisée pour désactiver et activer certains avertissements du compilateur. Source US : http://msdn2.microsoft.com/en-us/library/7cz8t42e(VS.80).aspx Source Fr : http://msdn2.microsoft.com/fr-fr/library/7cz8t42e(VS.80).aspx
  • 63. Roadmap Le .NET Framework et la plateforme .NET Architecture du .NET Framework Fonctionnement du .NET Framework Nouveautés du .NET Framework 2.0 Visual Studio 2005 : Une gamme d’IDE Le .NET Framework et la POO Innovations du C# 2.0 vs VB2005 Avenir du .NET Framework … .Le futur du développeur .NET
  • 64. .NET Framework 3.0 - WinFx WCF : Windows Communication Foundation La gestion simplifiée des couches de communications de vos applications. WF : Windows Workflow Foundation une gestion plus pointue et surtout distincte de vos Workflows applicatifs. WPF : Windows Presentation Foundation lEmbarquement de l’expérience utilisateur facilité par la couche. Windows CardSpace Identification unique auprès des services de plus en plus multiples.
  • 65. .NET Framework 3.0 - WinFx Framework .net 2 Windows Presentation Foundation Windows Communication Foundation Windows Workflow Foundation CardSpace Framework .net 1.1 Framework .net 1.0 Sécurité Mobile
  • 67. .NET Framework http://en.wikipedia.org/wiki/.NET_Framework Microsoft .NET Languages http://en.wikipedia.org/wiki/Microsoft_.NET_Languages C Sharp http://en.wikipedia.org/wiki/C_Sharp .NET : la plate-forme d'entreprise de Microsoft http://www.microsoft.com/france/msdn/net/decouvrez/default.mspx Benefits of Generics (C# Programming Guide) http://msdn2.microsoft.com/en-gb/library/b5bx6xee(VS.80).aspx C# Programming Videos http://msdn2.microsoft.com/en-us/vcsharp/aa336819.aspx#2005 ECMA C# and Common Language Infrastructure Standards http://msdn2.microsoft.com/en-us/netframework/aa569283.aspx Generics (C# Programming Guide) http://msdn2.microsoft.com/en-us/library/512aeb7t.aspx Introduction to C# Programming with Microsoft .NET http://www.microsoft.com/learning/syllabi/en-us/2609Afinal.mspx Communauté Développez http://dotnet.developpez.com/cours Resources for Java Developers http://msdn2.microsoft.com/en-us/vstudio/aa700835.aspx The C# Language http://msdn2.microsoft.com/en-us/vcsharp/aa336809.aspx The C# Programming Language for Java Developers http://msdn2.microsoft.com/en-us/vstudio/aa700844.aspx Visual Studio C# Express Edition http://msdn.microsoft.com/vstudio/express/visualcsharp/default.aspx Centre de développement Visual C# http://www.microsoft.com/france/msdn/vcsharp/default.mspx Visual C# Developer Center http://msdn2.microsoft.com/en-us/vcsharp/default.aspx Visual C# Language http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cscon/html/vcoriCStartPage.asp C# Tutorials http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vcoricsharptutorials.asp Nouveautés du langage et du compilateur C# 2.0 http://msdn2.microsoft.com/fr-fr/library/7cz8t42e(VS.80).aspx What's New in the C# 2.0 Language and Compiler http://msdn2.microsoft.com/en-us/library/7cz8t42e(VS.80).aspx

Notes de l'éditeur

  • #2: 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Rédo
  • #5: http://msdn2.microsoft.com/fr-fr/library/k1s94fta(VS.80).aspx 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • #6: http://www.dotnetguru.org/articles/interviews/marcgardette/interview.htm 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • #17: http://msdn2.microsoft.com/fr-fr/library/k1s94fta(VS.80).aspx 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • #18: La vue d&apos;une telle structure peu un tant soit peu désarçonner. Afin de bien la comprendre, partons de l&apos;élément qui vous est le plus proche : &amp;quot;le langage de programmation&amp;quot;. Avant de rentrer dans des explications plus concises, imagez que vous soyez un automobiliste au volant de votre véhicule et tentons de comparer votre situation avec l&apos;infrastructure du .NET Framework présentée afin de mieux saisir l&apos;ensemble des briques de ce schéma. La CLI ( Common Language Infrastructure ) serait les plans et un exemple du moteur pour tout type de véhicule, tandis que le CLR ( Common Language Runtime ) serait ni plus ni mois que votre moteur. Les langages (VB, C++, C#, …) serait le combustible de votre moteur et la CLS ( Common Language Specification ) la garantie que le combustible puisse faire fonctionner votre moteur. Tandis que les briques : &amp;quot;Web Services, les ASP.NET, Windows Forms, ADO.NET et Base Class Library sont des panneaux de signalisation sur votre trajet. Enfin Visual Studio 2005, votre voiture. 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • #28: Microsoft .NET languages C# - Microsoft&apos;s flagship .NET Framework language which bears similarities to the C++ and Java languages. Visual Basic .NET - A completely redesigned version of the Visual Basic language for the .NET Framework. This also includes Visual Basic 2005 (v8.0). C++/CLI and the deprecated Managed C++ - A managed version of the C++ language. J# - A Java and J++ .NET transitional language. JScript .NET - A compiled version of the JScript language. Windows PowerShell - An interactive command line shell/scripting environment which provides full access to the .NET frameworks. IronPython - A .NET implementation of the Python programming language being developed by Jim Hugunin at Microsoft. 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • #30: 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • #31: http://msdn2.microsoft.com/fr-fr/library/k1s94fta(VS.80).aspx 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • #37: Définition d’une assembly Ce que l’on trouve dedans
  • #45: http://msdn2.microsoft.com/fr-fr/library/k1s94fta(VS.80).aspx 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • #47: http://msdn2.microsoft.com/fr-fr/library/k1s94fta(VS.80).aspx 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • #51: http://msdn2.microsoft.com/fr-fr/library/k1s94fta(VS.80).aspx 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • #56: http://msdn2.microsoft.com/fr-fr/library/k1s94fta(VS.80).aspx 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  • #64: http://msdn2.microsoft.com/fr-fr/library/k1s94fta(VS.80).aspx 11/11/09 19:10 ©2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.