He estado buscando esto pero no he encontrado una respuesta definitiva , que es: además de Ruby, ¿se pueden usar otros idiomas para crear complementos para Redmine?
Si es así, ¿incurrirá en alguna solución y dificultad en general? ¿O será tan fácil usarlos como usar Ruby?
Pienso principalmente en Golang. Y también de Elixir, Rust, Python.
Los complementos de Redmine deben, bueno, conectarse a Redmine. Por lo tanto, necesitan usar las API internas de Redmine (escritas y accesibles con Ruby) para registrar sus funciones e integrarlas en la aplicación. Muy a menudo, los complementos amplían o sobrescriben partes de Redmine para implementar su funcionalidad. Los complementos se integran en Redmine y se ejecutan en los mismos procesos para formar un programa integrado.
Como tal, debe usar la misma versión de Ruby en la que se ejecuta Redmine. Si bien puede ser teóricamente posible escribir su complemento en C (o idiomas compatibles) y usar las interfaces C de Ruby, esto sin duda sería MUCHO más doloroso que solo escribir Ruby y, de todos modos, se parecería en su mayoría al Ruby equivalente.
Sin embargo, si desea desarrollar una funcionalidad externa en un idioma diferente, puede acceder a Redmine a través de su API REST desde cualquier programa externo que utilice el idioma que desee. Sin embargo, no será un complemento y no se extenderá a Redmine.