Beyond FFI: Shipping Native Libraries in Rust

By Marcel Koch

Talk - Tuesday, 15 September
16:15

Native libraries don’t end at the FFI boundary. The harder questions start earlier: Where do the libraries come from? How do you distribute prebuilt binaries across platforms and architectures? How do you handle libraries that must be compiled from source? And how do you make all of this work reliably in CI and on a new developer’s machine?

Combining prebuilt and source-based dependencies in a single project creates compounding complexity across build orchestration, CI configuration, versioning, and reproducibility. The problems are distinct but interact: a versioning mismatch surfaces as a linker error, a missing platform binary breaks a CI job but not local builds.

Drawing on experience building B2B cross-platform applications for industrial measurement, I’ll walk through the practical challenges of native dependency management. Using Flutter Rust Bridge as a concrete integration point, I’ll compare a custom solution for downloading and integrating platform-specific binaries against using Conan as a dedicated package manager: what each approach handles well, and where each breaks down. The last mile decides: getting everything to link and run correctly across platforms.

Speaker

speaker.name

Marcel Koch

Marcel is an independent software architect and consultant focused on building long-lived, maintainable systems. He works with companies in industrial and technical domains to develop cross-platform applications for mobile, desktop, embedded, and web.

His work centers around a stable domain core that separates business logic from infrastructure, enabling systems to evolve over many years. He regularly supports teams in modernizing existing systems and introducing sustainable architectures.

Marcel uses Rust to build robust and reliable software across platforms and teaches Rust and software architecture in hands-on trainings.