Uma Interface de função externa (do inglês Foreign function interface, FFI) é um mecanismo pela qual, um programa escrito em determinada linguagem e tecnologia, pode realizar chamadas, funções e comunicar-se outros programas e serviços de linguagens distintas.[1]

Terminologia

editar

Foi descrito inicialmente pela especificação Common Lisp, posteriormente foi oficializado em Haskell.[2][3] Outras linguagens utilizam terminologias como Ada onde uso o termo como "language bindings", em java é denominado Java Native Interface, JNI. Entretanto é usado de forma genérica para ser referido a este mecanismo.

Apesar do nome, as FFIs não são limitadas à chamada de funções, muitos FFI permitem acesso aos métodos de objectos, transação de dados e objectos de distintas.[4] O termo foreign function interface não é usado para descrever o retorno de execuções em multi-linguagem como Microsoft Common Language Runtime, onde existe um "substrato" comum que permite a qualquer linguagem usar os serviços definido pelo outro (Interface), cumprindo como uma linguagem comum já especificada entre as partes, assim, determinados mecanismo como RMI, RPC, CORBA e SOAP, que permitem serviços escritos em outras linguagens e arquitecturas, não pode ser considerado como uma FFI.

Referências

📚 Artikel Terkait di Wikipedia

FFI

Final Fantasy I, o primeiro de uma série de jogos eletrônicos. Foreign function interface, uma interoperabilidade entre linguagens de programas. Frades

Glue code

interoperabilidade com o mesmo. Como exemplo, numa foreign function interfaces, que aparece no Java native interface. Um outro caso tipico é no uso para de um

Factor (linguagem de programação)

regulares, gerando o código máquina para fazer a correspondência Uma Foreign function interface é construída na Factor, permitindo a comunicação com programas

História do computador pessoal

foi um marco no desenvolvimento de computadores pessoais devido à sua interface gráfica do usuário, tela de alta resolução bit-mapped, grande armazenamento

Máquina virtual Java

introduz a Foreign Function and Memory API (API de Função Estrangeira e Memória), que pode ser vista como o sucessor da Java Native Interface. Os métodos

Computador pessoal

desenvolvido no Palo Alto Research Center (PARC) da Xerox. Ele tinha uma interface gráfica de usuário (GUI) que mais tarde serviu de inspiração para o Macintosh

Protótipo

de 2024  «Council on Foreign Relations». web.archive.org. 28 de outubro de 2013. Consultado em 18 de junho de 2024  «5.5 Function Prototypes». HP. Consultado

Archaea

Kindler GS, Wong HL, Chen R, Burns BP (2019). «Asgard archaea: Diversity, function, and evolutionary implications in a range of microbiomes». AIMS Microbiology