Android без Java - PullRequest
       5

Android без Java

26 голосов
/ 14 июля 2010

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

Так вот в чем вопрос: Может лиЯ избегаю этого?В то время как существует множество языков JVM, которые можно было бы использовать на настольных компьютерах и серверах, виртуальная машина Dalvik и сами устройства имеют некоторые ограничения.Кажется, это немного лучше в 2.2 с JIT, но ограничиться передовым острием было бы довольно суровым решением.

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

Какие другие языки уже используются или используютсяк чему идет?

Ответы [ 8 ]

14 голосов
/ 14 июля 2010

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

10 голосов
/ 28 марта 2011

Вы смотрели на Мира ? Он дает вам Ruby-подобный синтаксис и компилируется в Java. Он был назван CoffeeScript Java.

9 голосов
/ 14 июля 2010

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

Тонны их!

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

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

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

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

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

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

Или есть PhoneGap (HTML + CSS + Javascript).

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

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

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

Или, есть AIR ... ну, хорошо, это все еще в предварительной версии.

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

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

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

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

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

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

1 голос
/ 18 марта 2015

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

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

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

1 голос
/ 14 июля 2010

Эта ссылка содержит некоторые сведения о том, как заставить приложения Scala работать на Android.Я уверен, что вы можете сделать что-то подобное для clojure или других языков jvm.

Рубото стремится ввести JRuby.

0 голосов
/ 10 мая 2016

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

0 голосов
/ 06 сентября 2014

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

0 голосов
/ 05 марта 2014

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

...