top of page


16 - 17 JULY 2026
ORLANDO


( SPEAKER )
Jon Holtan
Staff Engineer @ Uptech Studio
( SESSION )
Hook, Line, and Sinker: Dart Hooks and FFI in Production
Dart Hooks and FFIGen promise cleaner, more automatic native library integration and they deliver, once you get past what the docs don't cover. I'll share what I learned integrating a pre-compiled C++ SDK into Flutter for Android and iOS. The docs assume best-case scenarios and real projects rarely look like that. We'll cover the gaps, the gotchas, and the mental models that make it all click.
In this talk you will learn:
1) The docs assume you have source files. You probably don't. FFIGen examples focus on bundling .c and .h files directly. When you're working with pre-compiled .so and .dylib binaries, you have to piece together a different approach. We'll cover exactly how to structure that.
2) CodeAsset.name is more important than it looks. The connection between your hook/build.dart asset name and the @Native annotations generated by FFIGen is a critical and poorly documented contract. Get it wrong and you get silent runtime failures. We'll demystify exactly how these map to each other.
3) Bundle the whole dependency chain, not just the main library. If your .so depends on other .so files, Android's dynamic linker needs them all present at runtime. We'll look at how to use nm and readelf to discover those dependencies and bundle them correctly.
bottom of page