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 open-source solution and meeting those requirements unique to Google's Web applications
(such as search). (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 ### 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 comparable to JSON in efficiency but also very compact in both the message size
and code 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 ### Security
We plan to publish a comprehensive guideline doc on how to create secure Web 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 Note: Dart gRPC will use gRPC-Web as the underlying implementation on the
Dart Web platform. Dart Web platform.
### TypeScript Support
We now have experimental TypeScript Support! See the main README for more
information.
### Non-Closure compiler support ### Non-Closure compiler support
With the addition of CommonJS style imports, gRPC-Web client stubs can now be 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 ## Server-streaming
We will keep improving server-streaming in the following areas: We will keep improving server-streaming in the following areas:
* Fetch cancellation support - 2023 * Fetch cancellation support - 2024
* Finalizing keep-alive support (via Envoy) - 2023+ * Performance improvements and whatwg Fetch/streams support, including service workers - 2024
* Performance improvements and whatwg Fetch/streams support, including service workers - 2023+ * Finalizing keep-alive support (via Envoy) - 2024+
* Addressing runtime behavior gaps between Fetch and XHR - 2023+ * Addressing runtime behavior gaps between Fetch and XHR - 2024+
## Client-streaming and half-duplex streaming ## Client-streaming and half-duplex streaming