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

Preview:

Citation preview

Services RESTful et SPA

Speaker

http://blog.cellenza.com/author/rboyer

Rémy BoyerConsultant .NET

ASP.NET Web API

Un petit historique

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

moderneRoutage

Négociation de

contenuFiltres

IoC Self-Hosting System.Web.dllMiddlewares &

Owin

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)

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 !

Services RESTful

Routes, requêtes et réponses

Démo

Routage

Démo

Réponses et

contenu

ASP.NET Javascript Services

ASP.NET et les SPA

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

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)

Outillage

Visual Studio 2015 intègre partiellement ces technologies

Javascript Services vise à combler ces manques

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

Démo

Intérop

.NET Core

Node.JS

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

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

Démo

Webpack dev

Middleware

Recommended