Flutterからネイティブを呼ぶ3つの構成を比べてみた〜MethodChannel・Pigeon・FFI+C++ディスパッチャ〜
Flutterから端末固有の機能(端末情報・ネイティブUI・バッテリー残量)を呼ぶ方法を、手書きのMethodChannel/コード生成のPigeon/dart:ffi+C++ディスパッチャの3構成で実装し、iOS・Android・macOS・Windowsの4つで往復時間を実測して比較しました。橋そのものの往復はFFIが約300倍速い一方、端まで行かせると差は縮みます。型安全性・呼び分けの置き場所・スレッドの扱い・ビルド配線まで、Dart/Swift/Kotlin/C++の実装コードつきで解説します。