Какие языки программирования можно использовать на Android Dalvik?

В теории Dalvik выполняет любой байтовый код виртуальной машины, созданный, например, компиляторами

  • AspectJ
  • ColdFusion
  • Clojure
  • Groovy
  • JavaFX Script
  • JRuby
  • Jython
  • Rhino
  • Scala

Существуют ли уже рабочие версии компиляторов байт-кода для Dalvik для других языков, чем Java?

Ответ 1

  • При запуске Java был единственным официально поддерживаемым языком программирования для создания распространяемого стороннего программного обеспечения для Android.

  • Android Native Development Kit (Android NDK), который позволит разработчикам создавать компоненты программного обеспечения Android с C и C++.

  • Помимо поддержки встроенного кода, Google также расширяет Android для поддержки популярных динамических языков . Ранее в этом месяце Google запустила Android Scripting Environment (ASE), которая позволяет сторонним разработчикам создавать простые приложения для Android с perl, JRuby, Python, LUA и BeanShell. Для получения идеи и использования ASE обратитесь к Пример ссылки.

  • Scala также поддерживается. Для получения примеров Scala обратитесь к этим Пример link-1, Пример link-2, Пример link-3.

  • Как раз сейчас я упомянул одну статью здесь, в которой я нашел полезную информацию следующим образом:

    • язык программирования - это Java, но существуют мосты из других языков (C# .net - Mono, etc).
    • может запускать языки script, такие как LUA, perl, Python, BeanShell и т.д.

  • Я прочитал 2-ю статью в Google выпускает "простой" язык программирования Android. Например, обратитесь к этому вопросу.

  • Только что (2 августа 2010 года) я прочитал статью, в которой описывается " язык программирования Frink и калькулятор для Android", см. ссылки Link-1, Ссылка-2

  • 4 августа 2010 года я нашел ссылку RenderScript. В основном, он называется C-подобным языком для высокопроизводительного графического программирования, который помогает вам легко писать эффективные визуальные эффекты и анимации в приложениях для Android. Его еще не выпущен, поскольку он еще не закончен.

Ответ 2

Scala работает очень хорошо.

Я программирую проекты приложений для Android в Scala (Веб-сайт, написанный на китайском языке с некоторым скриншотом, исходный код @GitHub), и довольно легко настроить evnviroment (без IDE, используя SBT в качестве инструмента сборки).

Он может получить доступ к каждому API в Android SDK, поэтому все, что вы могли бы сделать на Java, можно было бы сделать и в Scala.

Вы можете проверить эту запись , чтобы узнать, как создать приложение для Android с помощью Scala и SBT.

Ответ 3

Kawa - прекрасный, но малоизвестный вариант Схемы, который существует много лет и работает как на JVM, так и на Dalvik, изначально. Поэтому его вывод не содержит дополнительной виртуальной машины и включает только явно импортированные библиотеки. Для конечного программиста это означает, что производительность и размер исполняемого файла Kawa почти идентичны стандартной Java (ProGuard не требуется).

Kawa также включает в себя множество макросов (включая некоторые специфичные для Android API), которые обеспечивают хороший чистый синтаксис (при условии, что он не прочь в круглых скобках) и добавляет некоторые вкусные плюсы поверх Схемы, например "promises", (ленивый анализ и фьючерсы в одном). Язык довольно прочный и хорошо документированный, и он активно поддерживается и развивается с первых дней Java.

Календарь Java Advent Calendar обобщает достоинства Kawa с некоторыми информативными примерами и ссылками.

Ответ 5

Другой язык JVM, который работает на Android, Kotlin с Anko, как из Jetbrains.

Ответ 6

Mercury также работает на Android, используя его Java-сервер. Я написал простое приложение, которое должно помочь кому-то начать (есть еще несколько других примеров) и mercury-android-helper также для этой цели (хотя в этот момент это короткое количество коммитов. И еще ни один из них не использует ProGuard, поэтому размер .apk шокирует.)

Хотя другие сообщения здесь веселы о Scala -on-Android, плакаты на форумах Scala больше обеспокоены возможностью Scala пробить некоторые из ограничений Dalvik, а люди, которые его используют, говорят, что они резервируют это для непроизводственного кода. (Некоторое обсуждение проблем Scala здесь.)

Я пока не могу сказать, есть ли у Меркурия свои проблемы с Dalvik, но я переключился на него с Scala пока.

Ответ 7

Динамически типизированные языки не будут доступны, пока Dalvik не будет поддерживать компиляцию JIT (Just In Time). Я считаю, что поддержка JIT в одном из экспериментальных веток Eclair, но еще не официально доступна/поддерживается в Android.

Ответ 8

Теперь доступен компилятор Free Pascal, который создает исполняемые файлы для платформы Android.

С помощью этого решения разработчики имеют доступ практически к всем Eclipse и инструментам Android. Это включает в себя не только полный набор виджетов Android и графический дизайнер для их выкладки, но также и доступ к полной версии Android. Eclipse IDE также создаст исполняемый файл и запустит эмулятор Android (используя приложение "Запустить как приложение для Android" ).

Ответ 9

1) Angular + nativeScript

2) Реактивный