-
Notifications
You must be signed in to change notification settings - Fork 610
[linux/windows] Add support for StandardMethodCodec #67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Extracts method codecs into stand-alone objects, and allows plugins to indicate that they use a codec other than JSON. This is an incremental step toward aligning the plugin API with Flutter's MethodChannel API. For now no other codecs are actually implemented in the framework, and the default is still JSON (unlike in existing Flutter code) so that this is not a breaking change. A future change will full move to MethodChannel, which will be a breaking change. Partially addresses issue google#67 in that custom codecs are now supported, even though the Standard (binary) codec is not yet implemented.
Extracts method codecs into stand-alone objects, and allows plugins to indicate that they use a codec other than JSON. This is an incremental step toward aligning the plugin API with Flutter's MethodChannel API. For now no other codecs are actually implemented in the framework, and the default is still JSON (unlike in existing Flutter code) so that this is not a breaking change. A future change will full move to MethodChannel, which will be a breaking change. Partially addresses issue google#67 in that custom codecs are now supported, even though the Standard (binary) codec is not yet implemented.
Extracts method codecs into stand-alone objects, and allows plugins to indicate that they use a codec other than JSON. This is an incremental step toward aligning the plugin API with Flutter's MethodChannel API. For now no other codecs are actually implemented in the framework, and the default is still JSON (unlike in existing Flutter code) so that this is only a minor breaking change, and only on Linux (unavoidable due to the initial use of Json::Value in key interfaces; the JsonPlugin class is designed to minimize impact on existing plugins). A future change will move to MethodChannel, which will be a more significant breaking change. Partially addresses issue #67 in that custom codecs are now supported, even though the Standard (binary) codec is not yet implemented.
It's now possible to use custom method codecs. Leaving this open (and adjusting title) for the remaining work of implementing StandardMethodCodec. It should be straightforward in ObjC, but on the C++ side will involve creating a typed object hierarchy or something similarly inspectable containing all the types supported by the codec. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
It seems like some recent commits are allowing for this issue to be worked on. Is this on the docket any time soon? |
This hasn't been blocked since #110, actually; the recent (and remaining) plugin refactors are tangential to codecs.
I have no plans to work on this in the foreseeable future, since so far we haven't encountered any cases where we need StandardMethodCodec to unblock important functionality. I'm happy to review patches from anyone interested in working on it though. |
I would like to start working on Firebase auth and RTDB for Linux, using C++ sdk, but unfortunately blocked on this issue. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
If you'd like to continue that discussion, https://groups.google.com/forum/#!topic/flutter-desktop-embedding-dev/QPz9quNmB3o would be a much better place. Returning to the topic of this issue: as I said I'm happy to review patches adding Standard{Message,Method}Codec support. A general approach for a C++ implementation is outlined above. |
With the migration to |
Moved to flutter/flutter#30670 |
Currently the native plugin APIs are hard-coded to use JSON, so the Dart side must use JSONMethodCodec. We should support all the codec options that are supported on mobile, and a way to specify the codec to use for a given plugin.
The text was updated successfully, but these errors were encountered: