<ul><li>Rappel </li></ul><ul><ul><li>Evolutions du .NET Fx et de son IDE </li></ul></ul><ul><li>Vue d'ensemble des innovat...
 
 
Source :  http://www.danielmoth.com/Blog/2007/06/visual-studio-2008-stack.html   2002 2003 2005 2006 2008 (?) Visual Studi...
 
 
 
<ul><li>Intégration forte de : </li></ul><ul><ul><li>L’objet </li></ul></ul><ul><ul><li>Des données relationnelles </li></...
Dim contacts = From c In customers Where c.State = &quot;WA&quot; Select New With { Name = c.Name, _   Phone = c.Phone } D...
 
<ul><li>Générics </li></ul><ul><ul><li>Suppression du boxing/unboxing  </li></ul></ul><ul><ul><ul><li>Suppression du Casti...
<ul><li>My </li></ul><ul><li>Surcharge des opérateurs </li></ul><ul><li>IsNot </li></ul><ul><li>Using </li></ul><ul><li>Ty...
<ul><li>Inférence de Type </li></ul><ul><li>Initialisation d’objets simplifiée </li></ul><ul><li>Types Anonymes </li></ul>...
<ul><li>Option Infer On (valeur par défaut) </li></ul><ul><li>Dim « maVar » = « maValeur » </li></ul><ul><li>Fortement Typ...
<ul><li>Syntaxe simplifiée </li></ul><ul><li>Mot clé “  With  ” </li></ul><ul><li>Initialisation d’objet avec un type null...
<ul><li>Repose sur  </li></ul><ul><ul><li>l’initialisation d’objets </li></ul></ul><ul><ul><li>inférence de Types </li></u...
<ul><li>Les propriétés « Key » participent aux tests d'égalité et aux calculs de valeurs de code de hachage.  </li></ul><u...
<ul><li>Permet d’étendre </li></ul><ul><ul><li>Les Types du .NET Framework </li></ul></ul><ul><ul><li>Vos propres Types </...
<ul><li>Encore appelé :  </li></ul><ul><ul><li>Délégués Non Stricts </li></ul></ul><ul><ul><li>Relaxed Delegates </li></ul...
<ul><li>Syntaxe : « T? » </li></ul><ul><li>Uniquement pour les Types Valeur </li></ul><ul><li>HasValue / Value </li></ul>T...
<ul><li>Lambda opérateur «  Function  » </li></ul><ul><li>Se lit  «  Function(myNum As Integer) conduit à myNum + 1  » </l...
<ul><li>Littéraux XML  </li></ul><ul><ul><li>d'incorporer directement du XML à votre code VB </li></ul></ul><ul><ul><li>Ob...
<ul><li>Propriétés d'Axe XML :  </li></ul><ul><ul><li>permettant d'accéder aux structures LINQ to XML et les parcourir.   ...
<ul><li>Gestion des Espaces de Noms XML :  </li></ul><ul><ul><li>Spécifier un &quot;Alias&quot; afin d'identifier un espac...
<ul><li>Représente une expression sous forme d’arbre </li></ul><ul><ul><li>AST : Abstract Syntax Tree </li></ul></ul><ul><...
<ul><li>Traduction des expressions lambda : </li></ul><ul><ul><li>Code IL </li></ul></ul><ul><ul><li>Abres d’expression (=...
<ul><li>Une expression représente l’arbre d’objets qui représente l’expression passée en argument </li></ul>
<ul><li>Friend assemblies </li></ul><ul><ul><li>Attribut “VisibleTo” </li></ul></ul><ul><li>Agilité du Runtime </li></ul><...
http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
<ul><li>Visual Basic Dev Center & Content: </li></ul><ul><ul><li>http://msdn.com/vbasic/ </li></ul></ul><ul><li>VB Team Bl...
<ul><li>S’informer  - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée </li></ul><ul><l...
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
Prochain SlideShare
Chargement dans…5
×

Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0

2 761 vues

Publié le

Publié dans : Technologie
1 commentaire
1 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
2 761
Sur SlideShare
0
Issues des intégrations
0
Intégrations
21
Actions
Partages
0
Téléchargements
0
Commentaires
1
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 06/02/09 10:27 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0

    1. 2. <ul><li>Rappel </li></ul><ul><ul><li>Evolutions du .NET Fx et de son IDE </li></ul></ul><ul><li>Vue d'ensemble des innovations de VB 9.0 </li></ul><ul><ul><li>Historique de Visual Basic </li></ul></ul><ul><ul><li>Objectifs de conception de VB 9.0 </li></ul></ul><ul><ul><li>Innovations de VB 9.0 </li></ul></ul><ul><li>Parcours de nouveautés du langage VB 9.0 </li></ul><ul><ul><li>Rappel des nouveautés de VB 8.0 </li></ul></ul><ul><ul><li>Nouveautés de VB 9.0 </li></ul></ul>
    2. 5. Source : http://www.danielmoth.com/Blog/2007/06/visual-studio-2008-stack.html 2002 2003 2005 2006 2008 (?) Visual Studio VS.NET 2002 VS.NET 2003 VS2005 VS2005 + Extensions VS2008 Langage VB.NET v7.0 C# v1.0 VB.NET v7.1 C# v1.1 VB.NET v8.0 C# v2.0 VB.NET v8.0 C# v2.0 VB.NET v9.0 C# v3.0 Framework .NET 1.0 .NET 1.1 .NET 2.0 .NET 3.0 .NET 3.5 CLR CLR v1.0 CLR v1.1 CLR v2.0 CLR v2.0 CLR v2.0
    3. 9. <ul><li>Intégration forte de : </li></ul><ul><ul><li>L’objet </li></ul></ul><ul><ul><li>Des données relationnelles </li></ul></ul><ul><ul><li>Du XML </li></ul></ul><ul><ul><li>… Linq, query expressions, support du xml … </li></ul></ul><ul><li>Ameliorations du langage </li></ul><ul><ul><li>Sur les tâches courantes : déclaration simplifiée d’objets, délégués non stricts, Inférence de type, … </li></ul></ul><ul><li>Ajout de nouvelles fonctionnalités </li></ul><ul><ul><li>Lambda expressions </li></ul></ul><ul><ul><li>Méthodes d’extensions </li></ul></ul><ul><ul><li>… </li></ul></ul>
    4. 10. Dim contacts = From c In customers Where c.State = &quot;WA&quot; Select New With { Name = c.Name, _ Phone = c.Phone } Dim contacts = customers _ .Where(Function(c) c.State = &quot;WA&quot;) _ .Select(Function(c) New With { Name = c.Name, _ Phone = c.Phone }) Méthodes d’extension Expressions Lambda Query expressions Initialisation d’objets Types anonymes Types implicites Types Valeur Nullable Arbres d’expressions Support de l’XML Méthodes Partielles
    5. 12. <ul><li>Générics </li></ul><ul><ul><li>Suppression du boxing/unboxing </li></ul></ul><ul><ul><ul><li>Suppression du Casting implicite </li></ul></ul></ul><ul><ul><li>Gestion de l’erreur lors de la compilation </li></ul></ul><ul><ul><li>Meilleure lisibilité du code </li></ul></ul><ul><ul><li>Meilleures performances </li></ul></ul><ul><li>Classes Partielles </li></ul><ul><ul><li>Définition d’une classe sur plusieurs fichiers </li></ul></ul><ul><ul><li>Utilité dans la génération de code </li></ul></ul><ul><ul><li>Exploité par les Winforms et Webforms </li></ul></ul>
    6. 13. <ul><li>My </li></ul><ul><li>Surcharge des opérateurs </li></ul><ul><li>IsNot </li></ul><ul><li>Using </li></ul><ul><li>Types Entiers non signés </li></ul><ul><li>Etat continue </li></ul>
    7. 14. <ul><li>Inférence de Type </li></ul><ul><li>Initialisation d’objets simplifiée </li></ul><ul><li>Types Anonymes </li></ul><ul><li>Méthodes d’Extension </li></ul><ul><li>Délégués non Stricts </li></ul><ul><li>Types Valeur Nullables </li></ul><ul><li>Expressions Lambda </li></ul><ul><li>Support XML </li></ul><ul><li>Méthodes Partielles </li></ul>
    8. 15. <ul><li>Option Infer On (valeur par défaut) </li></ul><ul><li>Dim « maVar » = « maValeur » </li></ul><ul><li>Fortement Typé, directement initialisée </li></ul>Déduction du type de sortie d'une fonction par analyse des types fournis en entrées ainsi que des opérations effectuées sur ceux-ci http://blogs.developpeur.org/redo/archive/2008/01/27/nouveaut-s-vb-2008-vb-9-0-l-inf-rence-de-type.aspx
    9. 16. <ul><li>Syntaxe simplifiée </li></ul><ul><li>Mot clé “ With ” </li></ul><ul><li>Initialisation d’objet avec un type nullable engendrera un compile time error ! </li></ul>http://blogs.developpeur.org/redo/archive/2008/01/28/nouveaut-s-vb-2008-vb-9-0-initialisation-d-objets-simplifi-e.aspx
    10. 17. <ul><li>Repose sur </li></ul><ul><ul><li>l’initialisation d’objets </li></ul></ul><ul><ul><li>inférence de Types </li></ul></ul><ul><li>IntelliSense© disponible </li></ul><ul><li>Exploitée dans les projections de LINQ (Select) </li></ul>Création d’objets sans écrire de définition de classe pour le type de données le compilateur se charge de générer une classe http://blogs.developpeur.org/redo/archive/2008/01/29/nouveaut-s-vb-2008-vb-9-0-types-anonymes.aspx
    11. 18. <ul><li>Les propriétés « Key » participent aux tests d'égalité et aux calculs de valeurs de code de hachage. </li></ul><ul><li>Les valeurs des propriétés de clé ne peuvent pas être modifiées </li></ul>Le mot clé Key vous permet de spécifier le comportement des propriétés des types anonymes. http://blogs.developpeur.org/redo/archive/2008/01/29/nouveaut-s-vb-2008-vb-9-0-types-anonymes.aspx
    12. 19. <ul><li>Permet d’étendre </li></ul><ul><ul><li>Les Types du .NET Framework </li></ul></ul><ul><ul><li>Vos propres Types </li></ul></ul><ul><li>Uniquement : Sub ou Function </li></ul><ul><li>Doit être marqué de <Extension()> </li></ul><ul><ul><li>System.Runtime.CompilerServices </li></ul></ul>Permettent l’ajout de fonctionnalité personnalisées aux types de données déjà définis sans créer de type dérivé http://blogs.developpeur.org/redo/archive/2008/01/30/nouveaut-s-vb-2008-vb-9-0-les-m-thodes-d-extension.aspx
    13. 20. <ul><li>Encore appelé : </li></ul><ul><ul><li>Délégués Non Stricts </li></ul></ul><ul><ul><li>Relaxed Delegates </li></ul></ul><ul><li>Vraie relaxation : les paramètres ne sont pas obligatoires, vous pouvez ne pas les utiliser ! </li></ul>Permet d'assigner des méthodes (subs, fonctions) aux délégués ou aux gestionnaires lorsque les signatures (paramètres) ne sont pas identiques http://blogs.developpeur.org/redo/archive/2008/01/31/nouveaute-vb-2008-vb-9-0-conversion-simplifiee-des-delegues-non-stricts-relaxed-delegates.aspx
    14. 21. <ul><li>Syntaxe : « T? » </li></ul><ul><li>Uniquement pour les Types Valeur </li></ul><ul><li>HasValue / Value </li></ul>Types Valeur peuvent être étendus afin d'accepter une valeur normale ou une valeur « Null » http://blogs.developpeur.org/redo/archive/2008/02/01/nouveaut-s-vb-2008-vb-9-0-types-valeur-nullables.aspx Lève une exception Nothing”
    15. 22. <ul><li>Lambda opérateur «  Function  » </li></ul><ul><li>Se lit «  Function(myNum As Integer) conduit à myNum + 1  » </li></ul><ul><li>Utilisable chaque fois qu'un type délégué est valide. </li></ul><ul><li>Simplifications les entêtes d'une méthode anonyme </li></ul><ul><li>Fonction dans une expression récupérant le pointeur vers cette fonction ( Possibilité de récupérer un arbre d’expression) </li></ul>Une fonction ne possédant pas de nom permettant de calculer et retourner une valeur unique. http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
    16. 23. <ul><li>Littéraux XML </li></ul><ul><ul><li>d'incorporer directement du XML à votre code VB </li></ul></ul><ul><ul><li>Objets LINQ to XML </li></ul></ul><ul><ul><li>Namespace : « System.Xml.Linq » </li></ul></ul><ul><ul><li>Similaire à la syntaxe XML 1.0 mais pas identique </li></ul></ul><ul><li>Expressions Littérales XML  </li></ul>Visual Basic, au travers de LINQ to XML , permet un support étendu de l'XML grâce aux Littéraux XML et aux Propriétés d’Axes XML http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
    17. 24. <ul><li>Propriétés d'Axe XML : </li></ul><ul><ul><li>permettant d'accéder aux structures LINQ to XML et les parcourir.  </li></ul></ul><ul><ul><li>Permet d'accéder aux nœuds enfants, nœuds descendants et attributs d'un littéral XML </li></ul></ul><ul><li>Types d’Axes : </li></ul><ul><ul><li>axe enfant :  xml.<phone> </li></ul></ul><ul><ul><li>axe d'attribut : [email_address] </li></ul></ul><ul><ul><li>axe descendant : xml...<NomElement> </li></ul></ul><ul><ul><li>indexeur d'extension : xml...<NomElement>(0) </li></ul></ul><ul><ul><li>valeur : xml...<NomElement>.Value </li></ul></ul>
    18. 25. <ul><li>Gestion des Espaces de Noms XML : </li></ul><ul><ul><li>Spécifier un &quot;Alias&quot; afin d'identifier un espace de noms XML </li></ul></ul><ul><ul><li>Permet d'accéder : </li></ul></ul><ul><ul><ul><li>aux nœuds enfants, </li></ul></ul></ul><ul><ul><ul><li>nœuds descendants, </li></ul></ul></ul><ul><ul><ul><li>attributs d'un littéral XML </li></ul></ul></ul>
    19. 26. <ul><li>Représente une expression sous forme d’arbre </li></ul><ul><ul><li>AST : Abstract Syntax Tree </li></ul></ul><ul><ul><li>ASG : Abstract Semantic Graph </li></ul></ul><ul><li>Un arbre syntaxique est la représentation en mémoire d'un ensemble d'éléments de notre langage </li></ul>Sources : http://www.dotnetguru.org/articles/dossiers/creercompilo/compilateurdnet2.htm res = n * (n - 1);
    20. 27. <ul><li>Traduction des expressions lambda : </li></ul><ul><ul><li>Code IL </li></ul></ul><ul><ul><li>Abres d’expression (= code as data) </li></ul></ul><ul><ul><ul><li>Peut être analysé au Runtime </li></ul></ul></ul><ul><ul><ul><li>Utilisé dans les LINQ query providers (LINQ to SQL) </li></ul></ul></ul>Dim sq As Func ( Of Integer , Integer ) = Function (i) i * i Dim four = sq (2) Dim e As Expression ( Of Func ( Of Integer , Integer )) _ = Function (i) i * i * i i λ i
    21. 28. <ul><li>Une expression représente l’arbre d’objets qui représente l’expression passée en argument </li></ul>
    22. 29. <ul><li>Friend assemblies </li></ul><ul><ul><li>Attribut “VisibleTo” </li></ul></ul><ul><li>Agilité du Runtime </li></ul><ul><ul><li>Compile sans Microsoft.VisualBasic.dll </li></ul></ul><ul><ul><li>Origine de CF et Silverlight </li></ul></ul><ul><ul><li>Nouveau /vbruntime switch </li></ul></ul><ul><li>Inférence de types générics améliorés </li></ul>
    23. 30. http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
    24. 31. <ul><li>Visual Basic Dev Center & Content: </li></ul><ul><ul><li>http://msdn.com/vbasic/ </li></ul></ul><ul><li>VB Team Blog </li></ul><ul><ul><li>http://blogs.msdn.com/vbteam/ </li></ul></ul><ul><li>Refactor! for Visual Basic & Web developers </li></ul><ul><ul><li>http://msdn2.microsoft.com/en-us/vbasic/ms789083.aspx </li></ul></ul><ul><li>Nous contacter : </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul>
    25. 32. <ul><li>S’informer - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée </li></ul><ul><li>Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs </li></ul><ul><li>Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique </li></ul>La référence technique pour les IT Pros : technet.microsoft.com L’engagement Microsoft pour les développeurs : msdn.microsoft.com Visual Studio 2008 + Abonnement MSDN Premium Abonnement TechNet Plus : Versions d’éval + 2 incidents support
    26. 33. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Votre potentiel, notre passion TM

    ×