ASP.NET MVC 6

2 610 vues

Publié le

ASP.NET MVC 6 est la prochaine version du Framework MVC de .NET. Il a pour vocation de tirer partie de la puissance de .NET tout en mettant de côté l'historique parfois pesant d'ASP.NET. Venez découvrir en quoi ASP.NET MVC 6 est un framework MVC moderne et les principales nouveautés de cette nouvelle version majeure.

Publié dans : Technologie

ASP.NET MVC 6

  1. 1. AMBIENT INTELLIGENCE tech days• 2015 #mstechdays techdays.microsoft.fr
  2. 2. ASP.NET MVC6 Rui Carvalho @rhwy @paulcociuba Paul Cociuba
  3. 3. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba  .Net Escalation Engineer pour Microsoft France - développeur web ( ASP.Net et IIS ) depuis 10 ans - interface entre le groupe produit ASP.net, le support et les clients Microsoft - blog: http://blogs.msdn.com/friis - site de gestion des favoris en ligne: http://linqto.me -packge Nuget Azure Black IP -passionné de l’aviation civile et gestion du trafic aérien Paul Cociuba Cloud Favorites
  4. 4. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba Artisan Logiciel indépendant Rui Carvalho Développement .net web, Conseil, coaching, formation Conférence internationnale de développeurs .Net à ParisTalks mensuels, coding dojos, open spaces http://www.meetup.com/altnetfr http://ncrafts.io C#, F#, Architecture, DDD, Cqrs, sofrware craftsmanship,+
  5. 5. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba Prochains évènements NCRAFTS 21-22 MAI 2015 Code : TD2015-MVC6 Talks : 19 Mars http://www.meetup.com/altnetfr/events/220455512/
  6. 6. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba WHAT’S NEW ?
  7. 7. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba Tout ! (mais pas tant que ça)
  8. 8. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba
  9. 9. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba 1996 ASP 2002 ASP.NET 2008 ASP.NET MVC 2010 2012 2014 K (webforms) Web pages SignalR Web API
  10. 10. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba 1996 ASP 2002 ASP.NET 2008 ASP.NET MVC 2010 2012 2014 K (webforms) Web pages SignalR Web API 6 ans 6 ans 6 ans
  11. 11. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba
  12. 12. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba (c’était presque simple)
  13. 13. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba
  14. 14. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba
  15. 15. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba
  16. 16. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba Html Helpers Html Helpers Controllers Actions Filters ModelBinders Controllers Actions Filters ModelBinders
  17. 17. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba TOO BIG! Legacy Duplication System.Web Complicated Tools Does Not match today needs !
  18. 18. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba
  19. 19. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba MVC 6
  20. 20. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba ASP.NET MVC 6 = ( MVC + Web API + Web Pages)
  21. 21. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba OPEN SOURCE GITHUB Command Line First Simplicity CROSS Platform Package First
  22. 22. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba Visual Studio 2015 preview K runtime http://www.asp.net/vnext Windows / Mac / Linux https://github.com/aspnet/home 1. install the runtime manager (KVM) 2. install last runtime (KRE) : kvm upgrade 3. Install nuget packages (KPM) : kpm restore 4. Run project command (K) : k {command}
  23. 23. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba Un nouveau répertoire Un Project.json Un fichier de code : Startup.cs Puis kpm restore && K web Plus besoin de csproj xml, de msbuild, de declarer les fichiers sources … (ceux que vous verrez ne sont utilisés que par Visual Studio)
  24. 24. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba
  25. 25. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba
  26. 26. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba
  27. 27. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba (Même principes que pour Web API2+Owin) Ajout de MVC au pipeline owin: Configuration des routes: DI / Services (obligatoire): Le point d’entrée
  28. 28. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba  Pas de classe de base obligatoire : convention  Sinon héritage de Controller  Même controller pour Web UI et Web API What’s new
  29. 29. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba  Les tâches de base peuvent se faire dans le template  Extensible  Attribute routing (web api mode) directement sur le verbe Less ceremony
  30. 30. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba Note: le M dans MVC c’est un ViewModel pas un Model …  Attributes: Better Magic …
  31. 31. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba  Plus de dependency resolvers pour mvc et webapi séparés !  Tout peut se faire via la configuration de services  Un implémentation de DI de base livré par défaut !  Des Adapters pour toutes les libs de DI Anti-patterns land Note: DI est juste un outil, parfois utile pour aider à l’inversion de controle …
  32. 32. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba Plus de service locator SVP ! (évitez l’injection de propriétés aussi)
  33. 33. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba  Un outil de configuration simple a été ajouté  On peu chainer les configs (les + récentes prévalent sur les + anciennes):  On peu persister des changements! modern
  34. 34. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba
  35. 35. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba  Html Helpers v2  Injectables  Sortes de web controles passifs  Sortes de Mini-Controllers  Traitement C# Avant: @Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" }) Version TagHelper: <label asp-for="UserName" class="col-md-2 control-label"></label>
  36. 36. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba • Pas encore très sec! • Mais OSS ! • Toutes les sources • Toutes les issues (et fix) • Builds quotidiens sur les feeds nuget • Fun!
  37. 37. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba  Actuellement il n’y a que xUnit avec un runtime dédié pour KRE  Utilisez kmon pour avoir un file watchter et relancer automatiquement vos tests (valable aussi pour le serveur web) Tests
  38. 38. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba Rui Carvalho @rhwy http://ncrafts.io Paul Cociuba @paulcociuba Questions ? https://github.com/rhwy/Asp Net5Mvc6TalksCode https://github.com/pcociuba/T echDaysDemo contact@rui.fr
  39. 39. Bonus Content
  40. 40. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba  Ajoutez un fichier NuGet.config dans votre projet pour overrider les sources par défaut du système
  41. 41. tech.days 2015#mstechdaysASP.NET MVC6 @rhwy & @paulcociuba  Ajoutez simplement un log de requêtes dans la console:  Vous pouvez tout faire simplement dans le pipeline de la requête (n’utilisez des libs/frameworks que si vraiment nécessaire )
  42. 42. © 2015 Microsoft Corporation. All rights reserved. tech days• 2015 #mstechdays techdays.microsoft.fr

×