¿Qué lenguajes de programación puedo usar en Android Dalvik?

En teoría, Dalvik ejecuta cualquier código de byte de máquina virtual, creado por ejemplo con los compiladores de

  • Aspecto
  • Fusión fría
  • Clojure
  • Maravilloso
  • JavaFX Script
  • JRuby
  • Jython
  • Rinoceronte
  • Scala

¿Existen ya versiones de compiladores de bytecode para Dalvik disponibles para otros idiomas que Java?

  • En el lanzamiento, Java fue el único lenguaje de programación oficialmente soportado para la construcción de software distribuible de terceros para Android.

  • Android Native Development Kit (Android NDK), que permitirá a los desarrolladores crear componentes de software Android con C y C++ .

  • Además de ofrecer soporte para código nativo, Google también está extendiendo Android para dar soporte a lenguajes de scripting dinámicos populares. A principios de este mes, Google lanzó el Android Scripting Environment (ASE), que permite a los desarrolladores de terceros construir aplicaciones sencillas de Android con perl , JRuby , Python , LUA y BeanShell . Para tener idea y uso de ASE , consulte este enlace de ejemplo .

  • Scala también es compatible. Para tener ejemplos de Scala, refiérase a estos ejemplos link-1 , Example link-2 , Example link-3 .

  • Justo ahora he referido un artículo aquí en el que he encontrado alguna información útil de la siguiente manera:

    1. El lenguaje de programación es Java, pero existen puentes de otros idiomas (C# .net - Mono, etc) .
    2. Puede ejecutar lenguajes de guión como LUA , Perl , Python , BeanShell , etc.
  • He leído el segundo artículo en Google Releases 'Simple' Android Programming Language . Por ejemplo, refiérase a esto .

  • Justo ahora (2 de agosto de 2010) he leído un artículo que describe acerca de " Frink Programación de idioma y herramienta de cálculo para Android ", consulte este vínculos Link-1 , Link-2

  • El 4 de agosto de 2010, he encontrado En relación con RenderScript . Básicamente, se dice que es un lenguaje de tipo C para la programación de gráficos de alto rendimiento, que le ayuda a escribir eficientemente efectos visuales y animaciones en sus aplicaciones de Android. Su no lanzado todavía como no está terminado.

Scala funciona muy bien.

Estoy programando mis proyectos de aplicación de Android en Scala ( sitio web escrito en chino con algunas capturas de pantalla , código fuente @ GitHub ), y es bastante fácil de configurar el evnviroment (sin IDE, utilizando SBT como herramienta de construcción).

Podría acceder a todas las API en SDK de Android, así que cualquier cosa que pudieras hacer en Java, también lo podrías hacer en Scala.

Puede comprobar esta entrada de blog para ver cómo crear una aplicación de Android con Scala y SBT.

Kawa es una encantadora pero poco conocida variante de Scheme que ha existido en silencio durante muchos años y corre tanto en la JVM como en Dalvik, de forma nativa . Por lo tanto, su salida no incluye VM extra y sólo incluye bibliotecas explícitamente importadas. Para el programador final, esto significa que el rendimiento de Kawa y el tamaño ejecutable son casi idénticos a los de Java estándar (ProGuard no es necesario).

Kawa también incluye un montón de macros (incluyendo algunas específicas de las APIs de Android) que hacen que una bonita sintaxis limpia (suponiendo que uno no es reacio a los paréntesis), y añade algunas golosinas sabrosas en la parte superior de Scheme, como "promesas" en uno). El lenguaje es bastante robusto y bien documentado, y ha sido mantenido y evolucionado activamente desde los primeros días de Java.

El Calendario de Adviento de Java resume los méritos de Kawa con algunos ejemplos informativos y enlaces.

No he jugado con él, pero sé que Scala funciona.

http://www.scala-lang.org/node/160

Otro lenguaje JVM que funciona en Android es Kotlin con Anko , ambos de Jetbrains .

Mercury también funciona en Android, utilizando su backend de Java. He escrito una aplicación sencilla que debería ayudar a alguien a empezar (todavía hay pocos otros ejemplos), y el mercurio-android-ayudante también para este propósito (aunque en este momento exacto, es corto algunos commits.Y tampoco están usando ProGuard Sin embargo, por lo que el tamaño .apk es impactante.)

Aunque los otros mensajes aquí son alegres acerca de Scala-on-Android, los carteles en los foros de Scala están más preocupados por la capacidad de Scala de volar a través de algunas de las limitaciones de Dalvik, y las personas que lo usan dicen que la reservan para el código de no producción. (Alguna discusión sobre los problemas de Scala aquí .)

Todavía no puedo decir si Mercury tiene sus propios problemas con Dalvik, pero por el momento lo he cambiado de Scala.

Los lenguajes de tipo dinámico no serán posibles hasta que Dalvik apoye la compilación JIT (Just In Time). Creo que hay apoyo JIT en una de las ramas Eclair experimental, pero aún no está oficialmente disponible / apoyado en Android.

Hay un compilador Free Pascal disponible ahora que crea ejecutables para la plataforma Android.

  • Breve resumen: Desarrollando para Android con Pascal y Eclipse
  • Artículo de blog con una guía paso a paso: desarrollo para Android con Pascal y Eclipse

Con esta solución, los desarrolladores tienen acceso prácticamente a todo el conjunto de herramientas de Eclipse y Android. Esto incluye no sólo el conjunto completo de widgets de Android y un diseñador gráfico para colocarlos, sino también el acceso al tiempo de ejecución de Android completo. El IDE de Eclipse también construirá el ejecutable y lanzará el emulador de Android (con la aplicación Ejecutar como | Android).

  • Con ProGuard, ¿cuál es el impacto en la estrategia de pruebas?
  • Android sin Java
  • No se puede encontrar el método en la actividad
  • ¿Cómo hacer que AndroidScheduler.mainThread funcione con Scala Observable?
  • ¿Cómo se pueden reducir las aplicaciones scala para Android en tamaño de archivo?
  • ¿Cómo integrar Scala en la plataforma Android principal?
  • Android (en Scala): StackOverflowError depende de cuándo iniciar un hilo?
  • Dependencia no resuelta: com.hanhuy.sbt # android-sdk-plugin; 1.3.19: no encontrado
  • Problemas con la ejecución del archivo APK de Android al fusionar archivos dex con Scala
  • Cómo orientar Android con Scala 2.8 Trunk builds
  • Uso de AndroidAnnotations con Scala y Gradle
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.