zasqer
@zasqer

Работает ли на JVM программа написанная на других языках?

Сразу скажу - я не андроид-разработчик. Объясните пожалуйста доступным языком - можно ли писать НОРМАЛЬНЫЕ приложения для Android на других языках или нет?

В гугле меня ещё не забанили, вот что я пока нашёл:
1) андроид-приложухи запускаются на Dalvik, который является JVM.
2) Есть языки (кроме Java), ориентированные на работу с JVM, например Scala, Groovy или Clojure.
3) Теоретически на них чего-то пробуют писать, но получается это неидеально, как в плане производительности, так и в плане каких-то шероховатостей с API (вот этот момент мне не понятен - получается какие-то библиотеки на Java есть, а на clojure нет?).

Прошу высказаться разработчиков под android - эти неидеальности и шероховатости - это вопрос времени? Можно выбирать JVM-язык и что-то пробовать на нём или всё не так просто как я думаю?

Если есть какие-то нюансы связанные с компиляцией прошу высказываться попроще, у меня питон головного мозга.

Если кому интересно, я присматриваюсь к этим языкам, так как хотел поработать с ChromeOS, но так как ChromeOS умерла, а джава мне психологически не идёт, то смотрю альтернативы.
  • Вопрос задан
  • 980 просмотров
Пригласить эксперта
Ответы на вопрос 4
@werktone
1) Dalvik – не совсем JVM, т.к. он работает не с Java байткодом, а со своим собственным. И вообще, начиная с 5.0 используется не Dalvik, а ART.

2) Не все JVM языки полностью совместимы с Java, из-за этого и возникают проблемы с API. В случае Scala еще играет роль большой размер стандартной библиотеки.

P.S. Посмотрите на Kotlin
Ответ написан
Комментировать
gadfi
@gadfi
https://gamega.org
Scala, Groovy или Clojure не вариант, не уверен что им станет )
Kotlin классный, но пока не дружит с databinding

Главный вопрос - зачем?
sdk тот же, проблемы те же, но к ним еще добавляется дополнительные проблемы.

Начинать нужно с java
Рассуждения я знаю python или с++, почему бы не писать на нем или любом другом языке в корне не верны.
Материалов больше всего для java, стабильнее всего java, sdk написано на java.
Мне самому нравится kotlin но в продакшене пока java, и начинать я советую с нее
Ответ написан
Комментировать
@cthulhudx
Под android можно писать с использованием C++ (Qt):
Getting Started with Qt for Android
Ответ написан
Комментировать
@Noortvel
На андройд можно кодить почти на всем.
Python - kivy.org
Jython - тот же Python, только в стиле java
C++ - Android NDK
HTML 5 - habrahabr.ru/post/183458
C# - habrahabr.ru/post/169467
Можно даже без программирования - гугл в помощь.
Но все же лучше Java, ибо замучаетесь с этим всем ибо просто поверьте на слово :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы