270 likes | 351 Views
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.
E N D
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 Webagencyspécialiste web et SharePointImplanté à Paris Spécialiste Microsoft Implanté à Genève Spécialiste iPhone / iPad Implanté à Paris
MCNEXT 160 collaborateurs 15 millions de CA +35% de croissance annuelle depuis 2007 Membre du « Microsoft Apps circle » Certifié Gold partner
Agenda Mobilité Web API Bundling et minification Controlleurs asynchrones Comment passer de MVC3 à MVC4 Questions / Réponses
Prérequis Framework 4.5- Visual Studio 2012 ASP.NET MVC4 – Visual Studio 2010
Mobilité ASP.NET MVC 4
Rendu adaptatif Tag meta viewport • Indiquerexplicitement au navigateur la taille du rendu • <meta name="viewport" content="width=device-width" /> CSS media queries Appliquer des feuilles de style selondes conditions baséessur 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
Vues spécifiques au mobile Avant 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 DisplayModemyview.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 API ASP.NET MVC4
Web API Web API != site Internet!! fournirdes données à travers une API web Service consommé par différents types d’applications : ASP.NET MVC, PHP, Silverlight, WPF
Web API Architecture 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’ajoutersespropres formats. Comptabilité avec les routes • Convention de routes spécifiques /api/{controller}/{id} • Possibilité d’ajouter ces propres routes
Web API Liaison des modèles • La liaison des desdonnées avec le modèle et les validations sontsupporté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 API Particularités • Tous les noms de methodesdoivent commencer par le nom de l’action HTTP • GET pour lire (GetAll(), GetProduct(int id) • POST pour ajouter un élément • DELETE pour supprimeruneentité • PUT pour mettre a jour • Attention les actions ne sont pas identifiées par leursnomsmais par les paramètres • Si pas de concordance entre HTTPRequest et Actions possibles, GET sans paramètre.
Bundling et minification ASP.NET MVC 4
Bundling et minification Bundling Regrouperplusieursfichiers en un seulfichier. Eviter les delaisd’attentesd’ouvertures de connexion. Minification suppression des caractèresinutiles (espace, tabulation) suppression des commentaires renommage des variables Par défaut sous MVC4 Implémentationpossible sous MVC3 avec ajout de code.
Bundling et minification Avant Après .
Controllers asynchrones ASP.NET MVC4
Controllers asynchrones Pourquoiavoir des controllers asynchrones? Eviter les files d’attenteset erreurs HTTP 503 DiminuerThreadPool et doncressourcesnécessaires
Controllers asynchrones Utilisationde méthodessynchrones Opérations simples ou de courtedurée Opérationsprocesseurs Utilisationde méthodesasynchrones Operations réseauxou I/O Opérationsutilisant des web services Opérations qui peuventêtreannulées par l’utilisateur
Passer de MVC3 à MVC4 ASP.NET MVC4
Passer de MVC3 à MVC4 Le plus simple : • Créerune nouvelle application MVC4 et copier coller le code Modifier l’existant • Installer le package ASP.NET MVC4 • Modifier Web.config • Modifier le .csproj
Q & R ASP.NET MVC4