Update roadmap

This commit is contained in:
Eryu Xia 2024-06-23 17:18:37 -07:00
parent ce8aa02c7a
commit 9fe75bd619
2 changed files with 22 additions and 26 deletions

View File

@ -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
@ -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
@ -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

View File

@ -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