Skip to content

Commit

Permalink
Update roadmap (grpc#1438)
Browse files Browse the repository at this point in the history
  • Loading branch information
sampajano authored Jun 24, 2024
1 parent ce8aa02 commit 3da3947
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 26 deletions.
40 changes: 18 additions & 22 deletions doc/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,24 @@ everything, we also need keep the balance between creating a reusable and stable
open-source solution and meeting those requirements unique to Google's Web applications
(such as search).

## Roadmap Features (in no particular order)
## Roadmap Features

### TypeScript Codebase (2024)
Migrate the codebase to TypeScript and update the related toolchains (incl. remove
dependency on `closure-compiler`). Enhance overall TypeScript support.

### Streaming Support

Enhance Fetch/streams support (e.g. cancellation support) and improve runtime
support, including service workers.

See streaming roadmap [here](streaming-roadmap.md).

### Bidi Streaming

We plan to leverage [WebTransport](https://web.dev/webtransport/) for bi-directional streaming.

Also see the dedicate road-map doc on [bidi streaming](streaming-roadmap.md).

### Non-Binary Message Encoding

Expand All @@ -28,22 +45,6 @@ For Google's Web applications (e.g. gmail), we use a JSON like format which is
comparable to JSON in efficiency but also very compact in both the message size
and code size.

### Streaming Support

Currently the gRPC-Web client library uses XHR to ensure cross-browser support
and to support platforms such as React-Native.

We do plan to add fetch/streams support at some point, which is more efficient
for binary streams and incurs less memory overhead on the client-side.

However, fetch still has certain gaps compared to XHR, most notably the lack of
cancellation support. Progressing events, I/O event throttling are other
concerns.

### Bidi Streaming

We plan to leverage [WebTransport](https://web.dev/webtransport/) for bi-directional streaming. Also see the dedicate road-map doc on [bidi streaming](streaming-roadmap.md).

### Security

We plan to publish a comprehensive guideline doc on how to create secure Web
Expand Down Expand Up @@ -71,11 +72,6 @@ frameworks such as Angular.
Note: Dart gRPC will use gRPC-Web as the underlying implementation on the
Dart Web platform.

### TypeScript Support

We now have experimental TypeScript Support! See the main README for more
information.

### Non-Closure compiler support

With the addition of CommonJS style imports, gRPC-Web client stubs can now be
Expand Down
8 changes: 4 additions & 4 deletions doc/streaming-roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ This document describes the road-map for gRPC-Web to support different streaming
## Server-streaming

We will keep improving server-streaming in the following areas:
* Fetch cancellation support - 2023
* Finalizing keep-alive support (via Envoy) - 2023+
* Performance improvements and whatwg Fetch/streams support, including service workers - 2023+
* Addressing runtime behavior gaps between Fetch and XHR - 2023+
* Fetch cancellation support - 2024
* Performance improvements and whatwg Fetch/streams support, including service workers - 2024
* Finalizing keep-alive support (via Envoy) - 2024+
* Addressing runtime behavior gaps between Fetch and XHR - 2024+

## Client-streaming and half-duplex streaming

Expand Down

0 comments on commit 3da3947

Please sign in to comment.