Existe a implementação de ctypes (Python) em Jruby?
Pergunta
Eu quero usar APIs do Windows em Jruby. Por favor, sugira qualquer API que possa fazer o trabalho de Ctypes (Python).
Solução
Jruby inclui a API da FFI, que foi criada originalmente para Rubinius, mas agora é apoiada em Jruby, Macruby, Maglev, Tinyrb, RM e Yarv (os dois últimos através da gema FFI) também.
A API da FFI foi projetada especificamente para facilitar a ligação às bibliotecas C, sem precisar escrever nenhum C (todos os mapeamentos são escritos em um DSL do Ruby declarativo).
Daniel J. Berg, o mantenedor da Gem Win32-Api e todas as outras bibliotecas Win32 está atualmente trabalhando para que eles corram em Jruby, portando-os para a FFI, mas ele bateu em alguns obstáculos, infelizmente.
Outras dicas
Você pode usar a API JAN JNA
http://blog.headius.com/2008/10/ffi-for-ruby-now-available.html
Jruby tem uma interface de função estrangeira. Não tenho certeza sobre o suporte do estado do Windows, mas provavelmente está ficando atrás da versão *nix.
Como alternativa, você pode escrever seus próprios invólucros usando JNI e Java Normal e usá -los através de Jruby