.NET 的 gRPC-Web 如今正式发布了。咱们在一月份发布了实验版,从那时起,咱们就根据早期的用户反馈进行着改进。web
有了这个版本,gRPC-Web 就变成了 grpc-dotnet 项目的一个彻底受支持的组件,它已经准备就绪。如今能够经过 gRPC-Web 和 .NET 在浏览器中使用 gRPC。编程
刚接触 gRPC 的开发者,应该学习下微软的《教程:在 ASP.NET Core 中建立 gRPC 客户端和服务器》,该教程介绍如何使用 .NET 建立一个 gRPC client 和 server。浏览器
若是你已经有一个 gRPC 应用,那么《在浏览器应用中使用 gRPC》将展现如何将 gRPC-Web 添加到 .NET gRPC server。服务器
gRPC 是一个现代的高性能 RPC(Remote Procedure Call)框架。gRPC 基于 HTTP/二、Protocol Buffers 和其余基于标准的现代技术。gRPC 是一种开放标准,受到许多编程语言的支持,包括 .NET。框架
目前在浏览器中实现 gRPC HTTP/2 规范是不可能的,由于没有对请求进行足够细粒度控制的浏览器API。gRPC-Web 是一个标准化的协议,它解决了这个问题,并使 gRPC 在浏览器中可用。 gRPC-Web 为现代浏览器应用程序带来了许多 gRPC 的优秀特性,好比较小的二进制消息和 contract-first 的 API。编程语言
gRPC-Web 旨在使 gRPC 在更多的场景中可用,包括:工具
(gRPC 是 Linux 基金会的注册商标。Blazor 兼容 gRPC-WEB。)性能
咱们已经与 Blazor 团队合做,使 gRPC-Web 在 Blazor WebAssembly 应用程序中使用时具备良好的端到端开发体验。gRPC 工具不只会自动生成强类型的客户端,让你从 Blazor 应用程序中调用 gRPC 服务,并且 gRPC 比 JSON 提供了显著的性能优点。学习
性能优点的一个很好的例子就是 Blazor 的默认模板应用程序。使用 gRPC 代替 JSON 时,获取数据页面上传输的数据减小了一半。数据大小从627字节减小到309字节。server
这里的性能提升来自于 gRPC 比传统的基于文本的 JSON 高效的二进制序列化。gRPC-Web 是改进基于浏览器的富应用程序的一个使人兴奋的机遇。
有关 gRPC-Web 的更多信息,请查看文档,或尝试使用 gRPC-Web 的示例应用程序。
.NET 的 gRPC-Web 已经在 NuGet 上发布了:
Grpc.AspNetCore.Web ——添加 gRPC-Web 支持到一个 ASP.NET Core gRPC 服务。
Grpc.Net.Client.Web ——从 .NET 调用 gRPC-Web 终结点
咱们期待看到你用 .NET、gRPC 和如今的 gRPC-Web 所创造的东西!