Подтвердить что ты не робот

Начиная с Android: Java или Python (SL4A)

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

Также есть встроенный Android NDK, который можно запрограммировать с помощью С++.

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

Ответ 3

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

Проблема 55, Распространять скрипты как APK, в трекер проблема на SL4A занимается именно этим.

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

Ответ 4

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

Ответ 5

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

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

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

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