Жизнь это - мгновения, промежутки. Ночь ушла, солнце скоро взойдет. Сделайте эти промежутки настолько прекрасными насколько это возможно - наполненными молчанием, наполненными благодарностью к существованию, которое дало вам шанс, благодарностью по отношению ко всем тем, кто вам помог. И ждите.


4 мая 2012 г.

На каком языке пишут программы для Android

24 июня 2011 в 18:09

Родной язык — Java, на нём пишут программы, используя SDK. 
Ещё есть несколько middleware-движков, которые умеют билдить андроид-приложения, например Corona SDK, или та же Unity. Там языки свои, в Короне- Lua, в Unity — C#, JS.
Я правильно понимаю, что в итоге получается java-based объектный байт-код и единственно он является исполняемым на Android?
Насколько я знаю, движки не компилят в байткод, а используют установленный Android SDK. Unity, делает так: компилит код своего движка и весь пользовательский код в библиотеки, оборачивает их нативным Java-кодом, подрубает ещё что-то из SDK и даёт на выходе готовую APK-шку, всё это в один клик из Unity. За Корону не скажу, не пользовал.
Sarveen, 25 июня 2011 в 00:24
 
Родной язык Андроида (как это ясно видно из документации) — это Java. Весь API к платформе предоставлен в виде Java библиотек. Впрочем, на самом телефоне бежит не джава — джававский байткод интерпретируется в родной андроидовский (Dalvik), который и запускается на аппарате. Кроме этого, есть NDK (native development kit) — набор инструментов и библиотек, которые позволяют скомпилировать нейтивный позикс (Линукс) код и прицепить это к аппликации. Соответственно, там может бежать все, что компилируется в нейтевный код, включая интерпретаторы скриптовых языков и виртуальные машины. До недавнего времени, нельзя было создать приложение полностью в нейтивном коде — все равно нужна была обертка из Java, недавно, добавив набор нейтивных библиотек с системными API стало возможно написать нейтивную программу от начала до конца, без Java.

Из вышеперечисленного ясно, что можно писать практически на чем угодно. В реальности же, в большинстве случаев, пишут на Java, иногда цепляют переписанные узкие места и/или сторонние библиотеки на С/С++. Исключения — игры, которые часто пишут целиком или почти целиком на С++.

Комментариев нет:

Отправить комментарий