Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.2.0

ffi

Utilitários para trabalhar com código de interface de função estrangeira (FFI).

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
14,9 mi
Curtidas
354
Pontos Pub
160

Instalar pacote

flutter pub add ffi

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote FFI fornece utilitários para o Dart interagir com código nativo escrito em linguagens como C, Rust ou outras linguagens de nível de sistema. Ele permite chamar funções, acessar estruturas de dados e gerenciar memória entre fronteiras de linguagem, tornando-o ideal para operações críticas de desempenho ou integração de bibliotecas nativas existentes. Esse pacote é essencial quando o Dart precisa se comunicar com APIs de sistema de baixo nível ou otimizar tarefas intensivas em cálculo. Ele suporta múltiplas plataformas, incluindo Android, iOS, macOS, Windows e Linux.

Casos de uso

  • Chamando bibliotecas nativas em C
  • Integrando código Rust em aplicativos Dart
  • Otimizando código crítico para desempenho
  • Acessando APIs de nível do sistema
  • Interagindo com binários nativos existentes

Principais recursos

  • interoperabilidade nativa independente de plataforma
  • Suporte para estruturas e ponteiros de função
  • Gerenciamento de memória por meio de tipos nativos
  • Compatibilidade multiplataforma
  • Vinculação direta a APIs do estilo C

Indicado para

  • Desenvolvedores usando bibliotecas nativas
  • aplicações sensíveis ao desempenho
  • Integrações de nível do sistema
  • Desenvolvedores de Rust ou C voltados para o Flutter
  • Aplicativos que exigem acesso direto ao hardware

Considerações

  • Requer conhecimento de código nativo
  • Possibilidade de travamentos caso mal utilizado
  • Riscos de gerenciamento manual de memória
  • Segurança de tipo limitada em comparação com o Dart puro
  • Curva de aprendizado mais acentuada para iniciantes

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Coverage Status

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.

Categorias

Repositório-fonte

Projetos que usam este pacote

Rankings