[Techdays 2013] Quoi de neuf dans ASP.NET MVC 4 ?

download

Cette session a eu lieu le mardi 12 février et a été animée par Julien Corioland et  Léonard Labat, tous deux consultants .NET chez Infinite Square. Les deux intervenants nous ont présenté les différentes nouveautés apportées par le framework Microsoft ASP.NET MVC dans sa version 4.

Vous trouverez dans cet article un résumé des principales nouveautés présentées.

Introduction

Pendant l’introduction, Julien Corioland a rappelé un peu l’historique de l’évolution des technologies web Microsoft basées sur le framework Asp.NET. Au début de cette aventure, Microsoft a mis en place le framework WebForms pour permettre aux développeurs déjà familiarisés avec le Framework Windows Forms de faire du développement web tout en masquant la problématique du protocole Http qui est Stateless. Les WebForms font partie d’un monde complètement Stateful avec notamment les mécanismes du Viewstate, Postback…

Le besoin est ensuite apparu de mettre en place une technologie compatible avec le protocole Http :  c’est la naissance de la technologie Asp.NET MVC. Cette dernière était, dans ses versions 1 et 2, en mode OpenSource avant d’être reprise et intégrée par Microsoft.

L’intervenant nous a aussi fait un petit rappel sur le modèle de développement avec le pattern MVC.

Nouveautés d’ASP.NET MVC 4

Dans cette partie je vais citer quelques-unes des nouvelles fonctionnalités que nous apporte ASP.NET MVC 4.

Nouveaux templates de projet

Cette version intègre de nouveaux templates pour la création de projets web en utilisant ASP.NET MVC ou Web API (autre nouveauté). On peut aussi trouver des nouveaux templates d’application mobile ou Facebook.

Pour les moteurs de vues, pas de changement : c’est toujours ASPX et Razor.

Nouvelle charte graphique

La charte graphique a évolué et intègre JQueryUI dans cette nouvelle version.

A noter que le template de base est compatible mobile, c’est-à-dire que le moteur ASP.NET MVC adapte automatiquement la disposition du contenu en fonction de la taille du navigateur.

Global.asax modifié

Le fichier est beaucoup plus propre car le code permettant de gérer le routage et les filtres est déplacé dans les classes « RouteConfig.cs » et « FilterConfig.cs » situées dans le dossier App_Start .

Création des Controllers

Dans cette version de MVC nous avons la possibilité de créer les Controllers partout dans l’application, on n’a plus la contrainte de tous les créer dans le dossier « Controllers ». Ceci a pour avantage de pouvoir séparer différentes parties de l’application en utilisant par exemple des namespaces différents.

Controllers Asynchrones

A l’aide du Framework .NET 4.5 et de System.Web.Mvc.Async, ASP.NET MVC 4 supporte désormais les mots clé Async/Await et Task pour la mise en place des Controllers asynchrones. Ces derniers vont nous permettre d’exécuter plusieurs traitements simultanément et de ne pas bloquer le serveur web lors de l’attente de la réponse à une requête.

SimpleMembership

C’est le nouveau provider pour la gestion des rôles et des utilisateurs. Celui-ci permet de simplifier la mise en place du mécanisme d’authentification des utilisateurs.

Bundles

Une autre nouveauté est l’utilisation du regroupement et la minification des fichiers Javascripts et Css. Cette technique permet de réduire considérablement le temps de chargement des pages et améliorer ainsi les performances dans les applications web.

Pour permettre la mise en œuvre de ces mécanismes, ASP.NET MVC 4 introduit l’espace de nom System.Web.Optimization.

Voici un exemple de code de regroupement, disponible dans la classe « BundleConfig.cs » située dans le dossier App_Start  :


    bundles.Add(new

    StyleBundle("~/Content/themes/base/css").Include(

    "~/Content/themes/base/jquery.ui.core.css",

    "~/Content/themes/base/jquery.ui.accordion.css",

    "~/Content/themes/base/jquery.ui.autocomplete.css",

    "~/Content/themes/base/jquery.ui.button.css",

    "~/Content/themes/base/jquery.ui.dialog.css",

    "~/Content/themes/base/jquery.ui.tabs.css",

    "~/Content/themes/base/jquery.ui.datepicker.css",

    "~/Content/themes/base/jquery.ui.theme.css"));

    

Et voici la ligne générée (code source de la page) si on active l’optimisation :


    <link href="/Content/themes/base/css?v=gIBMUKf52eMgW-82k9do7UpkaeYtCG3TSJrNkF_W_l01"
    rel="stylesheet" type="text/css" />

    

Display Modes

Une des nouveautés d’ASP.NET MVC 4 est l’adaptation du style d’affichage d’une application au terminal connecté. Pour cela, le framework va utiliser les display modes qui vont lui permettre, en fonction du User Agent qui demande du contenu, de chercher la vue spécifique à renvoyer dans la réponse.

On peut par exemple créer plusieurs vues spécifiques aux différents types de périphériques :

_Layout.cshtml

_Layout.mobile.cshtml

_Layout.WindowsPhone.cshtml

Cette nouveauté a le mérite d’en finir avec les bidouilles dans les CSS  ou les dizaines de if dans du code javascript. C’est super, n’est ce pas ! 😉

 Web API

La grosse nouveauté de cette nouvelle version d’ASP.NET MVC réside dans l’intégration du template Web API.

Elle a pour objectif principal de permettre aux développeurs d’exposer leurs applications, données et services sur le web directement à travers HTTP. Ces derniers peuvent être consommés par un large choix de clients (navigateurs, réseaux sociaux, terminaux mobiles, etc…) indépendamment de la plateforme.

Parmi les avantages des Web API, on trouve un modèle de programmation HTTP moderne, la possibilité pour le client et le serveur de négocier et de déterminer le bon format pour les données retournées à partir d’une API et la flexibilité lors de l’hébergement.

 Conclusion

Pas mal de nouveautés donc dans cette nouvelle version. On voit bien le retour en force de Microsoft surtout sur les terminaux mobiles et sur la programmation asynchrone. Ceci nous conduit dans un monde qui change rapidement par rapport à ce qu’on a l’habitude de faire sur les applications web classiques.

N’hésitez pas à installer cette nouvelle version du framework ASP.NET MVC4 en vous rendant ici : http://www.asp.net/mvc/mvc4

Nombre de vue : 210

AJOUTER UN COMMENTAIRE