“interop”
jnigen and jni_util: Calling Java and Kotlin Code from Dart
How Dart-to-JVM interop actually works: what jnigen generates, what package:jni and jni_util provide at runtime, how to bind Java and Kotlin APIs step by step, and when this beats platform channels.
dart:ffi in Flutter: Calling Native C/C++ Code the Safe Way
A practical guide to Dart FFI: DynamicLibrary lookup, pointers and structs, memory you must free yourself, generating bindings with ffigen, and when to choose FFI over platform channels.
Pigeon: Type-Safe Platform Channels Without the Boilerplate
How the Pigeon code generator replaces hand-written MethodChannel code with type-safe Dart-defined APIs for Kotlin, Swift, Objective-C, Java, C++, and Linux — with async calls, error handling, and when to prefer FFI.
Dart Extension Types: Zero-Cost Wrappers for Safer APIs
Learn how Dart extension types give you branded types, restricted interfaces, and zero-cost interop wrappers — with syntax, transparency via implements, and when to prefer a real class.