Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

03 - [ASP.NET Core] Services RESTful et SPA

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 18 Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Les utilisateurs ont également aimé (18)

Publicité

Similaire à 03 - [ASP.NET Core] Services RESTful et SPA (20)

Plus par Cellenza (20)

Publicité

Plus récents (20)

03 - [ASP.NET Core] Services RESTful et SPA

  1. 1. Services RESTful et SPA
  2. 2. Speaker http://blog.cellenza.com/author/rboyer Rémy Boyer Consultant .NET
  3. 3. ASP.NET Web API Un petit historique
  4. 4. Historique • Créé en 2012, 3 ans après ASP.NET MVC • Remplace WCF Data Services (ou ADO.NET Data Services) • Introduit des concepts fondamentaux proches d’ASP.NET MVC Couche HTTP moderne Routage Négociation de contenu Filtres IoC Self-Hosting System.Web.dll Middlewares & Owin
  5. 5. Limitations • Des dépendances distinctes de MVC • Impossible de mixer du MVC et du Web API dans un même contrôleur • Du code utilitaire dupliqué • Mvc : • Web Api : • Self-host, un vœu pieux • Microsoft.AspNet.WebApi.WebHost héberge Web API sur IIS avec System.Web.dll this.Request.Headers["User-Agent"] this.Request.Headers.TryGetValues( "User-Agent", out userAgentValues)
  6. 6. Le futur ! Web API et SignalR posent les bases de l’asp.net de demain Web API est maintenant intégré à ASP.NET MVC Core !
  7. 7. Services RESTful Routes, requêtes et réponses
  8. 8. Démo Routage
  9. 9. Démo Réponses et contenu
  10. 10. ASP.NET Javascript Services ASP.NET et les SPA
  11. 11. Les SPA Les SPA ont gagné en popularité ces dernières années • De nouveaux frameworks apparaissent constamment • Elles intéressent de nombreux développeurs Elles exploitent davantage les capacités des navigateurs • Elles sont très interactives • Elles allègent le travail du serveur • Elles diminuent les appels réseaux • Il y a beaucoup plus de code client, front : du Javascript
  12. 12. Outillage De l’outillage adapté s’est développé • Runtime Javascript autonome (NodeJs) • Repository de packages (npm) • Task runners (Grunt, Gulp, Webpack) • De nouveaux langages (Typescript, …) • Transpileurs et compilateurs (tsc, Babel)
  13. 13. Outillage Visual Studio 2015 intègre partiellement ces technologies Javascript Services vise à combler ces manques
  14. 14. Contenu ASP.NET Javascript Services Une collection de packages Nuget et npm • Invocation de code Javascript dans Node.js depuis .NET Core • Middleware Webpack pendant le développement • Hot Module Replacement • Rendu côté serveur du code Javascript • Routing & Validation, côté client et côté serveur Un modèle Yeoman pour démarrer les applications
  15. 15. Démo Intérop .NET Core Node.JS
  16. 16. Webpack dev middleware Webpack peut en faire beaucoup • Compilation • Bundling (concaténation, minification, uglification) • Module Loader • … Le Hot Module Reload permet de remplacer le rafraichissement automatique en rechargement incrémental à la volée • Nécessite webpack-dev-server et l’utilisation de l’hôte NodeJS
  17. 17. Webpack dev middleware Javascript Services peut intercepter les requêtes de fichiers JS et les compiler à la volée Browser <script src="file.js"> ASP.NET Core Webpack dev Middleware Node.JS Compilation Webpack
  18. 18. Démo Webpack dev Middleware

Notes de l'éditeur

  • Différents noms de classes, de méthodes
    Noms de classe différents
  • Création d’un nouveau projet dans VS 2017 .NET Core, services REST

    Parcours des différentes méthodes et routes du contrôleur par défaut

    Ajout d’une nouvelle signature :

    [HttpPost("do-something/{arg}")]
    public void DoSomething(string arg)
    {
    }

  • CamlCase par défaut !

    // GET api/values/5
    [HttpGet("{id}")]
    public IActionResult Get(int id)
    {
    if (Get() == null)
    return NotFound();

    if (id < 0)
    return BadRequest();

    return Content("value");
    return new ObjectResult("value");
    }
  • Créer un nouveau projet avec yo aspnetcore-spa
    Choisir React + Redux, VS 2017
    Montrer comment le middleware est configuré
    Montrer les packages nuget et les packages npm, la config webpack
    Lancer l’appli
    Faire une modif à chaud du compteur et voir les résultats

×