HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
improbable-eng
grpc-web
TypeScript2017–2022
improbable-eng / grpc-web

grpc-web

gRPC Web implementation for Golang and TypeScript

16Distinct people
16Mentions
0Explicit recommenders
4.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

gRPC Web implementation for Golang and TypeScript

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year16 dated mentions

Observed mentions: 2017-04-27 13:07:16 UTC to 2022-08-05 07:53:29 UTC.

02462017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC404
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC707
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101

What Hacker News says

16 sources
Improbable's grpc-web [1] works pretty well. I have been using it along with their new websocket transport for about two months and as an RPC layer its great. However I do miss being able to inspect the traffic in devtools, and the TS sdk is still not ESM friendly and requires jumping through hoops to get working with vite. So we ended up bundling it separately through esbuild (along with other google protobuf deps etc.) to a large single file ESM module that other projects can easily consume. Buf seems to be a solution that handles all of this better. Very excited to try this out. [1] https://github.com/improbable-eng/grpc-web
In Connect-Web: TypeScript library for calling RPC servers from web browsers
My team has been using gRPC + Improbable's grpc-web [0] + Typescript for a green field project and it has been amazing. - Typing all the way to the frontend. - gRPC/protobuf forces you to describe your interfaces and are self-documenting. - gRPC semantics like error codes and deadlines (if you propagate them through your stack, they're particularly useful - for instance, we cancel database transactions across service boundaries if a request times out). - Performance is great (but we're far from seeing bottlenecks with JSON, it's not the reason we choose gRPC). - We use grpc-gateway which auto-generates a REST proxy for our customers. We sometimes use it for interactive debugging. [1] - Rather than importing database models for our management tools and one-off scripts, using the API is so frictionless that we even use it inside our backend
Read the rest
code and for CLI utilities. The Google API design guide is helpful: https://cloud.google.com/apis/design One piece of advice: Treat your gRPC calls like you would treat a GraphQL resolver - if you squint your eyes, they're very similar concepts. Rather than specifying a GraphQL query, you specify a Field Mask. https://developers.google.com/protocol-buffers/docs/referenc... Happy to answer questions on our experience. [0]: https://github.com/improbable-eng/grpc-web [1]: https://github.com/grpc-ecosystem/grpc-gateway
In The state of gRPC in the browser
Can someone describe why gRPC-Web needs a proxy? I recently had trouble deciding between the official gRPC-Web and Improbable's gRPC-Web[1]. In the end I decided on Improbable's, because it seemed to not require a proxy. In practice, it's working very nicely. Yet, I'm still not clear on what exactly the Proxy serves to do, in either case. If a browser supports HTTP 2, why is a proxy needed? [1]: https://github.com/improbable-eng/grpc-web
In gRPC-Web is going GA
I am using improbable-webs grpc-web[0] right now and it works very well once some kinks were worked out. Only problem has been lack of client-side streaming. Additionally, I use grpcc[1] to test calls locally and that has worked well. I originally tried using some GUI's that looked promising but couldnt get them to work. This is good enough and less work than writing a quick client in python. [0]: https://github.com/improbable-eng/grpc-web [1]: https://github.com/njpatel/grpcc
In Show HN: An Example Microservice Back End for Kubernetes, Bazel, Go, Java, GRPC
It is possible to use gRPC directly from JavaScript using the gRPC-Web [1] project by Improbable. More accurately, it uses TypeScript, which is generated from the proto file in a similar way to other languages. You still need a proxy to transform requests from HTTP/1.1 to HTTP/2.0. I've actually only used the gRPC JSON gateway mentioned in the other replies so I'm not sure how it compares, but it looks interesting. [1] https://github.com/improbable-eng/grpc-web
In gRPC-Go Engineering Practices
I am converting my proto to typescript with https://github.com/improbable-eng/grpc-web and until recently also used their go server library. That meant my grpc servers were listening on 2 ports, gRPC and gRPC-web. I since replaced the gRPC-web part with envoy. Works fine together with the gRPC-web typescript. The gist should give you an idea how to set up a small example. https://gist.github.com/codesuki/f0514368a30b483058007f5fe38...
In Envoy: Modern Proxy server with HTTP 1.1 and 2, GRPC supported reverse proxy
We've been using grpc-web from Improbable successfully for internal services. I'm working on a more production scale application soon that I'm planning on leveraging grpc-web for. The biggest missing feature is client side streaming support which is hamstrung the new wgfetch/streams API, but I feel confident in finding solutions for situations that generally require client side streaming. https://github.com/improbable-eng/grpc-web
In gRPC in Production

Showing the 15 most recent of 16 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.