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

Android без Java

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

Итак, вопрос: могу ли я избежать этого? Несмотря на то, что на настольных компьютерах и серверах имеется множество языков JVM, VM Dalvik и сами устройства создают определенные ограничения. Это кажется немного лучше в 2.2 с JIT, но ограничение на передний край было бы довольно жестким решением.

Единственная альтернатива, которую я знаю, которая используется несколько, выглядит как Scala. Есть ли какая-то возможность, которую мне не хватает? Clojure, похоже, работает именно с проблемами, которые я проиллюстрировал выше, с Dalvik, но поскольку AppInventor построен на Kawa, может быть надежда на Lisp на мобильной платформе?

Какие другие языки уже можно использовать или сделать шаги к этому?

4b9b3361

Ответ 1

Лично я бы сказал, что Scala - ваш лучший выбор прямо сейчас. Он работает очень хорошо, и одним из недостатков является то, что вы должны включать Scala в качестве зависимости (что увеличит размер вашего приложения).

Ответ 2

Вы посмотрели Mirah? Он дает вам синтаксис Ruby и компилируется на Java. Его обозначили CoffeeScript Java.

Ответ 3

Есть ли какая-то возможность, которую я пропускаю?

Тонны 'em!

Clojure, похоже, работает точно проблемы, которые я проиллюстрировал выше, с Dalvik

Я не знаю об этом. Любой JVM-язык, который является компилятором с опережением времени (т.е. Генерирует байт-код Java на ПК разработчика), должен работать с Dalvik.

но поскольку AppInventor построен на Кава может быть надеждой на Lisp на мобильная платформа

AFAIK, App Inventor использует только Kawa для генерации кода.

Какие еще языки уже использовать или сделать шаги к этому?

Ну, там HTML5 (Javascript), который работает нормально в автономном режиме.

Или, там PhoneGap (HTML + CSS + Javascript).

Или, там Rhodes (Rails-esque-приложения в Ruby на устройстве).

Или там Titanium Appcelerator Mobile (HTML + Javascript, но с Javascript-крючками для визуализации собственных виджетах пользовательского интерфейса).

Или, там Flash, по крайней мере для Android 2.2 +.

Или, там AIR... ну, хорошо, что все еще в предварительном выпуске.

Как заметил Элфред, когда я писал это, есть JRuby с Ruboto.

Есть Bedrock, Corona, DroidScript, Flixel, MobiForms, MonoDroid, MoSync, Squeak и SuperWaba.

Там C/С++ через NDK, хотя это в основном для добавления библиотек расширений в Java-приложение, а не для написания приложений с полным кодом.

Здесь есть SL4A (ранее среда сценариев Android или ASE), которая является вашим шлюзом на Python, Perl, Lua и другие языки сценариев. С этого момента вы не можете упаковать эти сценарии как APK, но они работают над этим.

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

Некоторые лысый парень пишет книгу, в которой будут рассмотрены все эти варианты, но это только частично готово прямо сейчас.

Ответ 4

В этой ссылке есть некоторые сведения о том, как получить приложения scala, работающие на android. Я уверен, что вы можете сделать что-то подобное для clojure или других языков jvm.

Ruboto стремится привести JRuby в.

Ответ 5

DroidScript, вероятно, является одним из самых простых из вышеупомянутых инструментов разработки, которые можно использовать для разработки Android. Как и в Кордове, вы используете JavaScript, но, в отличие от Кордовы, вы можете использовать собственный графический интерфейс Android или HTML5 для создания своих интерфейсов приложений.

Также у вас есть доступ ко всем устройствам/аппаратным средствам устройств, не требующим импорта загрузок сложных плагинов. Кроме того, вы получаете бонус от возможности разработки на своем мобильном устройстве, если вам нужно (вы даже можете создать APK и опубликовать их с вашего устройства).

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

Ответ 6

Xamarin Studio позволяет создавать С#/Mono и создавать приложения для Android и iOS. Теперь слои презентации должны быть реализованы по-разному на обеих платформах, но для возможности использования С# это большая Win.

Ответ 7

Вы можете создать приложение для Android со знанием только Html/css/Js. Поэтому нет необходимости создавать Java-приложения для Android. Посетите здесь некоторые базовые знания. [1] http://www.chromeearth.com/requirements-cordova-platform/

Ответ 8

Я никогда не использовал его, но Kotlin - это новый язык, который работает на JVM, разработанном JetBrains (разработчиком Android Studio), который заслуживает упоминания. Сайт Kotlin утверждает, что язык на 100% совместим с Java и имеет учебник для Начало работы с Android и Kotlin и Android Studio теперь на самом деле поставляется с Kotlin поддержка.