Skip to content

Commit 3da3947

Browse files
authored
Update roadmap (#1438)
1 parent ce8aa02 commit 3da3947

File tree

2 files changed

+22
-26
lines changed

2 files changed

+22
-26
lines changed

doc/roadmap.md

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,24 @@ everything, we also need keep the balance between creating a reusable and stable
1616
open-source solution and meeting those requirements unique to Google's Web applications
1717
(such as search).
1818

19-
## Roadmap Features (in no particular order)
19+
## Roadmap Features
20+
21+
### TypeScript Codebase (2024)
22+
Migrate the codebase to TypeScript and update the related toolchains (incl. remove
23+
dependency on `closure-compiler`). Enhance overall TypeScript support.
24+
25+
### Streaming Support
26+
27+
Enhance Fetch/streams support (e.g. cancellation support) and improve runtime
28+
support, including service workers.
29+
30+
See streaming roadmap [here](streaming-roadmap.md).
31+
32+
### Bidi Streaming
33+
34+
We plan to leverage [WebTransport](https://web.dev/webtransport/) for bi-directional streaming.
35+
36+
Also see the dedicate road-map doc on [bidi streaming](streaming-roadmap.md).
2037

2138
### Non-Binary Message Encoding
2239

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

31-
### Streaming Support
32-
33-
Currently the gRPC-Web client library uses XHR to ensure cross-browser support
34-
and to support platforms such as React-Native.
35-
36-
We do plan to add fetch/streams support at some point, which is more efficient
37-
for binary streams and incurs less memory overhead on the client-side.
38-
39-
However, fetch still has certain gaps compared to XHR, most notably the lack of
40-
cancellation support. Progressing events, I/O event throttling are other
41-
concerns.
42-
43-
### Bidi Streaming
44-
45-
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).
46-
4748
### Security
4849

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

74-
### TypeScript Support
75-
76-
We now have experimental TypeScript Support! See the main README for more
77-
information.
78-
7975
### Non-Closure compiler support
8076

8177
With the addition of CommonJS style imports, gRPC-Web client stubs can now be

doc/streaming-roadmap.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ This document describes the road-map for gRPC-Web to support different streaming
88
## Server-streaming
99

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

1616
## Client-streaming and half-duplex streaming
1717

0 commit comments

Comments
 (0)