开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
gRPC-Web首页、文档和下载 - 访问 gRPC 服务的 Web 客户端 - 开源中国社区
全部项目分类
我要评价
Apache-2.0
跨平台
分享
收藏
9 人收藏
收录时间:2018-10-26
gRPC-Web 详细介绍

gRPC-Web 即 gRPC for Web Clients。顾名思义,gRPC-Web 是一个 JavaScript 库,使 Web 应用程序能够直接与后端 gRPC 服务通信,不需要 HTTP 服务器充当中介。

gRPC-Web GA 正式版已发布,稳定性也已足够,并可在生产环境中使用。

目前 gRPC-Web 通过特殊网关代理连接到 gRPC 服务:默认情况下,当前版本的库使用了 Envoy 代理,它内置了对 gRPC-Web 的支持。

开发团队表示,希望将来 gRPC-Web 在特定于某一语言的 Web 框架中得到支持,例如 Python,Java 和 Node。可查看官方的开发路线图了解更多。

gRPC-Web 简介

gRPC-Web 让你能够使用.proto 来定义客户端 Web 应用程序和后端 gRPC 服务器之间的服务“契约”,并自动生成客户端 JavaScript(你可以选择 Closure 编译器或使用更为广泛的 CommonJS)。你可以不用再为这些事情操心:创建自定义 JSON 序列化和反序列化逻辑、处理 HTTP 状态代码(可能因REST API 而异)、Content-Type 协商等。

从更广泛的架构角度来看,gRPC-Web 让端到端的 gRPC 成为可能。如下图所示:

在左侧,一个客户端应用程序通过 Protocol Buffers 与一个 gRPC 后端服务器通信,然后这个服务器也通过 Protocol Buffers 与其他的 gRPC 后端服务器通信。在右侧,Web 应用程序通过 HTTP 与后端 REST API 服务器通信,然后这个服务器又通过 Protocol Buffers 与其他后端服务通信。

需要明确指出的是,右侧的 REST 应用程序本身没有任何问题。已经有大量非常成功的应用程序是基于 REST API 服务器而构建的,这些服务器使用非 HTTP 协议与后端服务进行通信。但如果这些应用程序的开发过程只围绕一个协议和一组.proto 接口(以及一组服务契约)进行,那么就可以节省无数个小时的时间以及避免那些令人头疼的问题。

gRPC-Web 的好处不仅仅体现在“技术”方面,还体现在对组织的影响上。图中的亮橙色线不仅仅是一个协议——它代表的是独立的工作和认知负荷来源,而现在,你完全可以把它变成亮绿色。

部分内容来自 前端之巅

gRPC-Web

选择将代码托管在码云
你还在等什么

可能是中国最大最好的代码托管平台


大家对 gRPC-Web 的评论 (全部 1 条评论)
{{repayCom.userName}}
parselife
目前来看,还不具备生产环境使用的成熟度
顶部