Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Codage plus performant avec Visual Studio 2010
Doug Turnure
Il y a 13 ans, Microsoft déployait pour la première fois Visual Studio, son environnement de développement intégré, un fleuron qui perdure. La première version de 1997 a démarré l'alignement des versions 5 de Visual Basic et de Visual C++ dans un environnement de développement intégré commun. Elle incluait une Édition Enterprise avec un ensemble de technologies célèbres à l'époque dont Visual InterDev, Microsoft Transaction Server et Visual SourceSafe 5.0. Le principal objectif de cette version était d'aider les développeurs à créer des applications distribuées avec des composants, à la fois comme client/serveur et comme applications Web.
En tant que développeurs, nous avons fait beaucoup de chemin depuis. Alors que des formes modifiées d'architectures client/serveur et Web dominent toujours l'univers du codage, l'étendue et les demandes de ces applications ont largement dépassé le domaine des systèmes homogènes et des appels fortement typés d'objet à objet.
REST (Representational State Transfer) et les technologies associées sont en passe de devenir les mécanismes de communication fondamentaux dominants. Les applications commencent à trouver une place dans les architectures en nuage et l'évolutivité, la fiabilité et la sécurité des données sont confiées à des tiers. Les schémas d'application Web s'alignent sur des styles et des standards de base. Le matériel lui-même est en train de changer : la vitesse des processeurs atteint quasiment des limites maximales théoriques grâce à la technologie actuelle de puces et les systèmes multiprocesseurs permettent d'optimiser encore et toujours les performances d'un seul ordinateur.
C'est dans ce contexte, et dans le cadre d'une demande sans précédent de logiciels et de développeurs de logiciels, que Visual Studio 2010 arrive. Avec ses nouvelles fonctions, il est prêt à répondre aux demandes croissantes de logiciels dans un univers qui s'étend sur divers plateformes, cœurs, styles et standards. Cet article décrit quelques-unes des solutions proposées par Visual Studio 2010 pour répondre aux défis actuels et pour aider les développeurs à créer des solutions florissantes dans le secteur complexe où ils évoluent actuellement. L'objet de cet article n'est pas de passer en revue toutes les nouvelles fonctions, mais d'en souligner quelques-unes, utiles immédiatement aux développeurs dans leur travail quotidien. Des listes détaillant la totalité des fonctionnalités sont disponibles dans la documentation du produit.
Améliorations de l'environnement de développement intégré (IDE) de Visual Studio
Le développement de logiciels répond toujours à des scénarios de plus en plus complexes et les développeurs se sentent souvent poussés à plus de productivité. Pour améliorer la productivité, Visual Studio 2010 ajoute plusieurs nouvelles fonctionnalités visuelles à l'éditeur. J'en étudierai trois dans la présente section.
L'une des améliorations les plus simples à tester dans l'IDE de Visual Studio 2010 est la possibilité de faire glisser une fenêtre enfant hors de la fenêtre parent de l'IDE. Les moniteurs sont devenus suffisamment abordables pour que les développeurs en utilisent deux (ou plus) pour travailler, ce qui permet d'exécuter vos fenêtres de codage et de création sur plusieurs écrans.
Mode de fonctionnement Cliquez sur l'onglet de la fenêtre et faites-le glisser en dehors de la fenêtre de l'IDE de Visual Studio. Pour ancrer de nouveau la fenêtre, cliquez sur la barre de titre et faite-le de nouveau glisser dans la zone de l'IDE, en alignant la barre de titre aux onglets des autres fenêtres. Lorsque vous ancrez de nouveau la fenêtre, un indicateur visuel permet de savoir si la fenêtre est bien alignée : la fenêtre est grisée pour signaler qu'elle peut être de nouveau ancrée lorsque vous la relâchez. La figure 1 illustre une fenêtre de code extraite de la fenêtre de l'IDE.
Figure 1 Détacher une fenêtre de l'IDE
Parmi les nouveautés intéressantes de l'éditeur Visual Studio 2010, signalons la possibilité de sélectionner une zone et de modifier un bloc de texte vertical. Lorsqu'il vous arrive de devoir modifier une liste importante d'éléments, vous répétez l'habituelle combinaison de touches au clavier (par exemple, « n+flèche vers le bas+flèche vers la gauche », encore et encore). Même si ce cas n'est pas très fréquent, il se produit et de nombreux développeurs aimeraient pouvoir sélectionner la totalité d'une colonne et appliquer un changement global à toutes les lignes en une seule fois. Visual Studio 2010 intègre cette capacité de modification d'un bloc.
Mode de fonctionnement Maintenez la touche Alt enfoncée et sélectionnez la zone verticale à modifier. Procédez aux modifications sur la zone sélectionnée comme sur une seule ligne, à la différence que les modifications sont dupliquées simultanément sur toutes les lignes sélectionnées, comme illustré à la figure 2*.*
Figure 2 Sélection d'une zone
Il existe également une fonctionnalité de sélection très pratique pour les références de votre code. Dans l'éditeur, lorsque vous cliquez sur une variable, un objet, une méthode, une propriété, un type ou un autre symbole, toutes les références à ce symbole sont sélectionnées dans votre code pour vous aider à trouver rapidement où l'élément est utilisé.
Mode de fonctionnement Choisissez un type/une variable/une méthode/un autre élément et cliquez dessus. Les autres instances sont sélectionnées. La figure 3 illustre ce processus pour une variable nommée jumpList ; notez qu'après avoir cliqué, toutes les occurrences dans le code sont grisées.
Figure 3 Symboles sélectionnés
Prise en charge de la programmation parallèle
Détaillons un peu plus les nouvelles fonctionnalités de l'IDE : la nouvelle fonctionnalité suivante la plus significative dont je vais parler est la prise en charge de la programmation parallèle. Visual Studio 2010 intègre des outils de diagnostic qui aident au débogage et à l'analyse des applications parallèles. Avant d'étudier les outils, je vais rapidement définir la programmation parallèle, puis étudier comment le runtime et les bibliothèques implémentent ces nouvelles fonctionnalités.
Actuellement, de nombreux ordinateurs standard de développement sont multiprocesseurs, c'est-à-dire qu'ils disposent de plusieurs processeurs (deux ou plus) individuels, et la tendance s'oriente vers un nombre croissant de processeurs. Outre l'innovation à proprement parler, des facteurs tels que la préservation de l'énergie et les limites objectives de la vitesse de l'horloge, la consommation d'énergie et la chaleur orientent la tendance vers des systèmes multiprocesseurs. Certains experts du secteur prévoient que les ordinateurs classiques auront 50 processeurs ou plus dans quelques années.
Cela pose un seul problème. Avant la révolution multiprocesseur, des machines plus rapides impliquaient des applications qui s'exécutent plus vite. Cependant, les logiciels liés à un seul processeur (comme la plupart des logiciels) ne peuvent pas bénéficier de cette nouvelle architecture. Il est donc essentiel de cibler les architectures multiprocesseurs pour la suite. Avant Visual Studio 2010 et le .NET Framework 4, il était difficile d'écrire du code qui pouvait utiliser plusieurs processeurs. Pour relever ce défi, la présente version inclut des mises à jour du runtime et quelques nouveaux types, nouvelles bibliothèques et nouveaux outils pour aider les développeurs à bénéficier des systèmes multiprocesseurs.
Le .NET Framework 4 inclut Parallel Extensions, qui compte trois composants : une nouvelle bibliothèque TPL (Task Parallel Library), un nouveau moteur d'exécution PLINQ et quelques nouvelles structures CDS (Coordination Data Structures). La bibliothèque TPL contient deux classes principales. L'une d'elles, System.Threading.Tasks.Parallel, inclut des constructions parallèles, telle que des versions parallèles des méthodes For et ForEach. Comme son nom l'indique, le moteur d'exécution PLINQ est une version parallélisée de LINQ to Objects, qui fournit une classe ParallelEnumerable à la place de la classe Enumerable de LINQ. L'utilisation de PLINQ est similaire, mais pas identique, à l'utilisation de LINQ to Objects. Enfin, les structures CDS incluent un groupe de collections sécurisées au niveau du thread et des primitives de synchronisation pour simplifier les scénarios parallèles. Les structures CDS incluent les lecteurs habituels des collections sécurisées au niveau du thread (ConcurrentDictionary, ConcurrentQueue et ConcurrentStack, par exemple) et des types de synchronisations (SemaphoreSlim, SpinLock, SpinWait, etc.).
Visual Studio 2010 permet la prise en charge des extensions parallèles via une nouvelle fenêtre Piles parallèles, une fenêtre Tâches parallèles et un outil de visualisation concurrentielle. Ces fenêtres sont toutes conçues pour vous donner une meilleure idée du stade où se trouvent différentes tâches à un moment donné de leur exécution. La fenêtre Piles parallèles indique la progression de plusieurs tâches dans leurs chemins dédiés et affiche les piles d'appel pour les tâches. Vous pouvez les afficher sous la forme d'abstraction de tâches ou directement en tant que threads. La figure 4 illustre la fenêtre Piles parallèles au moment de l'exécution avec l'option d'affichage d'abstraction de tâches.
Figure 4 Fenêtre Piles parallèles dans Visual Studio 2010
La fenêtre Piles parallèles a été ajoutée spécialement pour prendre en charge le nouveau modèle de programmation basé sur les tâches. Lorsque votre application est en mode arrêt, cette fenêtre permet d'afficher des éléments tels que la liste des tâches, la méthode d'exécution actuelle de chaque tâche, le thread apparenté, le domaine d'application, l'ID de la tâche, etc. La fenêtre est bien plus qu'une simple vue statique. Lorsque vous cliquez sur une tâche spécifique, l'IDE affiche son état en faisant passer devant le code en cours d'exécution. La figure 5 illustre un exemple d'application dans cette fenêtre. En utilisant cette fenêtre côte à côte avec la fenêtre Piles parallèles, vous obtenez rapidement une vue pratique du code en cours d'exécution.
Figure 5 Fenêtre Tâches parallèles dans Visual Studio 2010
Enfin, le nouvel outil de visualisation concurrentielle dans Visual Studio 2010 permet d'obtenir une analyse détaillée d'une application parallèle. Cette fenêtre est bien plus complexe que les deux autres et ne prend actuellement pas en charge les projets Web. Son rôle est de vous fournir une vue détaillée de l'interaction entre votre application et son environnement dans des scénarios multiprocesseurs et multithreads. Il existe trois vues :
- La vue Utilisation du processeur indique l'activité du processeur.
- La vue Thread indique l'interaction entre les threads dans votre application.
- La vue Cœurs fournit une vue spécifique de la façon dont vos threads migrent entre les cœurs.
L'outil de visualisation concurrentielle dépend du Suivi des événements pour Windows, ce qui signifie qu'il doit être exécuté dans Windows Vista ou une version ultérieure. Les vues, du texte basique aux affichages graphiques complets, détectent les faiblesses de votre code provoquées par une mauvaise répartition de la charge entre les processeurs, les goulots d'étranglement au niveau de l'exécution, les conflits et autres freins de performance potentiels. La figure 6 illustre l'outil de visualisation concurrentielle qui affiche l'utilisation du thread pour une application profilée.
Figure 6 L'outil de visualisation concurrentielle dans Visual Studio 2010
Mises à jour Web
Outre les mises à jour générales dont j'ai parlé, vous trouverez des améliorations notables pour les développeurs Web qui passent à Visual Studio 2010. Bien sûr, le nouvel outil de modèle de programmation MVC (Model-View-Controller) est désormais inclus, et je l'aborderai dans la section suivante. Il existe également des expériences de développement Web améliorées pour les technologies Web côté client et côté serveur, ainsi qu'un nouveau modèle de déploiement Web en un clic. Je commencerai toutefois par évoquer ASP.NET AJAX et les nouvelles possibilités associées de l'IDE.
Les outils ASP.NET AJAX existent dans Visual Studio depuis Visual Studio 2008. Cependant, les modèles orientés serveur ont conduit quelques développeurs à penser qu'ils n'apportaient aucune valeur ajoutée au développement côté client. Alors que les possibilités côté client ont toujours existé, Visual Studio 2010 inclut une prise en charge supplémentaire qui révèle les possibilités côté client et côté serveur d'ASP.NET AJAX. Les modèles et les contrôles côté client forment une part significative de la liste des nouvelles fonctionnalités dans la mesure où ils permettent de bénéficier des possibilités améliorées d'accès aux données client, mais d'autres nouveautés, comme l'intégration jQuery, méritent également votre attention.
Avant Visual Studio 2010 et le .NET Framework 4, pour utiliser le téléchargement logiciel et intégrer Microsoft AJAX Library à Visual Studio, vous deviez injecter l'ensemble sur votre page en ajoutant la balise ScriptManager. Dans la présente version, Microsoft AJAX Library et le kit d'outils de contrôle AJAX ont été combinés. En outre, l'équipe Microsoft AJAX à refactorisé les bibliothèques de sorte que vous pouvez désormais demander des parties individuelles, au lieu de vous contenter d'un choix entre tout et rien. Vous pouvez indiquer un mode, demander toutes les parties de Microsoft AJAX Library, aucune ou certaines.
Mode de fonctionnement Sous la balise ScriptManager, ajoutez l'attribut AjaxFrameworkMode. Vous pouvez le définir sur Désactivé, Activé ou Explicite :
<asp:ScriptManager ... AjaxFrameworkMode="Disabled"/>
Désactivé signifie que vous ne souhaitez pas charger les infrastructures Microsoft AJAX. Activé signifie que vous souhaitez conserver le comportement existant des versions précédentes (charger la totalité de la bibliothèque). Explicite permet de préciser quels fichiers Microsoft AJAX Library vous souhaitez charger. Vous pouvez vérifier cela au moment de l'exécution en utilisant Afficher la source une fois la page chargée.
De même, le nouvel attribut CDN (Content Delivery Network) permet d'utiliser les versions les plus récentes des bibliothèques de scripts. Auparavant, lorsque vous ajoutiez des bibliothèques de scripts telles que jQuery ou Microsoft AJAX dans votre projet, les versions étaient celles fournies. Vous pouvez désormais demander le téléchargement de la version la plus récente à partir du Web au lieu d'ajouter une version donnée dans vos solutions.
Mode de fonctionnement Sous la balise asp:ScriptManager, vous pouvez ajouter l'attribut EnableCdn et le définir sur « true » :
<asp:ScriptManager ... EnableCdn="true"/>
ASP.NET AJAX 4.0 permet également de définir des modèles strictement côté client. Créez un espace réservé <ItemTemplate> et laissez le client s'occuper du rendu en fonction des valeurs de l'exécution, telles qu'un objet JSON lié. L'exécution traite l'instanciation à votre place et vous n'avez pas à vous occuper du codage DOM pour le faire fonctionner.
L'une des nouveautés les plus utiles d'ASP.NET AJAX 4.0 est l'optimisation de l'accès aux données client grâce à un nouveau contrôle DataView et à des modèles client qui facilitent l'accès et offrent une liaison de données bidirectionnelle dans le client. Cette conception prévoit la consommation des services Web ASMX, des services WCF, des services de données WCF, des contrôleurs MVC ou de tout autre service qui renvoie JSON, le tout entièrement à partir de code côté client.
Le contrôle DataView est le contrôle principal pour la prise en charge des modèles client. Il fonctionne comme un contrôle ListView, mais il est implémenté entièrement en code client. Il permet de définir un modèle dans le client, d'extraire les données au moment de l'exécution et d'appliquer la mise en forme aux enregistrements lorsque vous les affichez.
Mode de fonctionnement Une installation élémentaire suffit : créez un modèle de données d'entité sur la base de données SQL Northwind et utilisez un service de données WCF vanille qui l'extrait directement sans changement, ce qui signifie que la table Employees devrait être disponible pour les requêtes. Cela étant fait, sélectionnez le contrôle que vous souhaitez utiliser comme modèle et donnez-lui un attribut ID et un attribut class=“sys-template”. Lorsque vous créez l'affichage des données, l'ID permet d'indiquer la destination des données extraites sur la liaison. Vous pouvez procéder à la liaison manuellement, mais une syntaxe utilisant des accolades permet d'intégrer directement le nom du champ dans le balisage, qui sera remplacé lorsque les données seront extraites et liées. Plusieurs syntaxes permettent de faire cela, mais l'une des façons les plus simples d'écrire le script et la balise est d'utiliser les accolades doubles, comme illustré à la figure 7*.*
Figure 7 Optimisation de l'accès aux données avec le contrôle DataView
...
<script type="text/javascript">
Sys.require([Sys.components.dataView,
Sys.components.adoNetServiceProxy], function () {
var adoNetDataServiceProxy =
new Sys.Data.AdoNetServiceProxy('NWDataService.svc');
Sys.create.dataView("#employeetemplate", {
dataProvider: adoNetDataServiceProxy,
fetchOperation: "Employees",
autoFetch: true
});
});
</script>
</head>
<body>
<div id="employeetemplate" class="sys-template">
<span>{{ FirstName }}</span><br/>
</div>
</body>
Il est également important de noter qu'ASP.NET AJAX a été créé pour s'intégrer encore plus étroitement à jQuery. L'objectif étant de permettre aux développeurs jQuery de bénéficier des contrôles d'ASP.NET AJAX, tous les contrôles du kit d'outils AJAX Control sont désormais automatiquement exposés comme des plug-ins jQuery. Les développeurs jQuery peuvent donc utiliser les contrôles sans modifier leur style de développement. Il suffit de les envisager comme des extensions de jQuery.
Au-delà d'ASP.NET AJAX, il existe d'autres améliorations intéressantes de la programmation ASP.NET. Le routage d'URL avec les Web Forms donne aux URL un aspect soigné et logique, bien mieux adapté à l'optimisation des moteurs de recherche et bien plus lisible. Vous pouvez définir des itinéraires dans votre fichier global.asax, qui met en correspondance les demandes et les ressources appropriées. Cela permet non seulement d'améliorer l'optimisation des moteurs de recherche, mais aussi aux pages d'emprunter un chemin prévisible pour l'utilisateur, comme illustré à la figure 8.
Figure 8 Amélioration de l'itinéraire des URL dans Visual Studio 2010
New URL Routing Format:
/CurrentPosition/Bob/Tester
Old URL Style:
/CurrentPositions.aspx?name="Bob"&role="Tester"
Bien d'autres améliorations liées au Web mériteraient d'être citées, comme les sites Web de démarrage, les fichiers HTML plus propres et les fichiers de configuration plus petits, mais, comme je ne peux pas tous les détailler ici, passons aux nouveaux outils MVC.
Intégration MVC
Le modèle d'architecture MVC est largement utilisé pour créer des applications Web dont la maintenance et le test sont très faciles à assurer, avec des limites bien définies et une catégorisation claire du code par fonction. MVC est un style de programmation ASP.NET qui tire pleinement parti de l'infrastructure ASP.NET. Il s'agit d'une alternative aux Web Forms, non de leur remplacement. Les deux modèles fonctionnent très bien dans certains scénarios et avec certaines compétences. Les développeurs ont désormais le choix entre deux modèles de programmation pour les applications Web, basés sur ASP.NET et entièrement pris en charge dans Visual Studio 2010.
La version 2 de MVC et ses outils, créés entre deux versions de Visual Studio, ont été intégrés à l'IDE de Visual Studio 2010 avec deux modèles de projet, comme illustré à la figure 9.
Figure 9 Modèles de projet MVC dans Visual Studio 2010
Avec la version Visual Studio 2010, le modèle de programmation MVC s'est concentré essentiellement sur trois améliorations. La première est une meilleure séparation des intérêts. C'est-à-dire un code qui se prête mieux à la maintenance, par exemple via la nouvelle méthode RenderAction pour composer la séparation de la logique métier, et des zones qui permettent de créer des « sous-applications » pour diviser la fonctionnalité dans votre application. La deuxième est l'amélioration de la validation, facilitée par les annotations de données et une meilleure propagation des règles de validation au client. La dernière concerne l'amélioration des applications d'assistance. Il existe désormais des programmes d'assistance fortement typés, ainsi que des programmes d'assistance basés sur un modèle, qui permettent de générer automatiquement l'interface utilisateur pour les entités.
Mode de fonctionnement RenderAction facilite le partage d'une logique sur plusieurs contrôleurs. Pour appeler la méthode RenderAction à partir de votre affichage, utilisez le script suivant (qui appelle l'action NewEmployee dans HRController) :
<% Html.RenderAction("NewEmployee" "HRController"); %>
Intégration de SharePoint
Citons une autre intégration importante dans Visual Studio 2010 avec l'ajout de modèles pour SharePoint Foundation (anciennement Windows SharePoint Services). Visual Studio 2010 est livré avec 12 nouveaux modèles pour SharePoint Foundation, plus les modèles des flux de travail séquentiels et des flux de travail de machine à états SharePoint 2007 du complément Visual Studio Tools pour Office de Visual Studio 2008. Ces modèles élèvent le développement SharePoint au premier rang, avec un intérêt particulier pour la productivité et la souplesse du déploiement.
L'utilisation principale de SharePoint Foundation est elle-même en pleine évolution, elle passe du simple portail qu'il est possible de développer à une plateforme de création d'applications de toute pièce à l'aide de composants tels que la gestion utilisateur, l'infrastructure de liste sous-jacente et le modèle de site. Les avancées sont significatives dans les domaines de l'accès aux données, de l'intégration des applications métier et du flux de travail. En outre, le modèle de déploiement est plus souple. De nombreuses entreprises disposent désormais d'installations SharePoint de grande envergure et sont nécessairement plus attentives au déploiement ad-hoc de nouvelles applications SharePoint. Dans le nouveau modèle de déploiement souple, vous pouvez désormais placer vos nouvelles installations dans un environnement sandbox dans des groupes spécifiques au lieu de les déployer sur tout l'écosystème SharePoint.
Visual Studio 2010 a largement amélioré les options des outils pour créer des applications SharePoint. Des fonctionnalités puissantes existaient déjà, mais leur apprentissage était ardu. Cette version procure une excellente prise en charge de SharePoint directement intégrée aux outils. Cela inclut le débogage complet intégré, les outils de déploiement souples et la prise en charge améliorée de la conception de Business Connectivity Services (BCS), du flux de travail, de LINQ to SharePoint et de composants Visual Web Part. Il est également plus facile d'importer des éléments de l'outil SharePoint Designer dans Visual Studio 2010.
Mode de fonctionnement Créer un composant Visual Web Part est bien plus facile dans Visual Studio 2010 grâce à la nouvelle aire de conception. Créez un nouveau projet et sélectionnez SharePoint | Composant Visual Web Part, comme illustré à la figure 10*.*
Figure 10 Modèle de composant Visual Web Part SharePoint dans Visual Studio 2010
Notez que SharePoint doit être installé sur l'ordinateur du développeur, et que l'opération est bien plus simple qu'avant. Si vous exécutez Windows Vista SP1 (ou une version ultérieure) ou Windows 7, vous pouvez installer SharePoint directement sur cet ordinateur sans installer Windows Server ni configurer un ordinateur virtuel.
Vous serez invité à indiquer à Visual Studio 2010 où vous souhaitez installer la solution pour le débogage. Lorsque l'éditeur est ouvert, cliquez sur l'onglet Conception en bas à gauche et commencez à construire visuellement votre composant Web Part en faisant glisser et en déposant les contrôles sur la surface. Notez que vous devrez peut-être ouvrir la boîte à outils (menu Affichage | Boîte à outils), si ce n'est pas déjà fait.
Développement Windows 7
Avec le succès grandissant de Windows 7, les développeurs voudront peut-être ajouter des fonctionnalités à leurs applications pour tirer parti des diverses possibilités de la nouvelle plateforme. Les développeurs ont le choix entre différentes méthodes pour ajouter des fonctions spécifiques de Windows 7. La nouvelle barre des tâches est l'une de ces fonctionnalités populaires. Vu son adoption rapide par les utilisateurs et sa facilité de programmation, elle est bien placée pour être utilisée dans les applications qui ciblent Windows 7.
La barre des tâches remplace la barre d'outils Lancement rapide des versions précédentes de Windows. La barre des tâches s'exécute (par défaut) dans la partie inférieure de l'écran de Windows 7 et les applications peuvent y être « épinglées ». En outre, elle permet aux applications d'intégrer des éléments tels que des listes de liens, qui sont des ensembles de liens rapides accessibles en cliquant avec le bouton droit sur les icônes ancrées, et des aperçus de la barre des tâches, qui sont des affichages en miniature des fenêtres ouvertes d'une application. La barre des tâches est facile à programmer, à partir de code géré (via le pack de code d'API de Windows 7) et non géré, et devrait rapidement être dans la ligne de mire des développeurs qui veulent créer des applications à exécuter sur Windows 7.
Mode de fonctionnement Les utilisateurs peuvent épingler des applications à la barre des tâches et les en désépingler en cliquant avec le bouton droit sur les icônes dans le menu Démarrer, dans l'Explorateur ou dans la barre des tâches. Pour épingler une application, cliquez avec le bouton droit sur l'icône de l'application (par sur un document, mais sur l'application elle-même) et sélectionnez « Épingler à la barre des tâches ». Pour la supprimer de la barre des tâches, procédez de même, mais sélectionnez « Détacher ce programme de la barre des tâches ».
La barre des tâches propose des améliorations esthétiques et fonctionnelles pour vos applications. Tous les programmes peuvent être épinglés à la barre des tâches, qu'ils soient en cours d'exécution ou non. L'icône épinglée peut servir à lancer l'application ou à représenter les fenêtres réduites. L'effet visuel provoqué lorsque vous passez le curseur sur une icône dans la barre des tâches est appelé suivi dynamique lorsque l'application est en cours d'exécution. Le suivi dynamique prend la couleur de l'icône dominante et l'utilise pour mettre l'icône en surbrillance. Un aperçu des instances en cours d'exécution de l'application est également affiché juste au dessus de l'icône épinglée.
La barre des tâches dispose également de la fonction aero-peek. Pour la tester, placez le curseur sur l'aperçu d'une fenêtre. La fenêtre de l'aperçu sélectionné passe devant et les autres fenêtres sont grisées. Les utilisateurs peuvent ainsi voir rapidement une fenêtre masquée ou réduite sans changer d'orientation ni appuyer sur aucune touche.
Pour suivre les applications, un ID d'application est donné aux instances des applications en cours d'exécution, qui sont alignées sur l'icône de leur application dans la barre des tâches. En tant que développeur, vous pouvez utiliser les classes TaskbarManager et JumpList pour interagir par programmation avec la barre des tâches à partir de vos applications. Notez que, pour utiliser ces classes, vous devrez télécharger et référencer les assemblys dans le Pack de code d'API Windows 7 gratuit à partir de code.msdn.microsoft.com/WindowsAPICodePack.
Ce Pack de code créé par l'équipe Windows SDK permet de travailler par programmation avec la barre des tâches. Il contient également plusieurs exemples d'applications avec des améliorations de Windows 7. En réalité, vous définissez une référence vers les assemblys compilés (dans cet exemple, parcourir le projet de la barre des tâches) dans votre code.
Vous pouvez également donner à plusieurs instances d'une application le même ID d'application ou des ID d'application uniques, ce qui vous permet de les grouper ou de les séparer sur la barre des tâches. Pour donner des ID uniques à différentes instances d'une application, vous devez définir l'ID d'application avant d'appeler Application.Run. Si vous souhaitez simplement donner à des fenêtres enfants leur propre icône dans la barre des tâches, vous pouvez modifier leur ID d'application à tout moment.
Mode de fonctionnement Pour donner à une fenêtre enfant sa propre icône dans la barre des tâches, utilisez la classe JumpList class et appelez la méthode statique CreateJumpListForIndividualWindow, en passant un ID d'application de fenêtre enfant et le descripteur de la fenêtre. Le code ressemble à ceci :
childWindowJumpList = JumpList.CreateJumpListForIndividualWindow(
childWindowApplicationId, this.Handle);
Intégration de Windows Azure
L'informatique en nuage est en passe de devenir une alternative viable aux solutions d'architecture d'hébergement Web et sur site traditionnelles. En résumé, il s'agit de faire héberger une partie de vos solutions logicielles (ou tout) par une entreprise dans un très grand centre de données qui propose une évolutivité à la demande et qui est d'une très grande fiabilité. La plateforme Windows Azure est une plateforme de services et d'informatique en nuage de Microsoft. Elle se compose de trois ensembles de services : Windows Azure, SQL Azure et la plateforme Windows Azure AppFabric.
Windows Azure est l'environnement d'hébergement des applications. Vous pouvez l'imaginer comme le système d'exploitation en nuage. SQL Azure est essentiellement la base de données en nuage. Windows Azure AppFabric est un ensemble de blocs constitutifs courants utilisés par les applications hébergées dans le nuage. Windows Azure AppFabric inclut deux services : le service de contrôle d'accès (pour l'authentification fédérée et l'autorisation basée sur les revendications) et le bus de service (pour la connectivité entre solutions en nuage et les solutions sur site).
Visual Studio 2010 inclut plusieurs modèles de projets pour créer des solutions de plateforme Windows Azure. Pour VB.NET et C#, il existe quatre modèles différents pour les rôles Web et un pour un rôle worker. Il existe également un modèle de projet de rôle worker pour F#. Les modèles de rôles Web pour VB.NET et C# en incluent un chacun pour ASP.NET, MVC avec ASP.NET, les services WCF et CGI.
Une des spécificités des projets de plateforme Windows Azure dans Visual Studio 2010 est qu'ils permettent de sélectionner plusieurs rôles pour votre projet lorsque vous le créez. Par exemple, vous pouvez créer un nouveau projet avec un rôle Web ASP.NET MVC dans C# et un rôle worker dans VB.NET. C'est pourquoi l'expérience Nouveau | Projet est légèrement différente pour les applications en nuage. Vous pouvez sélectionner les rôles dans une boîte de dialogue, en place de la sélection unique disponible dans la plupart des autres modèles de projets.
Mode de fonctionnement Pour créer un projet qui cible la plateforme Windows Azure dans Visual Studio 2010, sélectionnez Nuage dans la liste Modèles installés, comme illustré à la figure 11*.*
Figure 11 Sélection d'un type de projet en nuage dans Visual Studio 2010
Dans la boîte de dialogue qui s'affiche, sélectionnez les rôles appropriés, chacun ayant potentiellement un type et/ou un langage différent. La figure 12 illustre un nouveau projet de service en nuage Windows Azure avec un rôle Web ASP.NET MVC, deux rôles Worker VB.NET et un rôle Worker F#.
Figure 12 Configuration d'un projet de service en nuage avec plusieurs rôles et langages
Multi-ciblage
En soi, le multi-ciblage n'est pas nouveau dans Visual Studio 2010. Cependant, il dispose d'une nouvelle fonctionnalité d'extensibilité qui vaut la peine d'être étudiée. Il est surprenant de constater qu'un grand nombre de personnes ne comprennent pas les avantages du multi-ciblage et ne savent pas qu'il leur permet d'utiliser Visual Studio 2010 pour créer des solutions qui s'exécuteront sur des versions antérieures du .NET Framework. Le multi-ciblage s'adresse aux équipes de développement qui souhaitent utiliser les outils les plus récents, avec leurs fonctions évoluées de débogage et d'édition, mais ne sont pas encore prêtes (ou leurs clients, peut-être) à passer leur code à .NET Framework 4. Le multi-ciblage permet de créer des applications pour cibler les versions 2.0, 3.0, 3.5 ou 4 du .NET Framework.
Mode de fonctionnement Lorsque vous démarrez un nouveau projet, sélectionnez l'infrastructure ciblée dans la liste déroulante, comme illustré à la figure 13*.*
Figure 13 Sélection d'une version d'infrastructure ciblée via le multi-ciblage
La nouvelle option <Autres Frameworks…> (la dernière entrée dans la zone de liste déroulante encerclée dans la figure 13) permet la diversité des infrastructures cibles prises en charge. Cela permettra à l'avenir d'ajouter de prochaines versions de l'infrastructure, voire d'autres profils .NET Framework. De tels ajouts seraient très probablement installés via MSI, mais pourraient finalement être ajoutés manuellement avec un fichier de description XML et les assemblys d'infrastructure copiés directement sur l'ordinateur.
Et encore...
Il existe de nombreuses autres fonctionnalités dans Visual Studio 2010, bien plus que celles évoquées dans le présent article. Il est difficile de passer sous silence la page de démarrage personnalisable qui permet aux entreprises de lier des ressources propres à l'entreprise. Citons également, parmi tant d'autres nouvelles fonctionnalités, les mises à jour C++/ANSI, l'aide constamment mise à jour, le nouveau langage de programmation F#, les améliorations d'Entity Framework et les visualisations du code. Ces fonctionnalités renforcent Visual Studio 2010 dans sa position d'outil de développement incontournable, capable de fournir les types de logiciels attendus par notre secteur. J'espère que vous avez maintenant une meilleure idée de ce que propose Visual Studio 2010. Si vous souhaitez le tester, téléchargez une copie d'évaluation à l'adresse microsoft.com/vstudio.
Doug Turnure est responsable de programme dans l'équipe Visual Studio chez Microsoft. Il est essentiellement chargé des commentaires des clients et de l'adoption du logiciel. Il a été tour à tour développeur, auteur, formateur, tweeter, mercaticien et, à l'occasion, conférencier. Doug Turnure vit désormais avec bonheur à Seattle, après avoir juré pendant des années qu'il n'y habiterait jamais !
Je remercie les experts techniques suivants d'avoir relu cet article : Miguel Castro, Mark Dunn et Jim Wooley