Категория: Новости Android

Android: что внутри?

gPhone       Со своей операционной системой Android Google планирует совершить серьезный передел рынка мобильных платформ. Для этого собраны лучшие силы: Linux, Quartz от Symbian, еще одна операционная система SavaJe, база данных SQLite и, наконец, J2ME. С Android Google планирует не только сыграть на сильных сторонах Linux, но и преодолеть недостатки Java.

В этой статье мы постараемся ответить на следующий конкретный вопрос: что представляет собой работа с SDK Android? По пути мы постараемся выяснить, какие тайны пока еще скрывает в себе эта мобильная платформа. Для этого мы исследуем недавно вышедшую SDK. Впрочем, должен предупредить, что моя SDK не является окончательной версией, так что будем надеяться, что проблемы, описанные ниже, будут так или иначе решены. Хотя SDK работает на платформах Windows, Linux и Mac OS X, я использую версию для Windows.

Внутри Android

В сердце Android – ядро Linux. Уровнем выше находятся библиотеки, еще выше – прикладные среды и, наконец, на самом верхнем уровне разместились приложения. На уровне библиотек функционирует код таких приложений как медиапроцессоры для мультмедийных данных, ядро веб-браузера, машина для отрисовки шрифтов и база данных SQLite. Собственно исполняемый код ОС также находится на уровне библиотек.

Над библиотеками расположились прикладные среды. К ним относятся наборы сервисов многократного использования и стандартные компоненты для взаимодействия с приложениями. Например, одна из прикладных сред служит поставщиком контента – управляет хранением и подачей данных. Прикладной интерфейс машины SQLite также является одним из модификаций поставщика контента.

Собственно приложения выполняются на самом верху стека ОС. Android будет поставляться с набором корневых приложений, таких как почтовый клиент,google календарь, веб-браузер и ряд других. Все приложения, разрабатываемые с помощью SDK, также выполняются на этом уровне.

Разработка приложения для Android ведется на языке Java. Затем исходный код компилируется в байт-код Java, после чего разработчик должен запустить инструмент под названием dx. Этот инструмент конвертирует байт-код Java в так называемый байт-код dex – аббревиатура для «Dalvik executable». Dalvik – это виртуальная машина, которая занимается собственно выполнением приложений Android.

С точки зрения разработчика, Dalvik выглядит как обычная виртуальная машина Java, но формально он ей не является. Как уже говорилось, Dalvik работает с особым байт-кодом dex, а не с кодом Java. Также есть ряд отличий между классами файлов Dalvik и классами Java. Однако по сути разработка приложений для Android сводится именно к написанию кода Java.

SDK Android

Предпочтительной платформой разработки для ОС Android является Eclipse версии Europa. Вам также понадобится JDK 5 или JDK 6 для того, чтобы использовать ряд инструментов Android – стандартной поставки JRE из Eclipse для этого недостаточно. На сайте Android предлагается установить специальный набор средств разработчика для Eclipse в виде плагина. Впрочем, если вы не знакомы с Eclipse, можно использовать и другие IDE, например IntelliJ.

Работа ОС Android была продемонстрирована на неизвестном прототипе

gPhoneДо релиза ОС Android остается все меньше времени, поэтому руководитель подразделения Анди Рубин (Andy Rubin) взялся продемонстрировать ее работоспособность, чтобы дать понять, что у разработчиков все хорошо.

Работа ОС Android демонстрировалась на неизвестно прототипе, который поддерживает работу сетях третьего поколения, оснащен процессором с тактовой частотой 300 МГц, и трек-болом для управления устройством, хотя он кажется избыточным, так как управление прототипом можно комфортно осуществлять с помощью пальца. Несмотря на низкую тактовую частоту, устройство продемонстрировало отличную скорость реакции на команды, а также работу в трехмерных приложениях. Например, демо-версия игры Quake выдает изображение с частотой 30 кадров в секунду.

Стоит отметить, что интерфейс ОС Android интуитивно понятный. Например, скроливание в браузере осуществляется при помощи движений пальца в нужном направлении. Кстати, это был первый прототип, на котором была продемонстрирована работа Google Maps Street View, где также была заметна высокая скорость работы, даже при зумировании.

Новые возможности Android

gPhoneЭнди Рубин (Andy Rubin), глава поразделения мобильных платформ компании Google, в интервью каналу BBC сообщил последние новости о развивающейся платформе Android: одновременно на BBC появился видеоролик, в котором возможности обновлённой платформы демонстрируются на одном из прототипов будущих «гуглофонов». Ролик демонстрирует работу веб-браузера, поиска Google, трёхмерных игр и базового пользовательского интерфейса.

Видно, что с момента первого анонса Android не перестаёт развиваться, так что к моменту выхода первых коммерческих устройств (вторая половина 2008 года) платформа может существенно вырасти.

Отдельно сообщается, что демонстрационный прототип работает на процессоре с тактовой частотой всего в 300 МГц. При этом не заметно ни какого торможения ни на одной задаче. Точно не известно, кто именно собирается выпускать коммерческую версию показанного прототипа, но первые устройства ожидаются от HTC, LG, Motorola и Samsung.

Открытая платформа для мобильных устройств Google Android во плоти

androidВместе с партнерами Google создала Open Handset Alliance — альянса, который объединяет крупнейшие IT-компании вокруг идеи разработки открытой платформы для мобильных устройств. Первым продуктом новой группы будет основанная на Linux платформа Android, которая представляет собой стек программного обеспечения для мобильных телефонов, включающий операционную систему, пользовательский интерфейс, набор основных приложений и т.п. В альянс на данный момент входит 34 компании, главными из которых являются Google, T-Mobile, HTC,

В Японии компанией Willcom была продемонстрирована работа операционной системы Android, разработкой которой занимается компания Google. В качестве демонстрационного стенда использовался не готовый телефон, а референсная платформа. На мероприятии было показано, что уже умеет делать новая платформа, а в частности, как работает многозадачность системы: в процессе навигации в Google Maps, на телефонный аппарат был совершен телефонный звонок.

В сети появился первый «живой» снимок тестового телефона на базе программной платформы Android от Google. По словам очевидцев, которым удалось пощупать телефон, аппарат получился очень легкий и быстрый.

Устройство, на котором была запущена операционная система Android, вероятнее всего, было разработано тайванской компанией НТС специально для этой платформы. Несмотря на то, что разработка находится на ранней стадии, она уже работает быстрее, чем эмулятор.

Окончательный вариант Android может претерпеть существенные изменения. Работа над ним будет вестись еще на протяжении полугода. С точки зрения программиста, система также получилась крайне крепкой. Намного сильнее Windows Mobile 5 на начальном этапе. В будущем Android наверняка доработают и сделают еще более производительной и стабильной. Что касается железа, то пока аппарат кажется слишком уж «классическим».

LiPS — еще одна Linux альтернатива Android

Операционная система с открытым кодом Android оказалась не единственным решением, группа LiPS тоже представила спецификации для новой мобильной платформы. Как и ОС Android от Google, программная разработка от LiPS (Linux Phone Standards Forum) содержит программные интерфейсы для осуществления звонков, текстовых сообщений и различных типов пользовательского интерфейса. Хотя полноценной операционной системой разработку назвать пока нельзя, но база для дальнейшего развития уже заложена и остается только развивать и дорабатывать ее для конкретных моделей аппаратов, что значительно сократит время разработки для производителей мобильных устройств.

LiPS представляет собой объединение крупнейших европейских корпораций, таких как Access, Orange и France Telecom. Как сложится дальнейшее развитие проекта — неизвестно, ведь аналогичное объединение OHA (Open Handset Alliance) под руководством Google уже собрало множество различных компаний, как операторов мобильной связи, таких как Sprint, T-Mobile и Verizon, так и ведущих производителей аппаратов, таких как LG, Motorola и Samsung. По слова главного менеджера проекта LiPS, Била Вайнберга (Bill Weinberg), OHA и LiPS являются скорее «не конкурентами», а «разными подходами к одной проблеме».

Android на реальных устройствах

android Одной из главных причин, по которой разработка для Android не может развернуться полным ходом, является отсутствие в продаже реальных девайсов. Однако, желание получить устройство с Android`ом достаточно велико. И в то время, пока незадачливые будущие пользователи и разработчики(и я в том числе :) ) ожидают долгожданных Android handsets (которые, например, обещает выпустить HTC), более расторопные девелоперы уже давно изучают возможность использования существующего железа.

Надежду на благополучный исход даёт то, что Android основан на Linux, который известен своей гибкостью и богатыми возможностями. И вот, по прошествии некоторого времени обсуждение этих попыток (например, здесь) сменилось уверенными записями в блогах об удачных установках. Например — Armadillo-500.

Или вот руководство для Sharp Zaurus SL-C760(не работает тач-скрин и интернет соединения). Ну, и наверное, самый большой вклад(с моей точки зрения) был внесён этим исследователем.

Естественно, такое развитие событий не может не радовать :) Будем ждать сообщений о новых поддерживаемых устройствах.

iPhone, Android и ожидания разработчиков

Рождение мобильных платформ – всегда знаменательное событие для разработчика. Действительно, новые платформы, особенно от таких грандов как Google или Apple, создают новые рынки сбыта из ниоткуда –и вот мы видим длинные очереди покупателей iPhone в США(а с недавнего времени в Германии, и вот буквально вчера-сегодня во Франции), огромный снежный ком информации о так называемом gPhone, а также становимся свидетелями бурной реакции потребителей на недавнюю презентацию платформы Android.
Появление покупателей на новом рынке автоматически означает появление рынка программного обеспечения для новой платформы. И это – именно то, что интересует большинство разработчиков, а также инвесторов, которые понимают возможную выгоду первопрохождения.
Так в чём же проблема? Казалось бы – заказчики с удовольствием готовы расстаться со своими деньгами, девелоперы в предвкушении новых неизведанных глубин, но некие неведомые преграды мешают проектам успешно стартовать и завершаться.
А именно:
1. Apple iPhone. Весьма успешный коммерческий продукт – его успешность очевидна уже сейчас. Но разработка приложений под iPhone сопряжена с огромными трудностями:

1.1. На данный момент отсутствует SDK для написания native applications.
1.2. Блокирование телефонов для использования в различных сотовых сетях, отсутствие официальных поставок.

Эти вопросы родились сразу, как только iPhone появился в свободной продаже. Второй пункт практически убивает рынок программного обеспечения для iPhone, ориентированный на страны СНГ и Восточной Европы(а до недавнего времени и Западной), первый же пункт ставит на идее написания приложений для iPhone жирный крест. Но стоит отдать должное руководству компании – они трезво(хоть и поздно) оценили ситуацию. Результатом является планируемый выход SDK в феврале следующего года, т.е. нужно просто ждать. Также можно надеяться на то, что iPhone, шагая по Европе, доберётся когда-нибудь и до стран СНГ – подождём.
2. Google Android. Казалось бы, Google учел все ошибки Apple. Они начинают продвижение своей платформы с публикации SDK, стартуют масштабный конкурс разработок, всячески способствуют созданию новых приложений. Девелоперы довольны открытой Linux-based платформой, будущие пользователи заинтересованы сверх меры, казалось бы – идеальная среда для разработки. Но Google(а точнее, Open Handset Alliance) просчитались с моментом выпуска устройств на платформе Android. Действительно, по уверениям Google, устройства на новой платформе появятся лишь во второй половине 2008 года. Это подтверждается и производителями.
Конечно, в комплекте с SDK поставляется неплохой эмулятор, однако эмуляторы не продаются в магазинах, и эмулятор вряд ли заинтересует возможного заказчика. Также, у данного эмулятора есть несколько существенных недостатков, которые могут блокировать разработку. Например, отсутствует возможность совершать реальные звонки, эмуляция работы в сотовой сети достаточно скудна. То есть, всё также остаётся лишь ждать появления устройств в продаже.

Таким образом, ни та, ни другая платформа окончательно не готова для разработки, несмотря на то, что, например iPhone появился уже 5 месяцев назад. Остаётся лишь ждать и надеяться на улучшения в этой области.

tilarids

Простой редактор GUI для Android

    Вместе с SDK Google предоставила еще и плагин к Eclipse, который весьма помогает в разработке. Однако данный плагин не предоставляет возможности редактировать GUI layouts прямо в Eclipse. Формат Layout файлов (XML) несложен, однако частенько хочется посмотреть, что же получится, если подправить тот или иной параметр. Каждый раз запускать программу в эмуляторе — слишком сложно. В связи с этим меня весьма заинтересовала данная разработка: DroidDraw. Приложение выполнено в виде Java апплета и позволяет быстро и наглядно создавать несложные графические интерфейсы.
Будем надеяться, что приложение будет развиваться. Ну, или хотя бы появятся более функциональные аналоги.

DroidDraw

tilarids

Google будет использовать Dalvik вместо JME в ОС Android

Работая над своей новой открытой платформой для мобильных устройств Android, компания Google пришла к решению отказаться от использования Java Micro Edition (JME) и использовать собственную разработку Dalvik.

Основная причина такого решения заключается в том, что при использовании JME в собственных продуктах, все производители вынуждены покупать лицензию у компании Sun. Применение Dalvik, поможет компании Google не делать этого, что, несомненно, является важным моментом для удешевления своей ОС.

Dalvik представляет собой виртуальную машину, которая способна выполнять байт-код Java, конвертируя его под себя. Для разработчиков приложений предоставляется ПО способное переконвертировать Java-апплет для Dalvik.

Россияне создали 1-ое приложение для Android

Командой разработчиков из России анонсирована, по ее заявлению, самое первое приложение для новой платформы Android от Google.

Android game

Это хорошо известная игра под названием Змейка (Snake). Игра тестировалась на эмуляторе и, по словам разработчиков, должна работать на аппаратах с поддержкой Android (правда, проверить это можно будет лишь в следующем году, когда появятся такие устройства).

Напомним, анонс новой открытой платформы Android на основе ядра Linux состоялся 5 ноября. А SDK (пакет разработчика) для нее, позволяющий создавать приложения, был представлен 14 ноября.