今年一月份的時候,微軟曾宣佈對 gRPC-Web for .NET 的實驗性支援,現在它已正式釋出。
gRPC 是谷歌開源的高效能、通用 RPC 框架,支援包括 .NET 在內的多種程式語言。它面向移動和基於 HTTP/2 標準設計,但當前,瀏覽器中無法實現 gRPC HTTP/2 規範,因為沒有瀏覽器 API 能夠對請求進行足夠的細粒度控制。gRPC-Web 是解決此問題並使 gRPC 在瀏覽器中可用的標準化協議。
gRPC-Web 即 gRPC for Web Clients。它是一個 JavaScript 庫,使 Web 應用程式能夠直接與後端 gRPC 服務通訊,不需要 HTTP 伺服器充當中介。它旨在使 gRPC 在更多情況下可用,包括但不限於:
微軟表示正在與 Blazor 團隊合作,使 gRPC-Web 在 Blazor WebAssembly 應用程式中使用時為端到端開發人員提供更好的體驗。
根據微軟的說法,gRPC 與 JSON 相比具有明顯的效能優勢。以 Blazor 的預設模板為例,相比 JSON,使用 gRPC 時,在提取資料頁面上傳輸的資料減半,資料大小也從 627 位元組減少到 309 位元組。
目前,.NET 版 gRPC-Web 現已在 NuGet 上釋出:
有關 gRPC-Web 的更多資訊,可檢視文件,或嘗試使用 gRPC-Web 的示例應用程式。
[admin
]