Interface de função externa

Origem: Wikipédia, a enciclopédia livre.

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 | editar código-fonte]

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