.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 所創造的東西!