Начиная с Android: Java или Python (SL4A) - PullRequest
12 голосов
/ 27 июля 2010

Я только что заказал смартфон на Android и хочу начать играть с созданием собственных приложений. Теперь вопрос в том, какой язык использовать, нативный Java или Python, использующий SL4A (прежний ASE).

Я склонен к Python, так как знаю его гораздо лучше, чем Java, но мне интересно, чего бы мне не хватало при использовании языка «второго класса» на Android. На веб-сайте SL4A также указано программное обеспечение альфа-качества, что не совсем обнадеживает.

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

Ответы [ 5 ]

16 голосов
/ 28 июля 2010

В настоящее время вы не можете создать повторно выпускаемую программу с Python (или любым другим языком сценариев) с использованием SL4A.Я слышал слухи о том, что это то, над чем работает Google, но даже если они все-таки включат его, приложения Python, скорее всего, будут медленными и энергоемкими по сравнению с Java.Кроме того, API сценариев дает вам доступ только к ограниченному подмножеству нативного API Java.Я бы не стал использовать SL4A для серьезной разработки в данный момент, только для одноразовых скриптов и прототипирования.

Взгляните на Scala .Это язык статической типизации в JVM, но он использует вывод типов для устранения большей части шума, который вы получаете в Java.Он также полностью поддерживает функциональное программирование и имеет много возможностей на языке Python.Поскольку он статически типизирован, он так же эффективен, как и обычная Java, и не имеет никаких недостатков.ИМХО, это язык, на котором Java должна была быть в первую очередь.

Многие люди пишут о том, как использовать Scala на Android, поэтому обращайтесь к Google за дополнительной информацией.

2 голосов
/ 28 августа 2010

Добавление обновления к ответу Дэйва Кирби:

Выпуск 55, Распространение сценариев в виде APK , в трекере проблем на SL4A конкретно рассматривается это.

Существует решение, которое разрабатывается (может быть уже завершено), описанное в SharingScripts . Кажется, единственная проблема заключается в том, что вам нужен уже установлен APK для интерпретатора.

2 голосов
/ 27 июля 2010

Скорее всего, будет зависеть, какой тип приложений вы будете разрабатывать.

Я бы начал с Java, чтобы ознакомиться с Android SDK. Во всяком случае, сначала вам нужно взглянуть на некоторые примеры, учебные пособия. Большинство из них сделаны на Java, и только некоторые, вероятно, для этого на сайте разработчика SL4A.

Также есть встроенная разработка Android NDK, которая может быть запрограммирована на C ++.

Но в любом случае правила Java для общих приложений.

1 голос
/ 21 сентября 2013

Подумайте, стоит ли Kivy , если вы хотите писать приложения для Android на Python. Процесс упаковки скрипта в файл .apk описан здесь .

Проблема в том, что в результате .apk будет большим (~ 7 МБ для данных 300 КБ). Это очевидно, потому что вам нужно упаковать туда среду выполнения Python и все библиотеки.

Другое известное мне решение - Pygame для Android , но оно работает на более низком уровне, поэтому вам нужно рисовать графику вручную.

К сожалению, я еще не пробовал ни одного из этих способов, но похоже, что скоро я начну использовать kivy.

1 голос
/ 11 января 2012

вы можете попробовать Ruboto - это платформа для разработки приложений Android на основе JRuby, что означает, что ваш код JRuby может вызывать API-интерфейсы Android, а также может вызываться обратно со стороны Android Java. Здесь - вводная статья.

...