mvc4 : nouveautés et migration à partir de mvc3
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 PresentationTRANSCRIPT
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 !