Le support de gRPC-Web s'invite dans .Net. (Crédit Microsoft)
Avec ce support, encore expérimental, les applications ASP.NET Core gRPC et les clients.NET Core gRPC peuvent appeler directement les services gRPC.
Microsoft a déployé un support expérimental pour gRPC-Web dans .NET Core et ASP.NET Core, permettant à gRPC-Web d'être appelé directement depuis le client .NET Core gRPC et les applications ASP.NET Core gRPC. Compatible avec HTTP/1 et HTTP/2, la bibliothèque client gRPC-Web JavaScript supporte la même API que gRPC-Node pour accéder à un service gRPC (un framework RPC open source initialement développé par Google), où le gRPC sert de framework RPC open source pour permettre aux applications client et serveur de communiquer de manière transparente.
Avec le support gRPC-Web pour .NET, Microsoft prévoit d'apporter les fonctionnalités suivantes aux applications de navigation web :
- Serveur de streaming
- Messages de Protocol buffers (protobuf) compacts
- Clients fortement typés, générés par des codes
Un client et un serveur gRPC dans ASP.NET Core
Le package expérimental permet à une application ASP.NET Core de prendre en charge gRPC-Web sans proxy et au client gRPC .NET Core d'appeler les services gRPC Web, utile pour les applications Blazor WebAssembly. Outre l'appel d'applications ASP.NET Core gRPC à partir du navigateur, gRPC-Web offre d'autres fonctionnalités. En particulier, appeler le gRPC à partir de plateformes comme Blazor WebAssembly et Xamarin, et héberger des applications ASP.NET Core gRPC dans Azure App Services et IIS.
gRPC-Web introduit un client gRPC-Web JavaScript stable et un proxy pour passer de gRPC et gRPC-Web pour les services. Microsoft fait remarquer que gRPC-Web réduit peu la performance et que deux fonctionnalités de gRPC - le streaming client et le streaming bidirectionnel - ne sont plus supportées.
Pour commencer à utiliser le gRPC dans .NET, Microsoft a publié un tutoriel qui explique comment créer un client et un serveur gRPC dans ASP.NET Core. Avec gRPC-Web, il n'est pas nécessaire de modifier les services, seule la configuration de démarrage est modifiée. Le référentiel gRPC GitHub fournit des instructions pour la configuration d'un client gRPC-Web pour les applications web à page unique (SAP) JavaScript.