Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

02 - [ASP.NET Core] ASP.NET Core MVC

521 views

Published on

Découvrez les nouveautés Microsoft ASP.NET Core MVC avec Jean Dumas de Raully, Georges Damien et Emilien Bassez.

Published in: Technology
  • Be the first to comment

02 - [ASP.NET Core] ASP.NET Core MVC

  1. 1. ASP.NET Core MVC Les nouveautés Microsoft ASP.NET core MVC
  2. 2. Speakers  Georges DAMIEN  Consultant .NET/Web @ Cellenza  Microsoft MVP, MCSD, MCP  Emilien Bassez  Consultant .NET/Web @ Cellenza  Jean Dumas de Rauly  Consultant .NET @ Cellenza
  3. 3. Prérequis  Visual Studio 2015 Update 3  Visual Studio Code avec l’extension C#
  4. 4. 1- Introduction ASP.NET Core MVC
  5. 5. Historique – Pour rappel • Pages asp Asp Classic • Page aspx • viewState Asp.net Web Forms • Mvc version 1-2- 3-4-5 • Projets mvc et web API séparés Asp.net MVC • Mvc et web API et SignalR unifiés. Asp.net core
  6. 6. Le model MVC  MVC c’est avant tout un patron de conception qu’on retrouve essentiellement dans les couches de présentation applicative.  Il a été conçu pour la première fois dans les années 78-79.  Il aide à mieux structurer le code en séparant les notions de présentation pure à la notion de traitement de données.  MVC pour Model-View-Controller.
  7. 7. Asp.Net Core ?  C’est un nouveau framework refait de 0 avec pour maîtres mots :  Cross-platform (Windows, Mac, Linux)  IoT apps & Mobile backends  Orienté Cloud (mais également On-Premise)  Applications moderns (Web Apps)  Open source (le code est sur GitHub)  https://github.com/aspnet/home
  8. 8. Asp.Net Core : avantages  Web UI et Web APIs unifiés  Intégration simplifiée des frameworks Front  Cloud ready configuration  Injection de dépendance intégrée en natif  Pipeline Http leger et modulaire  Hébergement sous IIS ou “selfHost”  Gestion avancée du versioning applicative  Cross plateforme  Open source
  9. 9. Asp.Net Core : Incovénients à date  Framework Core pas complètement prêt  Packages pas à jour  Tooling incomplet
  10. 10. ASP.NET Core – vue macro ASP.NET Core 1 Framework unifié pour MVC, Web API et SignalR .NET Framework 4.6 Framework .net compatible avec les anciennes librairies .NET Core Runtime allégé et optimisé pour les serveurs et le cloud
  11. 11. ASP.NET MVC Core
  12. 12. Nouveau template ASP.NET MVC Core
  13. 13. Fondamentaux
  14. 14. Ce qui est (vraiment) nouveau Séparation complète avec IIS Prise en charge des requêtes entrantes plus clair
  15. 15. Démos Application Console
  16. 16. Kestrel  Léger  Performant  Multiplateforme  Manque de fonctionnalité
  17. 17. WebListener  Plus de fonctionnalités que Kestrel  Moins performant  Uniquement sur Windows
  18. 18. Et IIS ???  N’est plus qu’un reverse proxy … mais bien intégré
  19. 19. Pipeline & Middelware
  20. 20. Pipeline simple
  21. 21. Arbre du pipeline  Map : branche par chemin  MapWhen : branche par predicat  Run : feuille
  22. 22. Exemple de branches
  23. 23. Quand l’utiliser ?  Logging  Authentification  Gestion d’erreur  Compression des réponses http  …
  24. 24. Démos Custome Middelware
  25. 25. Injection de dépendances  AddTransient : 1 instance par besoin  AddSingleton : 1 instance pour l’application  AddScoped : 1 instance par requête
  26. 26. Pas besoin de réinventer la roue UseMvc UseClaimsTransformation UseRewriter UseMvc UseClaimsTransformation UseRewriter
  27. 27. ASP.NET Core MVC : Front End Nouveautés Front MVC
  28. 28. Web Root (wwwroot)  Il s’agit d’un repertoire dédié par convention aux fichiers statiques de l’application web.  Le nom du repertoire est communement nommé : webroot  On y trouve par exemple  Les fichiers JS  Les fichiers CSS  Les images utilisées par le sites  Les fonts Web
  29. 29. Bundling & minifying bundleconfig.json
  30. 30. Bundling & minifying : commandes  Commandes dotnet bundle dotnet bundle clean dotnet bundle watch
  31. 31. Bower
  32. 32. _ViewImports.cshtml • Référence les namespaces dans les vues • Injecte des services dans les vues • Ajouter des TagHelpers dans les vues
  33. 33. Tag Helpers  Génération d’html coté serveur comme on le faisait avec les HtmlHelpers.  Ne pas dénaturer le html de vos vues en introduisant moins de C# dans vos fichier cshtml. @Html.ActionLink("Register", "Register", "Account") <a asp-controller="Account" asp-action="Register">Register</a>
  34. 34. <modal id="modalSearchEngine" title="Moteur de recherche"> <modal-body> <h4>Coming soon</h4> </modal-body> <modal-footer> <input type="button" value="Valider" /> </modal-footer> </modal> Tag Helpers <div class="modal fade" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-body"> <h4>Coming soon</h4> </div> <div class="modal-footer"> <input type="button" value="Valider" /> </div> </div> </div> </div>
  35. 35. ViewComponents  Remplace ChildAction  A mis chemin entre le Controller / PartialView
  36. 36. Liens  https://www.asp.net/core  https://docs.microsoft.com/fr-fr/aspnet/core/  https://docs.microsoft.com/en-us/aspnet/core/  https://docs.microsoft.com/en- us/aspnet/core/fundamentals/dependency-injection

×