Developpez.com - Microsoft DotNET
X

Choisissez d'abord la catégorieensuite la rubrique :


nouveautes vs 2010

Date de publication : 24 octobre 2009

Par Philippe Vialatte (http://philippe.developpez.com) (Blog)
 


               Version PDF (Miroir)   Version hors-ligne (Miroir)

V. Améliorations du développement web
V-A. Dernières versions des différents frameworks
V-A-1. ASP.NET Webforms version 4
V-A-2. ASP.NET MVC Version 2
V-A-3. Dynamic Data
V-A-3-a. Activer Dynamic Data pour un projet existant
V-A-3-b. Nouveaux modèles
V-A-3-c. Syntaxe déclarative du contrôle DynamicDataManager
V-A-4. ASP.NET Chart Control
V-B. Améliorations de l'éditeur
V-B-1. Amélioration de l'IntelliSense Javascript
V-B-2. Support des Code Snippets
V-B-3. Compatibilité CSS accrue
V-C. Nouveaux modes de déploiement
V-C-1. Paquetages Web
V-C-2. Transformation de Web.Config
V-C-3. Publication en un clic (One-Click Publishing)
V-D. Autres nouveautés
V-D-1. Web.Config allégé
V-D-2. Nouveaux modèles de projets
V-D-3. Vue optimisée pour le code
VI. Améliorations du développement d'applications riches
VI-A. WPF 4.0
VI-A-1. Améliorations du designer
VI-A-2. Support de Windows 7
VI-A-3. De nouveaux contrôles
VI-A-4. Améliorations du rendu graphique
VI-A-5. Autres améliorations
VI-B. Silverlight
VI-B-1. Designer Silverlight
VI-B-2. Intégration de Silverlight 3
VII. Développement d'applications Sharepoint
VII-A. Déploiement, Package et Features
VII-B. SharePoint Explorer
VII-C. Modèles de projet et de fichiers
VIII. Support des nouvelles fonctionnalités du langage
IX. Liens Utiles


V. Améliorations du développement web

Comme dans chaque nouvelle édition de Visual Studio, cette version contient de nombreuses améliorations pour les développeurs d'applications sur le web.

Dans ce chapitre, on va voir qu'au contraire de ce qu'on pu penser un certain nombre de développeurs, ASP.NET MVC et Silverlight n'ont pas "tué" les formulaires web ou Ajax, mais que toutes les briques logicielles du développement web orienté HTML ont vu leur lot d'améliorations.


V-A. Dernières versions des différents frameworks

Visual Studio 2010 permettra dés sa livraison à la fois le développement de formulaires web avec la version 4 du framework ASP.NET Webforms, mais contiendra aussi tout le nécessaire pour développer des applications avec le framework ASP.NET MVC. De plus, il contiendra la dernière version du framework AJAX de microsoft, récemment rebaptise Microsoft Ajax Library.


V-A-1. ASP.NET Webforms version 4

Le framework Webform à été un certain nombre de fois annoncé comme étant abandonné par Microsoft au cours des derniers mois, suite à la mise à disposition du Framework MVC, de nombreux développeur craignant (ou espérant) que MVC allait prendre la place de Webform au même titre que WPF à graduellement grignoté WinForm.

La sortie de la version 4 du Framework prouve qu'il n'en est rien, cette version apportant un beau nombre de nouveautés.


V-A-2. ASP.NET MVC Version 2

Visual Studio sera la première version de Visual Studio à proposer en standard le framework ASP.NET MVC. La version 2 du framework sera en effet incluse dés l'installation.

Cette version contient entre autre les nouveautés suivantes :


V-A-3. Dynamic Data

Dynamic Data à été introduit avec le SP1 du framework 3.5. Ce framework à pour but de faciliter la création d'application Web basées sur des bases de données avec ASP.NET de façon simple, en convertissant l'exécution le modèle de donnée en un ensemble de contrôles. Il est ainsi facile de générer une interface de gestion de base de données sans code, ou en retravaillant trés peu d'éléments.

Les versions précédentes de Dynamic Data présentaient un certain nombre de limitations, lesquelles ont été réduites avec la version qui sera fournie avec Visual Studio 2010. De nouvelles fonctionnalités font aussi leur apparition.


V-A-3-a. Activer Dynamic Data pour un projet existant

Entres autres restrictions, utiliser Dynamic Data avec le SP1 du framework 3.5 nécessitait que le projet ait été créé à partir d'un modèle de projet spécifique (Dynamic Data Web Application ou Dynamic Data Entities Web Application ). Il était de plus nécessaire d'utiliser Entity Framework ou LINQ to SQL, et de n'utiliser, comme source de données, uniquement les contrôles EntityDataSource ou LinqDataSource

La nouvelle version du framework permet désormais d'ajouter Dynamic Data à une application existante simplement, en utilisant la méthode d'extension EnableDynamicData sur un contrôle de données. Concrètement, cela veut dire que, pour un contrôle d'affichage de données, une GridView par exemple, on pourra utiliser les fonctionnalités de validation automatique simplement en faisant :

 GridView1.EnableDynamicData(typeof(Product)); 
On pourra, de plus, fournir des valeurs par défaut en passant un objet pré-initialisé en second argument de la fonction.


V-A-3-b. Nouveaux modèles

Deux nouveaux modèles sont inclus, l'un permettant de gérer des champs de "type" URL et adresse e-mail. En pratique, si on ajoute un attribut [DataType(DataType.EmailAddress)], ou [DataType(DataType.URL)], les champs en question seront respectivement rendus coté serveur en utilisant les modèles contenus dans les fichiers EmailAddress.ascx ou Url.ascx.


V-A-3-c. Syntaxe déclarative du contrôle DynamicDataManager

Le contrôle DynamicDataManager à été amélioré, de façon à ce qu'il puisse être défini déclarativement, dans le code XHTML de la page.
Les balises à utiliser pour ce faire sont les suivantes :

<asp:DynamicDataManager ID="DynamicDataManager1" runat="server" 
    AutoLoadForeignKeys="true"> 
  <DataControls> 
    <asp:DataControlReference ControlID="lvwClient" /> 
  </DataControls> 
</asp:DynamicDataManager> 
<asp:ListView id="lvwClient" runat="server" 
</asp:ListView> 
Ce code permets de définir que le comportement du contrôle GridView1 est géré par Dynamic Data.


V-A-4. ASP.NET Chart Control

La bibliothèque de génération de graphiques ASP.NET Chart Control est désormais incluse en standard. Cette bibliothèque permets de générer facilement des graphiques au look trés professionel, et des comportements dynamiques.


V-B. Améliorations de l'éditeur

Le Concepteur Web, comme les autres éditeurs de la version 2010, profite de nouvelles améliorations par rapport aux version précédentes.


V-B-1. Amélioration de l'IntelliSense Javascript

La gestion de l'IntelliSense Javascript à été grandement améliorée avec Visual Studio 2010. En effet, en plus de proposer les variables et fonctioons javascript redéfinies par l'utilisateur, l'IntelliSense reconnait désormais les objets générés dynamiquement.

En interne, de gros efforts ont été faits sur la performance, de façon à pouvoir analyser rapidement les scripts disponibles depuis une page donnée. La compatibilité du moteur d'analyse à été revue, de façon à ce que plupart des bibliothèques Javascript du marché puissent être supportées.

Enfin, comme c'est le cas dans le code-behind, les commentaires Javascript cont désormais pris en charge dans l'IntelliSense.


V-B-2. Support des Code Snippets

La gestion des "Code Snippets" est une fonctionnalité améliorant beaucoup la productivité des développeurs pour des taches répétitives, telles que, par exemple, compléter le squelette d'une boucle For/Foreach dans le code behind.

Cette fonctionnalité n'était auparavant disponible que dans l'éditeur de code C# ou VB.NET, mais à, dans Visual Studio 2010, été étendue au code HTML/ASP.NET et même Javascript. Non seulement il est possible de définir de Snippets, mais Visual Studio 2010 contient plus de 200 Snippets spécifiques au développement Web.


V-B-3. Compatibilité CSS accrue

La compatibilité avec la norme CSS 2.1 à été améliorée dans la vue conception de l'éditeur Web.

Pour permettre le respect de cette norme, l'architecture du concepteur à été revue, ce qui rendra à l'avenir les évolutions plus simples (qui à demandé la date de gestion de HTML 5 ?), tout en améliorant la robustesse et le respect du code HTML.


V-C. Nouveaux modes de déploiement

Le déploiement de sites web en production à souvent été un peu problèmatique, car pas sassez souple. Pour pallier à cet étt de choses, de nouveaux modes de déploiement spécifiquement concus pour le web ont été intégrés à Visual Studio


V-C-1. Paquetages Web

Les paquetages web (Web Packages) sont en fait des fichiers zip générés depuis l'utilité de déploiement de sites Web de IIS, MsDeploy. Ils contiennent, en dehaors du site web compilé, les bases de données SQL nécessaires, les paramètres du serveur IIS, ainsi que tous les composants à déployer dans le GAC, et autres paramètres de sécurité.

Ces paquetages peuvent facilement être déployés sur n'importe quelle machine, et se générent directement depuis Visual Studio.


V-C-2. Transformation de Web.Config

Un des défis de la mise en production est de ne pas oublier de modifier le Web.Config aprés publication. Cette tâche, aprés avoir longtemps manuelle, est souvent plus ou moins automatisée par des outils tiers.

Il est désormais possible de définir des "profils" de Web.Config, et de les utiliser pour transformer automatiquement les Web.Config de l'application durant la livraison.


V-C-3. Publication en un clic (One-Click Publishing)

Visual Studio propose désormais de s'interfacer directement avec les outils de gestion distante d'IIS, afin de déployer le site web sur un serveur distant de façon automatique.

En pratique, cette fonctionnalité ressemble à la fonctionnalité de publication existante depuis quelques versions, mais sous le capot, elle prépare en fait une vraie migration, incluant toutes les dépendances nécessaires.

Il est de plus possible de publier sur plusieurs serveur de façon simultanée, avec toutefois la limite de 50 profils de déploiement dans un projet...soit 50 serveurs publiés simultanément...


V-D. Autres nouveautés


V-D-1. Web.Config allégé

Le Web.Config à subi un sérieux régime entre deux version. En effet, le Web.Config par défaut d'une application ASP.NET utilisant le framework 3.5 SP1 attenait...188 lignes, lui permettant d'ajouter à la CLR 2.0 le support de toutes les nouvelles fonctionnalités apportées par les versions 3.0, 3.5 et 3.5 SP1. La faut en revenait au besoin de ne pas modifier le ficiher Machine.Config, lequel règle la configuration par défaut au niveau de la machine.

Avec la sortie de la CLR version 4, toutes les fonctionnalités des version précédentes, dont celles incluses dans Visual Studio 2010, ont été ajoutées au Machine.Config utilisé par la CLR 4, situè dans le répertoire C:\Windows\Microsoft.NET\Framework\v4.0.21006\Config.

En conséquence, le nouveau Web.Config par défaut à été réduit à 12 lignes, décrites ci-dessous.

<?xml version="1.0"?>
<configuration>
	
	<system.web>
		<compilation debug="true">
	</system.web>
	
	<system.webServer>
		<validation validateIntegratedModeConfiguration="false"/>
	</system.webServer>

<configuration>	

V-D-2. Nouveaux modèles de projets

Les modèles de projets Web ont été repensés pour permettre à chaque développeur de commencer un projet de la façon dont il l'entends. En effet, si certains préférent partir d'un projet minimaliste, de nombreux développeurs préfère commencer avec un squelette d'application sur laquelle bâtir de nouvelles fonctionnalités.

C'est avec ces différentes façon de commencer un projet qu'ont été pensés les modèles de projet de Visual Studio 2010. Désormais, lorsque l'on démarre un nouveau projet visant le framework 4.0, il nous est proposé deux types de projet Web, à savoir une application Web standard (ASP.NET Web Application), ou une application web vide (Empty ASP.NET Web Application).

Si on crée un projet pour chacun de ces types d'application, on voit tout de suite les différences entre les deux.

Dans le premier cas, on à une application vide, tandis que dans le second cas, on à une application déjà fonctionelle, incluant JQuery, une page maître, et un ensemble de pages pour gérer les comptes utilisateur.


V-D-3. Vue optimisée pour le code

Tout comme certains développeurs aiment partir d'un projet vide, certains préférent se passer des différents assistants, fenètres, concepteurs ou autres aides que peut fournir Visual Studio. Pour ces développeurs, un nouveau profil de développement à été développé, à savoir le profil Web development (Code Optimized).

Cette vue permets en fait de masquer, entre autres, le concepteur graphique, les fenètres de propriétés, de boîte à outils, et toutes les barres d'outil.

Cette configuration n'est évidemment pas irréversible, et on peut décider finement de quels outils on veut pouvoir utiliser et voir apparaître.


VI. Améliorations du développement d'applications riches


VI-A. WPF 4.0

WPF étant désormais la technologie Microsoft de référence pour la création d'interfaces graphique riches, il était attendu que sa version 4 apporte un lot de nouveautés. Et les nouveautés sont bien là, avec en particulier une attention particulière pour Windows 7.


VI-A-1. Améliorations du designer

LMe designer de WPF est désormais plus rapide, et plus stable que la version précédente.


VI-A-2. Support de Windows 7

Windows 7 étant désormais disponible, il fallait s'attendre à ce que la version suivante de WPF puisse tirer pleinement partie des nouveautés apportées par cette version de Windows.

Dans ces nouveautés, on peut trouver :


VI-A-3. De nouveaux contrôles

De nouveaux contrôles orientés développement d'applications métiers sont apparus dans WPF 4. Ces contrôles, pour la plupart issus du WPF Toolkit, On trouvera entre autre une grille (DataGrid), et des composants de séléction de date (DatePicker et Calendar).

De plus, deux téléchargement complémentaires seront disponibles, à savoir le WPF Bag O'Tricks (comprenant les contrôles suivants : AnimatingTilePanel, ColorPicker, InfoTextBox, ListPager, NumericUpDown, Reveal, TransitionsPresenter, TreeMapPanel), et le contrôle de Ruban, qui n'à pas pu être intégré dans le jeu de contrôles livrés avec Visual Studio.

Toujours du point de vue graphiaue, il est désormais possible, dans une zone de saisie, de customiser la couleur et l'opacité du texte séléctionné (SelectionBrush et SelectionOpacity), ainsi que la couleur du curseur (CaretBrush).

Un contrôle moins "graphique" est inclus, sous la forme d'un correcteur ortographique personnalisé.


VI-A-4. Améliorations du rendu graphique

Le moteur de rendu graphique de WPF est un peu le coeur de la technologie, et c'est donc sans surprise que le passage à la version suivante apporte un lot de nouveautés.


VI-A-5. Autres améliorations

Le binding à encore été amélioré pour la version 4 de WPF, et un certain nombre de petites améliorations ont été apportées. Entre autres, le parseur de XAML à été réécrit pour tirer parti de la nouvelle dll System.Xaml.dll. De nombreux bugs ont été corrigés, et de nouveaux scénarios de développement ont été rendus possibles par cete nouveauté.

Avec l'apparition des objets dynamiques et de la DLR, il devient désormais possible d'utiliser le binding sur des objets dynamiques,définis à l'execution gràce aux objets DynamicObject et à l'interface IDynamicMetaObjectProvider.

Il est désormais possible, gràce au Visual State Manager (VSM), d'appliquer simplement des êtats aux contrôles, dans le sens état visuel. Le Visual State Manager permets en effet de gérer le look & feel en le définissant dans un modèle.

Enfin, de nouveaux modèles de contrôle pont été ajoutés à WPF 4. Ces modèles sont les suivants :


VI-B. Silverlight


VI-B-1. Designer Silverlight

Tous les développeurs SilverLight l'attendaient, c'est désormais chose faite, Silverlight bénéficie enfin d'un vrai concepteur intégré à Visual Studio (fini XamlPad). Le designer SilverLight tire lui aussi parti de toutes les améliorations du designer WPF.


VI-B-2. Intégration de Silverlight 3

Visual Studio 2010 sera la première version de Visual Studio à permettre le développement Silverlight dés l'installation. Les versions supportées par Visual Studio 2010 seront les versions 2 et 3.

Le Silverlight Toolkit et .NET RIA Services ne seront pas fournis directement dans Visual Studio, mais resteront proposés comme des téléchargements supplémentaires.

warning Au jour ou sont écrites ces lignes, soit avant la PDC 2009, la Roadmap RIA Services n'est pas 100% claire. Il est possible que cette partie du document change avant la version finale de Visual Studio.

VII. Développement d'applications Sharepoint

Sharepoint ayant été un franc succès ces dernières années, c'est assez logique que la dernière version de l'IDE comporte des améliorations pour le portail de Microsoft.


VII-A. Déploiement, Package et Features

Une des principales difficultés des développeurs Sharepoint est le cycle de vie et de déploiement des développements. Cette difficulté devrait être nettement atténuée dans Visual Studio 2010.

En effet, il sera dorénavant possible de déployer facilement les applications, ainsi que de gérer des commandes de pré ou post déploiement, de gérer les pools d'application, mais aussi de créer des étapes personnalisées en étendant Sharepoint

Il est aussi désormais possible d'analyser visuellement le contenu d'une Feature ou d'un Package, gràce respectivement au Feature Designer et au Package Designer.


VII-B. SharePoint Explorer

Sharepoint Explorer est une nouvelle fenètre permettant d'avoir une vue du contenu d'un serveur Sharepoint. Cette fenètre ressemble beaucoup à celle qui était disponible dans Sharepoint Designer, mais permets de visualiser le serveur sans sortir de Visual Studio.


VII-C. Modèles de projet et de fichiers

De nombreux modèles de projets et de fichiers ont été ajoutés à Visual Studio, pour les deux versions de Sharepoint

On trouve les modèles de projets suivants :

Et les types de fichiers suivants :

Les développeurs Sharepoint auront noté avec un certain plaisir le projet de type Visual Web Part, qui propose de développer des web parts en mode visuel, ainsiq ue les templates de pages de workflow.


VIII. Support des nouvelles fonctionnalités du langage

De nombreuses nouveautés sont apparues dans la BCL (Base Class Library, ensemble des classes de abnse du framework). Deux ce ces nouveautés ont déjà été amplement discutées depuis les techdays, à savoir les Code Contracts, qui permettent de définir des contrat et des hypothèses dans le code, dont des pré et post-conditions, ou des invariants. La seconde est l'ajout des extensions parallèles, à savoir la TPL (Task Parallel Library), PLinQ (pour Parallel LinQ), permettant de simplifier les développements d'applications baseé sur des traitement en parallèle.

De façon plus discrète, on à vu l'apparition de classes utilitaires visant le développement d'applications scientifiques, et gérant entre autre les grands nombres (classe BigInteger), les nombres complexes (classe Complex), ou encore une classe permettant de supporter les systèmes de géo-localisation de Windows 7, CivicAddress, qui présente l'avantage de contenir tous les éléments permettant de gérer une adresse.

Enfin, les algorithmes de compression ont été optimisés, permettant entre autre une compression de meilleure qualité, et offrant désormais la possibilité de compresser des streams de plus de 4 Go.


IX. Liens Utiles



               Version PDF (Miroir)   Version hors-ligne (Miroir)

Valid XHTML 1.0 TransitionalValid CSS!

Copyright © 2009 pv. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.

Responsable bénévole de la rubrique Microsoft DotNET : Hinault Romaric -