You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Description**: Modify the existing pigeon tool to use dart:ffi through ffigen, jnigen, and swiftgen instead of method channels.
68
-
69
-
Pigeon should continue to generate interfaces for all languages which the user would have to implement. However, instead of generating method channels for the methods, it will use direct native interop using jnigen, ffigen, and swiftgen tools.
70
-
71
-
The generation tools should also be slightly modified to generate pigeon compatible bindings, for example data structures and strings should be deeply serialized to Dart data structures and strings similar to how pigeon generates the binding code.
72
-
73
-
The new version of pigeon can be used as a drop-in replacement without any major work to update all the plugins already using pigeon to use direct native interop.
74
-
75
-
**Good Sample Project**:
76
-
* Take the example from pigeon: https://github.com/flutter/packages/tree/main/packages/pigeon/example .
77
-
* Convert one of its platforms to ffigen/jnigen, for example convert Android to use jnigen instead of the default method channels.
78
-
79
-
**Expected outcome**: A new backend for Pigeon.
80
-
81
-
82
62
## **Idea:** Use an LLM to translate Java/Kotlin tutorial snippets into Dart JNIgen code
**Description**: Support custom action items for native edit menu on iOS. It's a pretty impactful project requested by many developers (main issue here: https://github.com/flutter/flutter/issues/103163). This project is one of the key milestones: https://github.com/flutter/flutter/issues/140184.
* Design new dart API for custom items in context menu (Related API: https://api.flutter.dev/flutter/widgets/SystemContextMenu-class.html)
112
+
* Design engine <-> framework communication API using method channel
113
+
* Implement both framework part (in Dart) and engine part (in Objective-C)
114
+
* Go through code review process and land the solution
115
+
* The final product should allow developers to add custom items to the iOS native edit menu.
116
+
117
+
**Good Sample Project**: ...
118
+
119
+
* Build a sample project in Flutter with a text field that shows custom actions in the context menu. (Hint: use https://docs.flutter.dev/release/breaking-changes/context-menus).
120
+
* Build a sample project in UIKit that shows custom actions in the native edit menu (Hint: use https://developer.apple.com/documentation/uikit/uieditmenuinteraction?language=objc). You can either use ObjC or Swift, but ObjC is preferred.
0 commit comments