2010-06-09 1 views
27

Могу ли я использовать другие языки JVM помимо Java (например, jruby, jython, clojure) для программы для android, или это только java?Могу ли я программировать для android с использованием любого JVM-языка?

There was a similar question asked over a year ago но я не был уверен, что с тех пор произошли какие-либо изменения.

+3

Существует также http://stackoverflow.com/questions/2832773/alternatives-to-java-on-android - спросил около месяца назад - с некоторыми интересными ответами. –

ответ

16

Проверьте эти ссылки:

Однако я unawa re любых известных приложений, которые были закодированы на любом из этих языков. Примеры, которые я видел, больше относятся к категории «доказательство концепции». Хотя классный фактор высок, я до сих пор не вижу этих языков в качестве жизнеспособного инструмента для серьезных разработчиков Android. Мне бы хотелось, чтобы кто-то доказывал, что я ошибаюсь!

Похоже, что Scala находится ближе всего к тому, чтобы попасть туда прямо сейчас.

+1

загляните в [kotlin] (https://kotlinlang.org) –

2

От небольшого поиска это выглядит так, что уже существует среда сценариев JRuby для платформы Android.

8

Я не уверен, как работает другой язык JVM, но я действительно думаю, что Scala - это тот, который можно использовать для серьезного Android-проекта.

Конечно, у него есть некоторые проблемы (например, API Android Google Maps не используется без какого-либо обходного пути), но он отлично работает с Android SDK по умолчанию.

Я лично использую Scala для разработки своего приложения для Android (Maidroid Reminder), которое уже загружено около 5000 раз в соответствии с статистикой Android Market.

Это не «заметное» приложение, но оно использует множество функций Android SDK, таких как ContentProvider/Broadcast Receiver/MediaPlayer .... и т. Д., И это работает очень хорошо, и я чувствовал себя намного веселее, чем кодирование в Java.

И самое лучшее в использовании Scala для разработки приложений для Android - это то, что пользователю не нужно устанавливать какую-либо среду выполнения, например, для Android Scripting Environment!

Просто отпустите свой APK-файл, и пользователь может установить ваше приложение с помощью Android Market или ADB.

Если кто-либо заинтересован в том, как выглядит приложение для Android, написанное на Scala, вы можете просмотреть исходный код на GitHub.

+0

Я уверен, что это было больше удовольствия, чем использование java (я люблю scala), однако мне любопытно, если вы также почувствовали, что были более продуктивными? – dbyrne

+5

@dbyrne Я считаю, что это так. Согласование шаблонов, неявное преобразование и вывод типа избавляют меня от большого количества ввода, а функция высокого порядка, закрытие и черты позволяют мне писать код, не задумываясь, как мне это сделать, он просто говорит, что я хочу, и он просто работает (например. Отфильтровывайте что-то или делайте какой-нибудь транскрипт)! ;) –

0

В настоящее время наиболее динамичные языки плохо работают на Android Dalvic JVM. Они будут работать, но с большим количеством использования ЦП и памяти, чем вы, вероятно, захотите. Я слышал, что они работают над улучшением этого.