Biblioteca Headless de una fuente para JVM y JavaScript

Necesito escribir una biblioteca que pueda comstackrse en classs Java (para ser más específico: Android) y JavaScript o TypeScript (browser moderno y Node.js).

La lib se ocupará de lists de objects con muchos numbers y tiene que calcular statistics y filtrar / manipular las lists. Sin ciencia espacial, las dependencies se pueden unir para cada entorno. No hay problemas con la aritmética decimal. (=> Las bibliotecas pueden desarrollarse en TypeScript y Java, pero nadie quiere mantener 2 fonts semánticamente iguales).

No tengo miedo de aprender un nuevo idioma, pero la integración debe ser fluida (es decir, crear un .jar con una interfaz Java estándar y types Java y un file .js para JavaScript / TypeScript sin cientos de kilobytes de time de ejecución).

¿Podría elegir Scala / Scala.js para esto?

¿ Funcionaría con Kotlin ?

¿Alguien de ustedes ha logrado una tarea igual con éxito? ¿Cuáles son las advertencias?

Bueno, los conceptos básicos son muy normales para Scala / Scala.js en estos días: muchas bibliotecas comstackn de forma cruzada sin cambios. El comstackdor Scala.js está altamente optimizado, y solo incluye el código que se invoca, por lo que el resultado es razonablemente pobre. (A less que necesite dependencies externas voluminosas, que el comstackdor SJS no puede hacer mucho al respecto).

Gestionar las diferencias de dependencia supondrá un esfuerzo adicional si necesita tratarlas de forma diferente en las dos partes. Esto no es terriblemente inusual para Scala / Scala.js, pero requiere que el proyecto esté estructurado para eso. La documentation de CrossProject entra en detalles.

Pero, en general, sí, eso es bastante común en este punto …