Update roadmap.md

This commit is contained in:
Wenbo Zhu 2020-07-30 14:31:29 -07:00 committed by GitHub
parent bcdf3520b0
commit fdcff71b47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 28 deletions

View File

@ -1,28 +1,24 @@
# Overview # Overview
The purpose of this document is to list all the features that we believe are The purpose of this document is to collect all the features that we believe are
useful for gRPC users. useful for gRPC users.
We would like your feedback! Please tell us which features you would most want We would like your feedback! Please tell us which features you would most want
to see, so that we can prioritize the work to either publish Google's existing to see, so that we can prioritize the work to either publish Google's existing
solutions or develop some of the features directly in the open-source repo. For solutions or develop some of the features directly in the open-source repo.
the latter case, please mention if you are interested in contributing to any of
the road-map features :)
[Survey link](https://docs.google.com/forms/d/1NjWpyRviohn5jaPntosBHXRXZYkh_Ffi4GxJZFibylM/edit)
# Background # Background
gRPC-Web has been developed internally at Google as part of the future front-end gRPC-Web has been developed internally at Google as part of the front-end
stacks for Google's Web applications and cloud services. Over time we plan to stacks for Google's Web applications and cloud services. Over time we plan to
open-source and publish most of the features and make them available to gRPC open-source and publish most of the features and make them available to open-source
users. users.
Like everywhere, Web platforms and technologies are constantly evolving, often Like everywhere, Web platforms and technologies are constantly evolving, often
with many inter-dependent ecosystems. As much as we like to open-source with many inter-dependent ecosystems. As much as we like to open-source
everything, we also need keep the balance between creating a reusable and stable 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 open-source solution and meeting those requirements unique to Google's Web application
ecosystems or their applications (such as search). ecosystems (such as search).
# Roadmap Features (in no particular order) # Roadmap Features (in no particular order)
@ -48,13 +44,9 @@ However, fetch still has certain gaps compared to XHR, most notably the lack of
cancellation support. Progressing events, I/O event throttling are other cancellation support. Progressing events, I/O event throttling are other
concerns. concerns.
## Bidi Support ## Bidi Streaming
As WebSocket over HTTP/2 becomes more available, we may add bidi support over See the dedicate road-map doc on bidi streaming.
WebSockets.
At the same time, please tell us your exact use case, and maybe explain why
server-streaming is insufficient.
## Security ## Security
@ -64,15 +56,6 @@ applications.
Native support such as XSRF, XSS prevention may also be added to the gRPC-Web Native support such as XSRF, XSS prevention may also be added to the gRPC-Web
protocol. protocol.
## Compression
Do you need request compression? Brotli?
## CORS
We plan to support CORS preflight as specified in
[PROTOCOL-WEB.md](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-WEB.md).
## Local Proxies ## Local Proxies
In-process proxies will eliminate the need to deploy an extra proxy such as In-process proxies will eliminate the need to deploy an extra proxy such as
@ -82,15 +65,15 @@ We have plans to add proxy support in Python, Java, Node, C++ etc. Let us know
if you are interested in implementing any language-specific in-process if you are interested in implementing any language-specific in-process
gRPC-Web proxy. gRPC-Web proxy.
To minimize maintenance overhead, we don't have any plan to add gRPC-Web support To minimize maintenance overhead, we will not add gRPC-Web support
to any new HTTP reverse proxies other than Nginx and Envoy. to any HTTP proxies other than Envoy.
## Web Framework Integration ## Web Framework Integration
This is to provide first-class support for gRPC API and gRPC-Web in popular Web This is to provide first-class support for gRPC API and gRPC-Web in popular Web
frameworks such as Angular. frameworks such as Angular.
Note Dart gRPC will be using 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 ## TypeScript Support