dart-lang/native
Dart packages related to native interop and the foreign function interface. Contains code generators for generating bindings for other programming languages and packages related to the hooks system for bundling native code,
- Stars
- 274
- Forks
- 147
- Last push (UTC)
- Sep 18, 2026
- Project status
- Active
LanguagesDartCJavaObjective-CKotlinSwiftC++CMakeRubyNixRustLinker Script
Dependencies used
Dependency list 5 items
- argsDevelopment
^2.7.0 - dart_flutter_team_lintsDevelopment
^3.5.2 - dependency_validatorDevelopment
^5.1.0 - pathDevelopment
^1.9.1 - yamlDevelopment
^3.1.3
Original README
English project snapshot. Visit GitHub for the latest content.
Expand / collapse project README
Overview
This repository is home to Dart packages related to FFI and native assets building and bundling.
Documentation
See the doc directory for more documentation.
Packages
| Package | Description | Issues | Version |
|---|---|---|---|
| code_assets | This package contains the Dart API for code assets in hook/build.dart and hook/link.dart. |
issues | pub package |
| data_assets | This package contains the Dart API for data assets in hook/build.dart and hook/link.dart. |
issues | pub package |
| ffi | Utilities for working with Foreign Function Interface (FFI) code. | issues | pub package |
| ffigen | Generator for FFI bindings, using LibClang to parse C, Objective-C, and Swift files. | issues | pub package |
| hooks | This package contains the API for hook/build.dart and hook/link.dart. |
issues | pub package |
| hooks_runner | This package is the backend that invokes hook/build.dart and hook/link.dart from Dart and Flutter. |
issues | pub package |
| jni | A library to access JNI from Dart and Flutter that acts as a support library for package:jnigen. | issues | pub package |
| jni_flutter | A library to access Flutter Android specific APIs from Dart. | issues | pub package |
| jni_util | A library to access Flutter Android specific APIs from Dart. | issues | pub package |
| jnigen | A Dart bindings generator for Java and Kotlin that uses JNI under the hood to interop with Java virtual machine. | issues | pub package |
| native_toolchain_c | A library to invoke the native C compiler installed on the host machine. | issues | pub package |
| objective_c | A library to access Objective C from Flutter that acts as a support library for package:ffigen. | issues | pub package |
| record_use | Dart API to access @RecordUse() recorded usages in link hooks. |
issues | pub package |
| swift2objc | A tool for generating bindings that allow interop between Dart and Swift code. | issues | pub package |
| swiftgen | A tool for generating bindings that allow interop between Dart and Swift code. | issues | pub package |
External packages
Packages not on this repo but also related to FFI and native assets. ❤️
| Package | Description | Version |
|---|---|---|
| native_toolchain_cmake | A library to invoke CMake for Dart Native Assets. | pub package |
| native_toolchain_go | A library to invoke the native Go compiler installed on the host machine. | pub package |
| native_toolchain_ninja | A library to invoke Ninja for Dart Native Assets. | pub package |
| native_toolchain_rust | A library to build and bundle Rust code for Dart Native Assets. | pub package |
| native_toolchain_zig | A library to build and bundle Zig code for Dart Native Assets. | pub package |
Publishing automation
For information about our publishing automation and release process, see https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.
For additional information about contributing, see our contributing page.