MVC4 : Nouveautés et migration à partir de MVC3

Post on 22-Feb-2016

19 views 0 download

description

MVC4 : Nouveautés et migration à partir de MVC3. Sébastien PUTIER Consultant .Net, MCNEXT http://sputier.com. Bastien VINCENT BIZET Consultant .Net, MCNEXT. MCNEXT. Spécialiste Microsoft Implanté à Paris et Lyon. Webagency spécialiste web et SharePoint Implanté à Paris. - PowerPoint PPT Presentation

Transcript of MVC4 : Nouveautés et migration à partir de MVC3

Developer Day

MVC4 : Nouveautés et migration à partir de MVC3

Sébastien PUTIERConsultant .Net, MCNEXThttp://sputier.com

Bastien VINCENT BIZETConsultant .Net, MCNEXT

MCNEXTSpécialiste Microsoft

Implanté à Paris et Lyon

Webagency spécialiste web et SharePointImplanté à Paris

Spécialiste MicrosoftImplanté à Genève

Spécialiste iPhone / iPadImplanté à Paris

MCNEXT160 collaborateurs 15 millions de CA+35% de croissance annuelle depuis 2007Membre du « Microsoft Apps circle »

Certifié Gold partner

Agenda

AgendaMobilitéWeb APIBundling et minificationControlleurs asynchronesComment passer de MVC3 à MVC4Questions / Réponses

PrérequisFramework 4.5- Visual Studio 2012

ASP.NET MVC4 – Visual Studio 2010

MobilitéASP.NET MVC 4

Rendu adaptatif

Tag meta viewport Indiquer explicitement au navigateur la taille du rendu <meta name="viewport" content="width=device-width" />

CSS media queriesAppliquer des feuilles de style selon des conditions basées sur les caractéristiques du périphérique de consultation.

Permet de cibler : Type de media (screen – print) Taille de l’écran Résolution L’orientation

Rendu adaptatif

Rendu adaptif

Vues spécifiques au mobileAvant MVC 4 Utilisation de Request.Browser.IsMobileDevice par code if (Request.Browser.IsMobileDevice) return View("Index.mobile"); else return View("Index");

MVC4 Créer des vues « mobiles » myview.mobile.cshtml

Créer des vues spécifiques en utilisant le DisplayMode => créer un mode d’affichage selon une condition

Par exemple des vues correspondant au DisplayMode myview.WindowsPhone.cshtml

Nouveau template de projet Mobile

License Apache

Nouveau template de projet Mobile Application web spécifique pour mobiles et tablettes

Utilisation de Jquery Mobile basée sur Jquery - HTML 5 Optimisation cross plateforme => Suppression des hacks Optimisation de l’affichage pour mobile Supporte les évènements tactiles

Gère l’amélioration progressive (Progressive Enhancement) : garder la même expérience utilisateur selon les différentes versions du browser

License Apache

Web APIASP.NET MVC4

Web API

Web API != site Internet!! fournir des données à travers une API web

Service consommé par différents types d’applications : ASP.NET MVC, PHP, Silverlight, WPF

Web APIArchitecture REST Utilisation du protocole HTTP : indépendance de la plateforme Stateless

Negociation de contenu Par défaut les formats sont XML – JSON pour l’échange de données Possibilité d’ajouter ses propres formats.

Comptabilité avec les routes Convention de routes spécifiques

/api/{controller}/{id} Possibilité d’ajouter ces propres routes

Web APILiaison des modèles La liaison des des données avec le modèle et les validations sont supportées.

Amélioration des tests HttpRequestMessage et HttpResponseMessage

Support IoC Résolution de dépendance pour diminuer les relations entre les diffférentes couches

Web APIParticularités Tous les noms de methodes doivent commencer par le nom de l’action HTTP

GET pour lire (GetAll(), GetProduct(int id) POST pour ajouter un élément DELETE pour supprimer une entité PUT pour mettre a jour

Attention les actions ne sont pas identifiées par leurs noms mais par les paramètres

Si pas de concordance entre HTTPRequest et Actions possibles, GET sans paramètre.

Bundling et minificationASP.NET MVC 4

Bundling et minificationBundling Regrouper plusieurs fichiers en un seul fichier. Eviter les delais d’attentes d’ouvertures de connexion.

Minification suppression des caractères inutiles (espace, tabulation) suppression des commentaires renommage des variables

Par défaut sous MVC4 Implémentation possible sous MVC3 avec ajout de code.

Bundling et minificationAvantAprès

- .

Controllers asynchrones

ASP.NET MVC4

Controllers asynchronesPourquoi avoir des controllers asynchrones? Eviter les files d’attentes et erreurs HTTP 503

Diminuer ThreadPool et donc ressources nécessaires

Controllers asynchronesUtilisation de méthodes synchrones Opérations simples ou de courte durée

Opérations processeurs

Utilisation de méthodes asynchrones Operations réseaux ou I/O

Opérations utilisant des web services

Opérations qui peuvent être annulées par l’utilisateur

Passer de MVC3 à MVC4ASP.NET MVC4

Passer de MVC3 à MVC4Le plus simple : Créer une nouvelle application MVC4 et copier coller le code

Modifier l’existant Installer le package ASP.NET MVC4

Modifier Web.config

Modifier le .csproj

Q & RASP.NET MVC4

Merci !