LeoAndo / development-conference-memo

0 stars 0 forks source link

Rethinking Dart interoperability with Android #311

Open LeoAndo opened 1 year ago

LeoAndo commented 1 year ago

https://io.google/2023/program/2f02692d-9a41-49c0-8786-1a22b7155628/intl/ja/ https://www.youtube.com/watch?v=ZWp2FJ2TuJs

LeoAndo commented 1 year ago

Pigeon

Flutterとそのホストプラットフォーム間で通信するためのタイプセーフな相互運用コードを生成する強力なツールです。 Dart, Java, Object-Cのスケルトンコードを生成できます。

スクリーンショット 2023-05-17 7 35 57
LeoAndo commented 1 year ago

FFIgen

C, Object-C, またはSwiftUIコードのDartバインディングを生成するFFIgenというツールを作成した。 このツールを使用するとネイティブコードにハンドラーを追加することなくiOS APIを暗黙的に呼び出すことができます。

スクリーンショット 2023-05-17 7 41 51

JNIgen

DartからJavaオブジェクトのインスタンス化、Kotlinメソッドの呼び出しなどを行うことができる。

スクリーンショット 2023-05-17 7 49 42

JNIgenとFFIgenを併用するとDartでiOS、Android APIを直接呼び出すクロスプラットフォームのFlutterアプリを開発できます。 https://youtu.be/ZWp2FJ2TuJs?t=901

LeoAndo commented 1 year ago

Dartバインディングの実装例