fluttercommunity / fluttercommunity/community
Package Proposal: QUIC and HTTP3 plugin
- Dominant language
- No language data
- Stars
- 1.7k
- Forks
- 128
- PR merge metrics
- No merged PRs in 30d
Description
Given that
- [http/3 draft](https://tools.ietf.org/html/draft-ietf-quic-http-31) has been published last month
- chrome is [deploying it](https://blog.chromium.org/2020/10/chrome-is-deploying-http3-and-ietf-quic.html)
- on safari is even enabled by default ([source](https://en.wikipedia.org/wiki/HTTP/3))
[HTTP3](https://en.wikipedia.org/wiki/HTTP/3) [QUIC](https://en.wikipedia.org/wiki/QUIC) are very [promising](https://blog.cloudflare.com/last-call-for-quic/),
but Flutter Team has, legitimately, [too much on its plate](https://github.com/dart-lang/sdk/issues/38595#issuecomment-712857906) to take craft a dart package (references [1](https://github.com/grpc/grpc-dart/issues/374), [2](https://github.com/dart-lang/sdk/issues/22657), [3](https://github.com/dart-lang/sdk/issues/38595))
and even react native approach seems to be through native clients ([source](https://medium.com/the-react-native-log/using-cronet-in-your-mobile-app-7dda3a89c132
))
It would be great if the community could come out with a [plugin](https://flutter.dev/docs/development/packages-and-plugins/developing-packages#federated-plugins) to support this feature,
I don't have the brain muscles or the expertise to deal with it myself, but I'd be happy to help.
I believe there are 2 possible strategies to support `QUIC` :
1. CRONET on the native side for [android](https://developer.android.com/guide/topics/connectivity/cronet) and [ios](https://chromium.googlesource.com/chromium/src/+/master/components/cronet/ios/Cronet.h)
2. [QUICHE](https://github.com/cloudflare/quiche) + [dart:ffi](https://dart.dev/guides/libraries/c-interop) (resource for [rust + dart:ffi](https://medium.com/flutter-community/finally-running-rust-natively-on-a-flutter-plugin-here-is-how-6f2826eb1735)) could work from both android, ios, desktop and maybe in the future for [web](https://github.com/dart-lang/sdk/issues/37882)
there will be probably some js package to use for web, but I haven't located it
Do you think such plugin could be useful for the community?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.