Skip to content
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

feat: Using Pigeon for the platform communication #43

Open
1 task
rekire opened this issue Feb 23, 2024 · 1 comment
Open
1 task

feat: Using Pigeon for the platform communication #43

rekire opened this issue Feb 23, 2024 · 1 comment
Labels
feature A new feature or request p3 Issues that we currently consider unimportant product: very_good_flutter_plugin Changes that affect the Very Good Flutter Plugin template.

Comments

@rekire
Copy link

rekire commented Feb 23, 2024

Migrated from VeryGoodOpenSource/very_good_flutter_plugin#148

Description

I didn't use it yet to be honest, but I think that using Pigeon is currently the state of the art for writing new plugins.

From 16.0.4:

Currently pigeon supports generating:

  • Kotlin and Java code for Android
  • Swift and Objective-C code for iOS and macOS
  • C++ code for Windows

So some fallback for Linux and Web would be required.

Requirements

  • Understanding how the code generation works for Pigeon and this generator tool

Additional Context

Pigeon is a code generator tool to make communication between Flutter and the host platform type-safe, easier, and faster.

Pigeon removes the necessity to manage strings across multiple platforms and languages. It also improves efficiency over common method channel patterns. Most importantly though, it removes the need to write custom platform channel code, since pigeon generates it for you.

@rekire rekire added the feature A new feature or request label Feb 23, 2024
@alestiago alestiago added needs triage Issue requires triage product: very_good_flutter_plugin Changes that affect the Very Good Flutter Plugin template. labels Feb 26, 2024
@tomarra
Copy link
Contributor

tomarra commented Mar 12, 2024

Notes

  • Pigeon currently doesn't support all the platforms that FFI does support.
  • We probably need to understand what the Flutter team's roadmap is for federated plugins and if FFI support will continue or be deprecated.
  • In order to support this we essentially need to re-write a lot of the backend implementation here. If we go down this path we may want to offer a choice between the FFI and Pigeon implementation. If this is chosen then we should also try and get [proposal] feat: support brick template inheritance felangel/mason#215 completed first.

@tomarra tomarra added p3 Issues that we currently consider unimportant and removed needs triage Issue requires triage labels Mar 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new feature or request p3 Issues that we currently consider unimportant product: very_good_flutter_plugin Changes that affect the Very Good Flutter Plugin template.
Projects
Status: Backlog
Development

No branches or pull requests

3 participants