Facebook EmaiInACirclel
Développement front-end, back-end

Visual Studio 2012

Constantin Samoila
Constantin Samoila
Expert Cloud et Infogérance

Après 15 années de Visual Studio, Microsoft lance une nouvelle version de son produit phare de développement – Visual Studio 2012. L’impact des facteurs externes sur le nouveau produit est bien visible, le focus étant sur des éléments clés comme : modernisme, simplicité, écosystème.

Dans les chapitres suivants nous allons discuter des nouveautés et des éléments utiles dans cette nouvelle version, la plus importante à ce jour.

Écosystème

Microsoft ne voit plus Visual Studio comme un simple outil employé par les développeurs ; VS 2012 est ciblé comme étant le point central de l’écosystème de développement Microsoft. Tout ce qui est important peut y être réalisé:

  • Gestion du cycle de vie applicatif (ALM): processus agile, participation des stakeholders, traitement exigences
  • Modélisation des applications: diagrammes uml, graphes des dépendances
  • Processus ALM pour l’entière équipe :
    • Outils pour des tests manuels ou automatiques (Microsoft Test Manager)
    • Outils pour la suivie de la performance
    • Outils pour l’architecture du projet
    • Outils pour la revue du code et le refactoring
    • Outils pour les rapports sur l’état du projet

En ce qui concerne les plate-formes supportées, VS 2012 offre dès le début du support pour :

  • Windows 8
  • Sql server 2012
  • Sharepoint
  • Azure
  • Office
  • Office 365 (cloud)

Windows 8 – Windows RT

Le plus important ajout c’est bien sur le support des applications pour Windows 8 (Windows RT). C’est aussi la plus controversée fonctionnalité et elle a polarisé l’entière communauté .net. C’est plutôt une situation de amour ou haine avec la nouvelle interface. Pour illustrer ces aspects pour la communauté nous avons compilé des preuves.

Pro:

  • Interface moderne
  • Écran tactile ou clavier
  • La même application sur la tablette ou sur l’écran du pc
  • Vitesse supérieure de production
  • Similitude de 95% avec la version mobile – Windows Phone 8
  • Pour les cas spéciaux, l’utilisation des applications standard Windows (office, visual studio) c’est juste un bonus

Contre:

  • Windows ne semble plus être cohérent
  • Mélange entre deux mondes (mobile et pc) qui génère une combinaison artificielle
  • Le nouveau système d’interface n’offre pas la même fonctionnalité comme iOs ou même Android

Seulement le temps dira la fin de l’histoire.

Visual Studio offre plus que l’environnement de codage pour ces applications. L’entier processus de création est ciblé, depuis la conception jusqu’à l’étape finale de soumission à Windows Store.

Au niveau du framework Windows RT utilise un sous-ensemble du .net framework 4.5 pour garantir l’exécution sur n’importe quel type de dispositif. Pour créer des applications Windows RT Microsoft offre 2 grandes directions:

  • .Net : c# ou vb.net. Système similaire WPF ou Silverlight en conception
  • Javascript et html: Solution pour attirer les développeurs web. Toute l’application est réalisée dans html et JavaScript (en utilisant jquery ou n’importe quelle autre librairie); un api est offert pour se connecter au framework RT.

Pour la version .net les différences de WPF sont assez grands (exécution asynchrone sur toute la librairie, focus sur la sécurité et accès spéciaux aux ressources.). Pour un développeur .net ce n’est pas très facile de travailler directement sur la plate-forme, une bonne session de formation est nécessaire.

.Net framework

Avec Visual Studio 2012 nous avons aussi .net framework 4.5. Il contient des mises à jour pour la version 4.0 et apporte une collection de librairies (comme 3.0 ou 3.5 ont fait sur .net 2.0). Parmi les changements nous considérons utiles à retenir:

  • Compilation JIT avec du support multiprocesseur. En traduction -> start-up plus rapide d’une application sur un système moderne
  • Portable Class Library: projet pour la création des assemblées utilisables sur toutes les plate-formes .net: Windows 7, Windows 8, Windows Phone 7/8, Silverlight et Xbox 360.
  • Le processus d’installation du framework 4.5 peut être réalisé avec 0 restarts dans la plupart des cas
  • Le processus de garbage collection peut être réalisé en parallèle maintenant
  • Nouvelle version asynchrone pour le traitement des fichiers basée sur les additions du c# et vb
  • Changement de performance pour Task Parallel Library et l’introduction d’une librairie de traitement de flux de données (TPL Dataflow). C’est idéal pour des scénarios de traitement producteur / consommateur.
  • Une nouvelle librairie pour les consommateurs des services HTTP. HTTP n’est plus juste pour le navigateur ou des service web complexes.
  • WebSocket offre une chaîne de communication bi-directionnelle entre 2 clients HTTP. C’est effectivement une communication presque « TCP » sur HTTP.

Langages

Au niveau des langages VS 2012 les changements sont plutôt cosmétiques ou nécessaires pour soutenir la plate-forme Windows 8. On reste avec les mêmes langages que 2010 : C#, Vb.net, C++, Javascript et Visual F#.

Pour les langages .net le changement le plus important c’est l’introduction du traitement asynchrone du code, sans l’utilisation des méthodes de synchronisation ou management des fils. Nous parlons bien sûr des nouveau mots-clés « async » et « wait ».

Développement web

Comme d’habitude, chaque version du Visual Studio apporte des améliorations sur les frameworks web. Nous avons aussi des changements dans la configuration du Visual Studio:

  • L’introduction de IIS Express comme outil standard de déploiement local des applications web. IIS Express est beaucoup plus proche de IIS que l’ancien Asp.net Development Server
  • La librairie AntiXSS est utilisée par défaut pour encoder la saisie de l’utilisateur

Asp.net Web Forms

Web Forms, le vétéran Microsoft pour les sites web, continue sa route vers des standards modernes. Il prend aussi des éléments utilisés par Asp.net MVC. Parmi les changements nous considérons comme étant importants:

  • L’introduction des Model Binders (pris de asp.net mvc) pour connecter les composants avec la saisie utilisateur
  • Le support pour unobstrusive javascript (grand problème dans les versions anciennes de web forms)
  • L’effort d’éliminer les problèmes de compilation dans les pages aspx (des associations de données fortement typées à la place des constantes)
  • Le support prolongé html 5/css 3
  • Le support direct pour CDN – Content Distribution Network en utilisant le ScriptManager
  • Le support direct pour Microsoft Azure dans les composantes orientées-données

Avec chaque nouvelle version de web forms nous avons un produit de plus en plus proche des concepts de Asp.net MVC. Avant mvc, le web forms était resté relativement fixé pour une longue période de temps.

Asp.net MVC

Asp.net MVC est maintenant le star du développement web .net. La version 4.0 a apporté des optimisations importantes.

  • Asp.net Web API
  • Optimisation performance site web (bundling et minification pour des fichiers css et JavaScript)
  • Introduction du nouveau système pour les méthodes asynchrones des controllers
  • Nouvelle version du langage Razor. Optimisation de la performance et l’introduction du « ~ »
  • Un nouveau api pour des SPA (Single Page Application). C’est une initiative complexe qui utilise beaucoup de frameworks javascript open-source: knockout.js, jquery, upshot, nav.js

Le WebAPI représente la plus grande piste de progression. C’est un mélange entre WCF et Asp.net MVC pour offrir la meilleure plate-forme REST de Microsoft.

Visual Studio LightSwitch

LightSwitch est un nouvel outil de développement pour la création rapide des applications web ou desktop, en utilisant juste le IDE. Le focus reste sur le business et le traitement des données entre ihm et la basse de données et pas sur le code ou l’infrastructure.

Traitement des données

Dans VS 2012 Sql Server 2008 Express est remplacé par SQL Server Express LocalDB. LocalDB est une version très légère de Sql Server. L’avantage par rapport à 2008 Express c’est que LocalDB demande une configuration minimale. Il peut être donc distribué avec une application sans la demande explicite que Sql Serve 2008 express soit installé.

Pour SQl Server un nouvel outil de gestion a été introduit, SQL Server Object Explore. L’outil ressemble à Management Studion du point de vue du look et de la fonctionnalité.

A partir de VS 2012 Entity Framework s’engage sur la route de Asp.net MVC. L’équipe de EF va réaliser des nouvelles versions indépendantes de Visual Studio. La version courante EF 5.0 apporte des éléments utiles:

  • Le mode de travail « code first » est maintenant mûr et bien intégré avec Visual Studio
  • EF offre du support direct pour le versionnage des scripts pour la base de données
  • Les types de données spatiales de Sql Server 2008 ont du support direct dans le framework
  • EF s’intègre bien avec LocalDB. La base de données peut être créée en mode automatique et les scripts
    d’évolution de la base peuvent être exécutés dans VS 2012

Divers

Beaucoup d’autres librairies du .net ont reçu un lifting de 4.5:

  • WPF peut employer directement le « ribbon » IHM d’Office 2010. Les composantes orientées-données ont reçu aussi du support pour le traitement des données volumineuses.
  • WPF a bénéficié d’une mise à jour sur son ihm dans Visual Studio (problèmes de perf sur les anciennes versions).
    Un workflow spécialisé pour les machines d’état est introduit.
  • WCF a posé toujours des problèmes sur la configuration et sa complexité. La version 4.5 a continué les
    changements au niveau de la config commencés par .net 4.0. WCF peut aussi communiquer sur la nouvelle librairie WebSocket. La manière de travail « code first » est aussi introduite au niveau de WCF.

Visualisez notre Cvtheque des experts développeurs.
Testez notre plateforme de recrutement des développeurs.

Voir nos vidéos de présentation des équipes.

Cet article a été rédigé par Irinel Matei, ex expert .Net Pentalog


2 Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.