JRuby: Integração Java Elegante Resolve Dores de Cabeça com Bibliotecas Externas

2025-05-01

Na RubyKaigi, o autor encontrou dificuldades ao usar bibliotecas externas em Ruby: bibliotecas C exigem a escrita de extensões C ou vinculações FFI, enquanto outras linguagens apresentam desafios ainda maiores. Exemplos como Charty (envolvendo matplotlib) e QuickChart (implementado em JavaScript) destacaram a dificuldade das soluções existentes. O autor propõe uma abordagem mais elegante: aproveitar a integração Java do JRuby. Usando o JFreeChart como exemplo, o artigo demonstra como criar gráficos sem esforço sem escrever código Java, C, Python ou JavaScript. Ele detalha a camada de integração Java do JRuby, incluindo o gerenciamento de dependências com `jar-dependencies`, a chamada de classes Java e a criação de gráficos de barras e de pizza simples. O autor conclui com um incentivo para experimentar o JRuby e apoiar seu desenvolvimento contínuo.