Является ли Android языком или фреймворком / платформой?

13

Я знаю, что Android использует язык Java с ограниченным Java SDK и что Google утверждает, что это не Java. Но правильно ли говорить, что Android - это язык программирования? Или правильнее сказать, что Android - это фреймворк на Java? Или это правда?


источник

Ответы:

36

Android - это операционная система (и более того, смотрите ниже), которая предоставляет собственную платформу. Но это определенно не язык.

От developer.android.com

Android - это программный стек для мобильных устройств, который включает в себя операционную систему, промежуточное программное обеспечение и ключевые приложения. Android SDK предоставляет инструменты и API, необходимые для начала разработки приложений на платформе Android с использованием языка программирования Java.

LFX
источник
5

Android не использует язык Java. Он имеет автономный процесс компиляции, который преобразует байт-код JVM в байт-код Dalvik, который понимает Android, но в Android нет ничего такого, что напрямую понимает или работает с Java. Вместо этого вы используете другие существующие инструменты для компиляции Java (или любого другого языка JVM) для байт-кода, а затем передаете это Dalvik, чтобы пройти оставшуюся часть пути.

необычайно щедрый
источник
3

Java - просто поддерживаемый язык выбора для разработки под Android. Google решил создать и SDK для языка Java, и плагин для популярной Eclipse Java IDE, поэтому появился легко доступный набор инструментов для создания приложений Android на популярном языке.
Запутанная часть здесь в том, что Java язык и Java виртуальная машина - это две разные вещи. Когда на вашем компьютере запускается стандартная Java-программа, она выполняет код, скомпилированный в байт-код, предназначенный для запуска на виртуальной машине Java Sun Microsystems. В основном Android имеет свою собственную виртуальную машину, которая также выполняет байт-код. Когда вы запускаете приложение Android и запускаете его код, который был скомпилирован в байт-код, который понимает виртуальная машина Android. Итак, хотя Java является языком выбора, технически вы можете писать приложения для Android на любом языке, если у вас есть возможность скомпилировать его в байт-код Android. (Хотя я не думаю, что какие-либо инструменты доступны для других языков)

Крац
источник
1
Похоже, dxможно запустить любой байт-код JVM: Java, Jython, Scala, выбирайте сами . Автоматизация его будет в основном включать изменение правил Ant.
geekosaur
2

Android - это бесплатная платформа с открытым исходным кодом, доступная каждому. Операционная система Android - это многопользовательская система Linux, в которой каждое приложение является отдельным пользователем. А Android использует Linux версии 2.6 для основных системных служб, таких как безопасность, управление памятью, управление процессами, сетевой стек и модель драйвера.

Нихил Динеш
источник
1

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

Favonius
источник