Thank you for your interest in contributing to Flust! We have many areas that could use some help.
- Reporting and fixing platform specific bugs.
- Desktop intergration: We provide several plugins to intergrate with native desktop UI, such as clipboard, dialog... but more is needed.
- Flutter Desktop GUI: Flutter is mainly for mobile. Desktop app need desktop widgets, such as context menu.
- Documentation.
This project is cargo workspace with multiple targets.
-
flust-winitcreates an event loop and a window and interfaces with theflust-enginecrate. -
flust-engineis the library that make flutter run. It provides aMethodChannelstruct to iterop with flutter and dart.When an engine instance is run, a
platform_message_callbackis passed to flutter engine using C ffi. A registry listens to flutterMethodChannelcalls. Various plugins are registered with the registry using theadd_pluginmethod. When flutter makes a native platform request, the callback is called and processed by a registered plugin. -
flust-engine-sysis the crate for ffi with flutter engine C apis. It generates bindings using bindgen.