Работает ли на JVM программа написанная на других языках?
Сразу скажу - я не андроид-разработчик. Объясните пожалуйста доступным языком - можно ли писать НОРМАЛЬНЫЕ приложения для Android на других языках или нет?
В гугле меня ещё не забанили, вот что я пока нашёл:
1) андроид-приложухи запускаются на Dalvik, который является JVM.
2) Есть языки (кроме Java), ориентированные на работу с JVM, например Scala, Groovy или Clojure.
3) Теоретически на них чего-то пробуют писать, но получается это неидеально, как в плане производительности, так и в плане каких-то шероховатостей с API (вот этот момент мне не понятен - получается какие-то библиотеки на Java есть, а на clojure нет?).
Прошу высказаться разработчиков под android - эти неидеальности и шероховатости - это вопрос времени? Можно выбирать JVM-язык и что-то пробовать на нём или всё не так просто как я думаю?
Если есть какие-то нюансы связанные с компиляцией прошу высказываться попроще, у меня питон головного мозга.
Если кому интересно, я присматриваюсь к этим языкам, так как хотел поработать с ChromeOS, но так как ChromeOS умерла, а джава мне психологически не идёт, то смотрю альтернативы.
1) Dalvik – не совсем JVM, т.к. он работает не с Java байткодом, а со своим собственным. И вообще, начиная с 5.0 используется не Dalvik, а ART.
2) Не все JVM языки полностью совместимы с Java, из-за этого и возникают проблемы с API. В случае Scala еще играет роль большой размер стандартной библиотеки.
Scala, Groovy или Clojure не вариант, не уверен что им станет )
Kotlin классный, но пока не дружит с databinding
Главный вопрос - зачем?
sdk тот же, проблемы те же, но к ним еще добавляется дополнительные проблемы.
Начинать нужно с java
Рассуждения я знаю python или с++, почему бы не писать на нем или любом другом языке в корне не верны.
Материалов больше всего для java, стабильнее всего java, sdk написано на java.
Мне самому нравится kotlin но в продакшене пока java, и начинать я советую с нее
На андройд можно кодить почти на всем.
Python - kivy.org
Jython - тот же Python, только в стиле java
C++ - Android NDK
HTML 5 - habrahabr.ru/post/183458
C# - habrahabr.ru/post/169467
Можно даже без программирования - гугл в помощь.
Но все же лучше Java, ибо замучаетесь с этим всем ибо просто поверьте на слово :)