activar iphone ios scala jvm avian

iphone - activar - Scala en iOS usando Avian



nfc ios 11 (4)

Hay una JVM liviana relativamente nueva llamada Avian que puede producir ejecutables para objetivos iOS.

No hay demasiada documentación en el sitio web (y no se puede encontrar mucho buscando en Google). Me preguntaba si alguien sabía de un tutorial paso a paso sobre cómo obtener un programa básico de Scala ejecutándose en iOS, usando Avian .


Ejecutar el código de bytes de Java en iOS (no rooteado) no es solo ejecutar esa o esas JVM. Por lo que yo entiendo, la administración de memoria de iOS no permite que las páginas de memoria ejecutables se puedan escribir en el modo de usuario. Eso básicamente prohíbe cualquier compilación de JIT. Entonces, incluso si es posible ejecutar algunas clases compiladas (ya sea desde Java o Scala) en Java VM específica, verificaría cuidadosamente cómo esta VM admite la compilación Ahead-Of-Time para que pueda ejecutarse en iOS. Como he visto, Avian AOT funciona bien en una computadora de escritorio. Para iOS, tendrá que comprobarlo usted mismo, aunque el proyecto parece prometedor en el área de AOT.


Otro compilador alternativo de JVM a iOS es RoboVM . Aunque se encuentra en una etapa inicial, parece bastante prometedor, con ejemplos sobre cómo compilar Scala para iOS.

EDITAR Esta era una respuesta anterior, válida en ese momento, pero, como señala @JamesMoore, RoboVM ya no existe. Lo que parece muy prometedor ahora, y bien podría ser la forma de ejecutar el código Scala en iOS en un futuro cercano es Scala Native



Las fuentes compiladas de Scala son archivos de clase completamente estándar. Debería poder seguir las instructions (busque "Incrustar") en el sitio web sin grandes cambios, simplemente trate scala-library.jar como una dependencia de su código.

Logré arrancar el compilador completo y la biblioteca estándar que se ejecutaba en Avian hace unos días.

Algunas partes pueden ser un poco ásperas en los bordes, por ejemplo, hay una solución obligatoria que formará parte de la próxima versión de Scala (2.10.1) pero no está en 2.10.0. Si desea jugar ahora mismo, necesita usar una compilación nocturna hasta que se libere 2.10.1.

Si encuentra algún problema adicional, ¡infórmenos!