作为一个实验,我正在为 Java 应用程序(客户端服务器、P2P 等)开发一个小型平台,我希望能够从 Java 和 Scala 中使用它。也可能来自 Groovy、jRuby 等。
我知道 Scala 可以很容易地调用 Java,但 Java 不能那么容易地回调 Scala。我不知道这在 jRuby 和 Groovy 中是如何工作的。
我最初的想法是用 Java 实现这个平台,然后看看我是否可以将它提供给其他语言。但是,平台可能包括启动线程,这些线程调用实现某些 Java 接口的组件。是否可以将例如在 Scala 中实现但实现 Java 接口的工厂传递给 Java 组件并让该 Java 组件调用 Scala 工厂?
对于实施这样的跨语言平台,您一般有什么建议?