Dalvik. Особенности реализации Google Android

Новость про Андроид, уверен, все уже читали, а мне вот куда любопытнее оказалась вот эта заметка — Dalvik: how Google routed around Sun’s IP-based licensing restrictions on Java ME

Автор детально просмотрел код Google Android и нашёл много интересного. Чуть ли не ключевой фокус с Android в том что Google только не только создают открытую платформу, но и избегают каких-либо претензий Sun которые открывая исходный код Java под GPL2 сделали исключение для лицензии с возможностью не раскрывать пользовательский код для Java SE, но не делали такого исключения для Java ME. То есть производители приложений для Java ME вынуждены, или платить лицензионные отчисления, или раскрывать код. Последнее, разумеется, большинству из них невыгодно, ибо рынок чрезвычайно активен.

А вот с Android интересно, то что он использует виртуальную машину Dalvik которая и запускается на мобильном устройстве. Отличия в том что Dalvik использует синтаксис Java (платформы/языка), использует Apache Harmony! и библиотеки Java SE, но при этом не использует Java байткод и Google не анонсируют Android и Dalvik как Java платформу.

В итоге получается что при компиляции Java программы, вначале она преобразуется в Java байткод, а потом уже из Java байткода в байткод Dalvik.

Чем мне лично это интересно, так получается что разработка на Java не является чем-либо безусловно обязательным для Android’а. Вполне может появится преобразователь байткода из Mono или Python что только увеличит популярность платформы.

P.S. Только я об этом написал как нашёл развитие тех же мыслей в сторону Mono в блоге Мигеля Де Иказы. Воистину Mono + Android и мы ещё дождёмся появления библиотек совместимости приложений для .NET Micro Framework и Android

About This Author

Яндекс.Метрика