Я знаю, що Android використовує мову Java з обмеженим Java SDK і Google стверджує, що це не Java. Але чи правильно сказати, що Android - це мова програмування? Або правильніше сказати, що Android є основою на Java? Або те й інше?
Я знаю, що Android використовує мову Java з обмеженим Java SDK і Google стверджує, що це не Java. Але чи правильно сказати, що Android - це мова програмування? Або правильніше сказати, що Android є основою на Java? Або те й інше?
Відповіді:
Android - це ОС (і багато іншого, дивіться нижче), яка забезпечує власні рамки. Але це точно не мова.
Android - це стек програмного забезпечення для мобільних пристроїв, що включає в себе операційну систему, проміжне програмне забезпечення та ключові програми. Android SDK надає інструменти та API, необхідні для початку розробки програм на платформі Android, використовуючи мову програмування Java.
Android не використовує мову Java. У ньому є процес компіляції в автономному режимі, який переводить байт-код JVM в байт-код Dalvik, який Android розуміє, але нічого, що поставляється з Android, безпосередньо розуміє або працює з Java. Натомість ви використовуєте інші існуючі інструменти для компіляції Java (або будь-якої іншої мови JVM) для байт-коду, а потім передаєте її Далвіку, щоб пройти решту шляху.
Java є просто підтримуваною мовою вибору для розробки Android. Google вирішив створити і SDK для мови Java, і плагін для популярної програми Eclipse Java IDE, тому був легко доступний інструмент для створення додатків Android на популярній мові.
Тут заплутаною є те, що мова Java і віртуальна машина Java - це дві різні речі. Коли на вашому ПК працює стандартна програма Java, це запущений код, який був зібраний у байт-код, призначений для запуску в віртуальній машині Java Sun Microsystems. В основному Android має власну віртуальну машину, яка також працює байтовим кодом. Коли ви запускаєте та додаток Android, його запущений код, який був зібраний у байт-код, який розуміє віртуальна машина Android. Отже, хоча Java є мовою вибору, ви можете технічно писати програми для Android будь-якою мовою, за умови, що у вас є засоби для компіляції її в байтовий код Android. (Хоча я не думаю, що будь-які інструменти доступні для інших мов)
dx
можна працювати на будь-який віртуальної машини Java байткод: Java, Jython, Scala, зробіть ваш вибір . Автоматизація його в основному передбачала б зміну правил Ant.
Android - безкоштовна платформа з відкритим кодом, доступна для будь-якого користувача. Операційна система Android - це багатокористувацька система Linux, в якій кожен додаток - це інший користувач. А Android покладається на Linux версії 2.6 для основних системних сервісів, таких як безпека, управління пам’яттю, управління процесами, мережевий стек та модель драйвера.
Android - це стек програмного забезпечення з відкритим кодом (стек рішення - це набір програмних підсистем або компонентів, необхідних для доставки повністю функціонального рішення, наприклад, продукт або послуга) для мобільних пристроїв, що включає операційну систему, проміжне програмне забезпечення та ключові програми. Тож ви частково вірно вважаєте це рамкою.