SlideShare une entreprise Scribd logo
1  sur  33
Visual Basic 9.0 – Visual Studio 2008Quoi de neuf ? Pascal Belaud Développeur Evangeliste Pascal.Belaud@microsoft.com http://blogs.msdn.com/pascal/ Microsoft France Grégory RENARD CTO – MVP – RegionalDirector gregory@wygwam.com http://blogs.developpeur.org/redo Wygwam
Agenda de la session Rappel Evolutions du .NET Fx et de son IDE Vue d'ensemble des innovations de VB 9.0 Historique de Visual Basic Objectifs de conception de VB 9.0 Innovations de VB 9.0 Parcours de nouveautés du langage VB 9.0 Rappel des nouveautés de VB 8.0 Nouveautés de VB 9.0
Rappel Evolutions du .NET Fx et de son IDE
De 2002 à 2008 Source : http://www.danielmoth.com/Blog/2007/06/visual-studio-2008-stack.html
De 2002 à 2008
Visual Basic 9.0  Vue d’ensemble des innovations
Visual Basic, son Historique !
VB 9.0, objectifs de conception ! Intégration forte de : L’objet Des données relationnelles Du XML  … Linq, query expressions, support du xml …  Ameliorations du langage Sur les tâches courantes : déclaration simplifiée d’objets, délégués non stricts, Inférence de type, … Ajout de nouvellesfonctionnalités Lambda expressions Méthodesd’extensions …
VB 9.0, ses Innovations ! Query expressions Dim contacts = From c In customers Where c.State= "WA" Select New With { Name = c.Name, _                                  Phone = c.Phone } Types  ValeurNullable Arbresd’expressions Types implicites Support de l’XML Expressions Lambda Dim contacts = customers _     .Where(Function(c) c.State = "WA") _     .Select(Function(c) New With { Name = c.Name, _                                                      Phone = c.Phone }) MéthodesPartielles Méthodesd’extension Types anonymes Initialisationd’objets
Visual Basic 9.0  Des nouveautés de VB 8.0 à VB 9.0…
Rappel sur VB 8.0 Générics Suppression du boxing/unboxing Suppression du Casting implicite Gestion de l’erreur lors de la compilation Meilleure lisibilité du code Meilleures performances Classes Partielles Définition d’une classe  sur plusieurs fichiers Utilité dans la génération de code Exploité par les Winforms et Webforms
Mais aussi … My Surcharge des opérateurs IsNot Using Types Entiers non signés Etat continue
Démos ,[object Object]
 Initialisation d’objets simplifiée
 Types Anonymes
 Méthodes d’Extension
 Délégués non Stricts
 Types Valeur Nullables
 Expressions Lambda
 Support XML
 Méthodes Partielles,[object Object]
Initialisation d’objets simplifiée Syntaxesimplifiée Mot clé “ With ” Initialisation d’objet avec un type nullable engendrera un compile time error ! http://blogs.developpeur.org/redo/archive/2008/01/28/nouveaut-s-vb-2008-vb-9-0-initialisation-d-objets-simplifi-e.aspx
Types Anonymes 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 Repose sur  l’initialisation d’objets inférence de Types IntelliSense© disponible Exploitée dans les projections de LINQ (Select) http://blogs.developpeur.org/redo/archive/2008/01/29/nouveaut-s-vb-2008-vb-9-0-types-anonymes.aspx
Types Anonymes : « Key » Le mot clé Key vous permet de spécifier le comportement des propriétés des types anonymes.  Les propriétés « Key » participent aux tests d'égalité et aux calculs de valeurs de code de hachage.  Les valeurs des propriétés de clé ne peuvent pas être modifiées http://blogs.developpeur.org/redo/archive/2008/01/29/nouveaut-s-vb-2008-vb-9-0-types-anonymes.aspx
Méthodes d’Extension Permettent l’ajout de fonctionnalité personnalisées aux types de données déjà définis sans créer de type dérivé Permet d’étendre Les Types du .NET Framework Vos propres Types Uniquement : Sub ou Function Doit être marqué de <Extension()> System.Runtime.CompilerServices http://blogs.developpeur.org/redo/archive/2008/01/30/nouveaut-s-vb-2008-vb-9-0-les-m-thodes-d-extension.aspx
Conversion simplifiée des déléguées 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 Encore appelé :  Délégués Non Stricts RelaxedDelegates Vraie relaxation : les paramètres ne sont pas obligatoires, vous pouvez ne pas les utiliser ! http://blogs.developpeur.org/redo/archive/2008/01/31/nouveaute-vb-2008-vb-9-0-conversion-simplifiee-des-delegues-non-stricts-relaxed-delegates.aspx
Types Valeur Nullables Types Valeur peuvent être étendus afin d'accepter une valeur normale ou une valeur « Null » Syntaxe : « T? » Uniquement pour les Types Valeur HasValue / Value Lèveuneexception Nothing” http://blogs.developpeur.org/redo/archive/2008/02/01/nouveaut-s-vb-2008-vb-9-0-types-valeur-nullables.aspx
Expressions Lambda Une fonction ne possédant pas de nom  permettant de calculer et retourner une valeur unique.  Lambda opérateur « Function » Se lit « Function(myNum As Integer) conduit à myNum + 1 » Utilisable chaque fois qu'un type délégué est valide. Simplifications les entêtes d'une méthode anonyme Fonction dans une expression récupérant le pointeur vers cette fonction (Possibilité de récupérer un arbre d’expression) http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
Support étendu d’XML (1/3) 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 Littéraux XML  d'incorporer directement du XML à votre code VB Objets LINQ to XML Namespace : «System.Xml.Linq» Similaire à la syntaxe XML 1.0 mais pas identique Expressions Littérales XML  http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
Support étendu d’XML (2/3) Propriétés d'Axe XML :  permettant d'accéder aux structures LINQ to XML et les parcourir.   Permet d'accéder aux nœuds enfants, nœuds descendants et attributs d'un littéral XML Types d’Axes : axe enfant :  xml.<phone> axe d'attribut : xml.@NomAttribut axe descendant : xml...<NomElement> indexeur d'extension : xml...<NomElement>(0)  valeur : xml...<NomElement>.Value
Support étendu d’XML (3/3) Gestion des Espaces de Noms XML :  Spécifier un "Alias" afin d'identifier un espace de noms XML  Permet d'accéder : aux nœuds enfants,  nœuds descendants,  attributs d'un littéral XML
Arbres d’expression (1/3) Représente une expression sous forme d’arbre AST : Abstract SyntaxTree ASG : Abstract Semantic Graph Un arbre syntaxique est la représentation en mémoire d'un ensemble d'éléments de notre langage res = n * (n - 1); Sources : http://www.dotnetguru.org/articles/dossiers/creercompilo/compilateurdnet2.htm

Contenu connexe

Tendances

Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Microsoft
 
Adobe flex®
Adobe flex®Adobe flex®
Adobe flex®finalspy
 
Active Server Pages (ASP)
Active Server Pages (ASP)Active Server Pages (ASP)
Active Server Pages (ASP)Saïd Radhouani
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Microsoft
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Frédéric Queudret
 
Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Microsoft
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6Microsoft
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flexdavid deraedt
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 

Tendances (17)

Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5
 
Présentation WPF
Présentation  WPFPrésentation  WPF
Présentation WPF
 
Presentation platform flash
Presentation platform flashPresentation platform flash
Presentation platform flash
 
Adobe flex®
Adobe flex®Adobe flex®
Adobe flex®
 
Active Server Pages (ASP)
Active Server Pages (ASP)Active Server Pages (ASP)
Active Server Pages (ASP)
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009
 
Support cours angular
Support cours angularSupport cours angular
Support cours angular
 
Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
EcmaScript
EcmaScriptEcmaScript
EcmaScript
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 

En vedette

Higher Higher And Higher
Higher Higher And HigherHigher Higher And Higher
Higher Higher And HigherSeverus Prime
 
Claves Felicidad
Claves FelicidadClaves Felicidad
Claves Felicidadgloria
 
Argentine Da
Argentine DaArgentine Da
Argentine DaRoThia
 
Bloque0-PACIE
Bloque0-PACIEBloque0-PACIE
Bloque0-PACIEJose Tua
 
Mon powerpoint
Mon powerpointMon powerpoint
Mon powerpointtestin
 
El Telefono
El TelefonoEl Telefono
El Telefonopirata70
 
Ayuda a adoptar una mascotas
Ayuda a adoptar una mascotasAyuda a adoptar una mascotas
Ayuda a adoptar una mascotascentrowebs
 
Ornitorrinco, close nele!
Ornitorrinco, close nele!Ornitorrinco, close nele!
Ornitorrinco, close nele!Redator MAM
 
Bases De Datos
Bases De DatosBases De Datos
Bases De DatosLuis Diaz
 
Història del còmic
Història del còmicHistòria del còmic
Història del còmiclaurajofre
 
Trucos increibles del movil
Trucos increibles del movilTrucos increibles del movil
Trucos increibles del movilcentrowebs
 
20110302 habitants connectés cornu
20110302 habitants connectés   cornu20110302 habitants connectés   cornu
20110302 habitants connectés cornuFing
 
francisco de goya
francisco de goyafrancisco de goya
francisco de goyaguestfe8840
 
Viudoprudente Andreu
Viudoprudente AndreuViudoprudente Andreu
Viudoprudente Andreucentrowebs
 
exposicion domotica
exposicion domoticaexposicion domotica
exposicion domoticaPIJONETAS
 
Pub Med Apprentissage 2011
Pub Med Apprentissage 2011Pub Med Apprentissage 2011
Pub Med Apprentissage 2011David BENOIST
 

En vedette (20)

Higher Higher And Higher
Higher Higher And HigherHigher Higher And Higher
Higher Higher And Higher
 
Claves Felicidad
Claves FelicidadClaves Felicidad
Claves Felicidad
 
Argentine Da
Argentine DaArgentine Da
Argentine Da
 
Bloque0-PACIE
Bloque0-PACIEBloque0-PACIE
Bloque0-PACIE
 
Mon powerpoint
Mon powerpointMon powerpoint
Mon powerpoint
 
El Telefono
El TelefonoEl Telefono
El Telefono
 
Ayuda a adoptar una mascotas
Ayuda a adoptar una mascotasAyuda a adoptar una mascotas
Ayuda a adoptar una mascotas
 
Ornitorrinco, close nele!
Ornitorrinco, close nele!Ornitorrinco, close nele!
Ornitorrinco, close nele!
 
Bases De Datos
Bases De DatosBases De Datos
Bases De Datos
 
Modelo Osi[1]
Modelo Osi[1]Modelo Osi[1]
Modelo Osi[1]
 
Història del còmic
Història del còmicHistòria del còmic
Història del còmic
 
Trucos increibles del movil
Trucos increibles del movilTrucos increibles del movil
Trucos increibles del movil
 
Salon Solutions CNIT La Défense.
Salon Solutions CNIT La Défense.Salon Solutions CNIT La Défense.
Salon Solutions CNIT La Défense.
 
20110302 habitants connectés cornu
20110302 habitants connectés   cornu20110302 habitants connectés   cornu
20110302 habitants connectés cornu
 
francisco de goya
francisco de goyafrancisco de goya
francisco de goya
 
Viudoprudente Andreu
Viudoprudente AndreuViudoprudente Andreu
Viudoprudente Andreu
 
2 la notion d'homeostasie
2  la notion d'homeostasie2  la notion d'homeostasie
2 la notion d'homeostasie
 
12.arikete IT
12.arikete IT12.arikete IT
12.arikete IT
 
exposicion domotica
exposicion domoticaexposicion domotica
exposicion domotica
 
Pub Med Apprentissage 2011
Pub Med Apprentissage 2011Pub Med Apprentissage 2011
Pub Med Apprentissage 2011
 

Similaire à 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 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 OverviewGregory Renard
 
Introdot Netc Sharp Fr
Introdot Netc Sharp FrIntrodot Netc Sharp Fr
Introdot Netc Sharp FrGregory Renard
 
CLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightCLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightChristophe Lauer
 
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebFrédéric Harper
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv PsGregory Renard
 
WygDay 2010 - Tour d’horizon VS2010 - .NET 4.0 – ASP .NET 4.0
WygDay 2010 -  Tour d’horizon VS2010 - .NET 4.0 – ASP .NET 4.0WygDay 2010 -  Tour d’horizon VS2010 - .NET 4.0 – ASP .NET 4.0
WygDay 2010 - Tour d’horizon VS2010 - .NET 4.0 – ASP .NET 4.0Wygwam
 
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2apratt72
 
La plateforme Web Microsoft
La plateforme Web MicrosoftLa plateforme Web Microsoft
La plateforme Web MicrosoftChristophe Lauer
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureNicolas Georgeault
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
Génération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTOGénération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTOguested7f6
 
Ateliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'EpitechAteliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'EpitechChristophe Lauer
 
NouveautéS De Visual Basic 2010 V2
NouveautéS De Visual Basic 2010 V2NouveautéS De Visual Basic 2010 V2
NouveautéS De Visual Basic 2010 V2Gregory Renard
 
Obeo Designer - Principes Généraux
Obeo Designer - Principes GénérauxObeo Designer - Principes Généraux
Obeo Designer - Principes GénérauxEtienne Juliot
 
Softfluent speig mdday2010
Softfluent speig mdday2010Softfluent speig mdday2010
Softfluent speig mdday2010MD DAY
 
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5Mohamed Nemili
 

Similaire à Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0 (20)

Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 Overview
 
Starter Kits
Starter KitsStarter Kits
Starter Kits
 
Vs2008 Linq
Vs2008 LinqVs2008 Linq
Vs2008 Linq
 
Introdot Netc Sharp Fr
Introdot Netc Sharp FrIntrodot Netc Sharp Fr
Introdot Netc Sharp Fr
 
CLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightCLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et Silverlight
 
Linq Tech Days08 Lux
Linq Tech Days08 LuxLinq Tech Days08 Lux
Linq Tech Days08 Lux
 
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv Ps
 
WygDay 2010 - Tour d’horizon VS2010 - .NET 4.0 – ASP .NET 4.0
WygDay 2010 -  Tour d’horizon VS2010 - .NET 4.0 – ASP .NET 4.0WygDay 2010 -  Tour d’horizon VS2010 - .NET 4.0 – ASP .NET 4.0
WygDay 2010 - Tour d’horizon VS2010 - .NET 4.0 – ASP .NET 4.0
 
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2
 
La plateforme Web Microsoft
La plateforme Web MicrosoftLa plateforme Web Microsoft
La plateforme Web Microsoft
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
Génération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTOGénération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTO
 
Ateliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'EpitechAteliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'Epitech
 
NouveautéS De Visual Basic 2010 V2
NouveautéS De Visual Basic 2010 V2NouveautéS De Visual Basic 2010 V2
NouveautéS De Visual Basic 2010 V2
 
Obeo Designer - Principes Généraux
Obeo Designer - Principes GénérauxObeo Designer - Principes Généraux
Obeo Designer - Principes Généraux
 
Softfluent speig mdday2010
Softfluent speig mdday2010Softfluent speig mdday2010
Softfluent speig mdday2010
 
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
 

Plus de Gregory Renard

WygDay - Session Innovation xBrainLab
WygDay - Session Innovation xBrainLabWygDay - Session Innovation xBrainLab
WygDay - Session Innovation xBrainLabGregory Renard
 
Approach the future of tourism by the new Technologies
Approach the future of tourism by the new TechnologiesApproach the future of tourism by the new Technologies
Approach the future of tourism by the new TechnologiesGregory Renard
 
Approach the future of cities by the singularity of technologies !
Approach the future of cities by the singularity of technologies !Approach the future of cities by the singularity of technologies !
Approach the future of cities by the singularity of technologies !Gregory Renard
 
Wygday 2009 Session Innovation
Wygday 2009   Session InnovationWygday 2009   Session Innovation
Wygday 2009 Session InnovationGregory Renard
 
Net 2007 Faire Du E Commerce Dans Les Mv
Net 2007   Faire Du E Commerce Dans Les MvNet 2007   Faire Du E Commerce Dans Les Mv
Net 2007 Faire Du E Commerce Dans Les MvGregory Renard
 
Wygday Session PléNièRe (2)
Wygday Session PléNièRe (2)Wygday Session PléNièRe (2)
Wygday Session PléNièRe (2)Gregory Renard
 
Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)Gregory Renard
 
Vs2008 Breakthrough Software Dev
Vs2008 Breakthrough Software DevVs2008 Breakthrough Software Dev
Vs2008 Breakthrough Software DevGregory Renard
 
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008Gregory Renard
 
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008Gregory Renard
 
Techdays Visual Studio 2010
Techdays Visual Studio 2010Techdays Visual Studio 2010
Techdays Visual Studio 2010Gregory Renard
 
Ta Visual Studio2008 Vb9 C#3
Ta Visual Studio2008   Vb9   C#3Ta Visual Studio2008   Vb9   C#3
Ta Visual Studio2008 Vb9 C#3Gregory Renard
 
Part2 CréAtion D’Un Gadget Et Boite à Outils
Part2   CréAtion D’Un Gadget Et Boite à OutilsPart2   CréAtion D’Un Gadget Et Boite à Outils
Part2 CréAtion D’Un Gadget Et Boite à OutilsGregory Renard
 
Part1 CréAtion D’Un Gadget Et Boite à Outils
Part1   CréAtion D’Un Gadget Et Boite à OutilsPart1   CréAtion D’Un Gadget Et Boite à Outils
Part1 CréAtion D’Un Gadget Et Boite à OutilsGregory Renard
 

Plus de Gregory Renard (20)

WygDay - Session Innovation xBrainLab
WygDay - Session Innovation xBrainLabWygDay - Session Innovation xBrainLab
WygDay - Session Innovation xBrainLab
 
WygDay 2010
WygDay 2010WygDay 2010
WygDay 2010
 
M Forum
M ForumM Forum
M Forum
 
Approach the future of tourism by the new Technologies
Approach the future of tourism by the new TechnologiesApproach the future of tourism by the new Technologies
Approach the future of tourism by the new Technologies
 
Approach the future of cities by the singularity of technologies !
Approach the future of cities by the singularity of technologies !Approach the future of cities by the singularity of technologies !
Approach the future of cities by the singularity of technologies !
 
Wygday 2009 Session Innovation
Wygday 2009   Session InnovationWygday 2009   Session Innovation
Wygday 2009 Session Innovation
 
Net 2007 Faire Du E Commerce Dans Les Mv
Net 2007   Faire Du E Commerce Dans Les MvNet 2007   Faire Du E Commerce Dans Les Mv
Net 2007 Faire Du E Commerce Dans Les Mv
 
Wygday Session PléNièRe (2)
Wygday Session PléNièRe (2)Wygday Session PléNièRe (2)
Wygday Session PléNièRe (2)
 
Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)Wygday Session PléNièRe (1)
Wygday Session PléNièRe (1)
 
Wygday 2008
Wygday 2008Wygday 2008
Wygday 2008
 
Web Services
Web ServicesWeb Services
Web Services
 
Vs2008 Breakthrough Software Dev
Vs2008 Breakthrough Software DevVs2008 Breakthrough Software Dev
Vs2008 Breakthrough Software Dev
 
Vs2008 Ms Lux
Vs2008 Ms LuxVs2008 Ms Lux
Vs2008 Ms Lux
 
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
 
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008Visual Basic 9.0   Trucs Et Astuces Dans Visual Studio 2008
Visual Basic 9.0 Trucs Et Astuces Dans Visual Studio 2008
 
Tour Horizont.Net
Tour Horizont.NetTour Horizont.Net
Tour Horizont.Net
 
Techdays Visual Studio 2010
Techdays Visual Studio 2010Techdays Visual Studio 2010
Techdays Visual Studio 2010
 
Ta Visual Studio2008 Vb9 C#3
Ta Visual Studio2008   Vb9   C#3Ta Visual Studio2008   Vb9   C#3
Ta Visual Studio2008 Vb9 C#3
 
Part2 CréAtion D’Un Gadget Et Boite à Outils
Part2   CréAtion D’Un Gadget Et Boite à OutilsPart2   CréAtion D’Un Gadget Et Boite à Outils
Part2 CréAtion D’Un Gadget Et Boite à Outils
 
Part1 CréAtion D’Un Gadget Et Boite à Outils
Part1   CréAtion D’Un Gadget Et Boite à OutilsPart1   CréAtion D’Un Gadget Et Boite à Outils
Part1 CréAtion D’Un Gadget Et Boite à Outils
 

Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0

  • 1. Visual Basic 9.0 – Visual Studio 2008Quoi de neuf ? Pascal Belaud Développeur Evangeliste Pascal.Belaud@microsoft.com http://blogs.msdn.com/pascal/ Microsoft France Grégory RENARD CTO – MVP – RegionalDirector gregory@wygwam.com http://blogs.developpeur.org/redo Wygwam
  • 2. Agenda de la session Rappel Evolutions du .NET Fx et de son IDE Vue d'ensemble des innovations de VB 9.0 Historique de Visual Basic Objectifs de conception de VB 9.0 Innovations de VB 9.0 Parcours de nouveautés du langage VB 9.0 Rappel des nouveautés de VB 8.0 Nouveautés de VB 9.0
  • 3.
  • 4. Rappel Evolutions du .NET Fx et de son IDE
  • 5. De 2002 à 2008 Source : http://www.danielmoth.com/Blog/2007/06/visual-studio-2008-stack.html
  • 6. De 2002 à 2008
  • 7. Visual Basic 9.0 Vue d’ensemble des innovations
  • 8. Visual Basic, son Historique !
  • 9. VB 9.0, objectifs de conception ! Intégration forte de : L’objet Des données relationnelles Du XML … Linq, query expressions, support du xml … Ameliorations du langage Sur les tâches courantes : déclaration simplifiée d’objets, délégués non stricts, Inférence de type, … Ajout de nouvellesfonctionnalités Lambda expressions Méthodesd’extensions …
  • 10. VB 9.0, ses Innovations ! Query expressions Dim contacts = From c In customers Where c.State= "WA" Select New With { Name = c.Name, _ Phone = c.Phone } Types ValeurNullable Arbresd’expressions Types implicites Support de l’XML Expressions Lambda Dim contacts = customers _ .Where(Function(c) c.State = "WA") _ .Select(Function(c) New With { Name = c.Name, _ Phone = c.Phone }) MéthodesPartielles Méthodesd’extension Types anonymes Initialisationd’objets
  • 11. Visual Basic 9.0 Des nouveautés de VB 8.0 à VB 9.0…
  • 12. Rappel sur VB 8.0 Générics Suppression du boxing/unboxing Suppression du Casting implicite Gestion de l’erreur lors de la compilation Meilleure lisibilité du code Meilleures performances Classes Partielles Définition d’une classe sur plusieurs fichiers Utilité dans la génération de code Exploité par les Winforms et Webforms
  • 13. Mais aussi … My Surcharge des opérateurs IsNot Using Types Entiers non signés Etat continue
  • 14.
  • 19. Types Valeur Nullables
  • 22.
  • 23. Initialisation d’objets simplifiée Syntaxesimplifiée Mot clé “ With ” Initialisation d’objet avec un type nullable engendrera un compile time error ! http://blogs.developpeur.org/redo/archive/2008/01/28/nouveaut-s-vb-2008-vb-9-0-initialisation-d-objets-simplifi-e.aspx
  • 24. Types Anonymes 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 Repose sur l’initialisation d’objets inférence de Types IntelliSense© disponible Exploitée dans les projections de LINQ (Select) http://blogs.developpeur.org/redo/archive/2008/01/29/nouveaut-s-vb-2008-vb-9-0-types-anonymes.aspx
  • 25. Types Anonymes : « Key » Le mot clé Key vous permet de spécifier le comportement des propriétés des types anonymes. Les propriétés « Key » participent aux tests d'égalité et aux calculs de valeurs de code de hachage. Les valeurs des propriétés de clé ne peuvent pas être modifiées http://blogs.developpeur.org/redo/archive/2008/01/29/nouveaut-s-vb-2008-vb-9-0-types-anonymes.aspx
  • 26. Méthodes d’Extension Permettent l’ajout de fonctionnalité personnalisées aux types de données déjà définis sans créer de type dérivé Permet d’étendre Les Types du .NET Framework Vos propres Types Uniquement : Sub ou Function Doit être marqué de <Extension()> System.Runtime.CompilerServices http://blogs.developpeur.org/redo/archive/2008/01/30/nouveaut-s-vb-2008-vb-9-0-les-m-thodes-d-extension.aspx
  • 27. Conversion simplifiée des déléguées 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 Encore appelé : Délégués Non Stricts RelaxedDelegates Vraie relaxation : les paramètres ne sont pas obligatoires, vous pouvez ne pas les utiliser ! http://blogs.developpeur.org/redo/archive/2008/01/31/nouveaute-vb-2008-vb-9-0-conversion-simplifiee-des-delegues-non-stricts-relaxed-delegates.aspx
  • 28. Types Valeur Nullables Types Valeur peuvent être étendus afin d'accepter une valeur normale ou une valeur « Null » Syntaxe : « T? » Uniquement pour les Types Valeur HasValue / Value Lèveuneexception Nothing” http://blogs.developpeur.org/redo/archive/2008/02/01/nouveaut-s-vb-2008-vb-9-0-types-valeur-nullables.aspx
  • 29. Expressions Lambda Une fonction ne possédant pas de nom permettant de calculer et retourner une valeur unique. Lambda opérateur « Function » Se lit « Function(myNum As Integer) conduit à myNum + 1 » Utilisable chaque fois qu'un type délégué est valide. Simplifications les entêtes d'une méthode anonyme Fonction dans une expression récupérant le pointeur vers cette fonction (Possibilité de récupérer un arbre d’expression) http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
  • 30. Support étendu d’XML (1/3) 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 Littéraux XML d'incorporer directement du XML à votre code VB Objets LINQ to XML Namespace : «System.Xml.Linq» Similaire à la syntaxe XML 1.0 mais pas identique Expressions Littérales XML  http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
  • 31. Support étendu d’XML (2/3) Propriétés d'Axe XML : permettant d'accéder aux structures LINQ to XML et les parcourir.  Permet d'accéder aux nœuds enfants, nœuds descendants et attributs d'un littéral XML Types d’Axes : axe enfant :  xml.<phone> axe d'attribut : xml.@NomAttribut axe descendant : xml...<NomElement> indexeur d'extension : xml...<NomElement>(0) valeur : xml...<NomElement>.Value
  • 32. Support étendu d’XML (3/3) Gestion des Espaces de Noms XML : Spécifier un "Alias" afin d'identifier un espace de noms XML Permet d'accéder : aux nœuds enfants, nœuds descendants, attributs d'un littéral XML
  • 33. Arbres d’expression (1/3) Représente une expression sous forme d’arbre AST : Abstract SyntaxTree ASG : Abstract Semantic Graph Un arbre syntaxique est la représentation en mémoire d'un ensemble d'éléments de notre langage res = n * (n - 1); Sources : http://www.dotnetguru.org/articles/dossiers/creercompilo/compilateurdnet2.htm
  • 34. Arbres d’expression (2/3) Traduction des expressions lambda : Code IL Abres d’expression (= code as data) Peut être analysé au Runtime Utilisé dans les LINQ query providers (LINQ to SQL) Dim sq As Func(Of Integer, Integer) = Function(i) i * iDim four = sq (2)Dim e As Expression(Of Func(Of Integer, Integer)) _ = Function(i) i * i λ * i i i
  • 35. Arbres d’expression (3/3) Une expression représente l’arbre d’objets qui représente l’expression passée en argument
  • 36. Autres améliorations VB v 9.0 Friend assemblies Attribut “VisibleTo” Agilité du Runtime Compile sans Microsoft.VisualBasic.dll Origine de CF et Silverlight Nouveau /vbruntime switch Inférence de types générics améliorés
  • 37. Vos questions ? http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
  • 38. Resources Visual Basic Dev Center & Content: http://msdn.com/vbasic/ VB Team Blog http://blogs.msdn.com/vbteam/ Refactor! for Visual Basic & Web developers http://msdn2.microsoft.com/en-us/vbasic/ms789083.aspx Nous contacter : Pascal.belaud@microsoft.com Gregory@wygwam.com
  • 39. L’engagement Microsoft pour les développeurs: msdn.microsoft.com La référence technique pour les IT Pros : technet.microsoft.com Visual Studio 2008 + Abonnement MSDN Premium Abonnement TechNet Plus : Versions d’éval + 2 incidents support S’informer- Un portail d’informations, des événements, une newsletter bimensuelle personnalisée Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique
  • 40. Votre potentiel, notre passion TM © 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.

Notes de l'éditeur

  1. The main points are that the CLR engine is the same version (so no need to retest your apps) and that the headline feature is the language enhancements (C#3 & VB9 compilers) and LINQ.
  2. The main points are that the CLR engine is the same version (so no need to retest your apps) and that the headline feature is the language enhancements (C#3 & VB9 compilers) and LINQ.
  3. VB = longer history (up to 9.0)Refer to huge transition from 6.0 to .NET which implied the creation of a runtime library for bw compat: play the rules of the CLS (OO for example) and remain consistent with VB pre-.NETVB 8.0 = GenericsVB 9.0 = LINQ + XML (difference with C#)
  4. Similar story as in C# 3.0 except for XML integration; emphasize that language evolutuon doesn’t mean that languages have to go hand in hand on any field.
  5. Similar story as with C# 3.0 but abbrev’d.
  6. Réf : http://www.dotnetguru.org/articles/dossiers/generics/CS2_Generics_FR2.htm