- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF106:Что за штука
Материал из Linuxformat.
Что за штука… Android?
- Похоже, далеко-не-параноик Грэм Моррисон предпочтёт мобильный Linux-телефон от Google персональному тестеру на «андроидность».
- Почему-то слово «андроид» у меня ассоциируется с опасностью…
Не только для вас. Это оттого, что в нежном возрасте «Автостопом по Галактике» читали. Крепкая смесь гормонов и подростковой впечатлительности навсегда связали с модным словом тревогу и депрессию.
Android, о котором пойдёт речь, призван приносить людям радость. Это новая ОС для мобильных телефонов, которую разрабатывают хорошие парни из Google. Костяк новой системы – Linux. Это означает, что, пережив 10 лет владычества закрытых ОС на мобильном рынке, мы наконец-то обретём свободу.
- Слухи подтверждаются… Значит, Google работает над мистическим gPhone?
На самом деле, нет. Слухи породила утечка информации о проекте Android. Во время официального представления проекта в ноябре прошлого года Энди Рубин [Andy Rubin], директор Google по мобильным платформам, твёрдо заявил, что Google не намерен выпускать gPhone. Он сказал следующее: «Проект Android более широк и амбициозен, чем разработка единственного сотового телефона. Мы надеемся, что Android станет основой для многих новых телефонов, он создаст новую концепцию мобильного телефона, новые приложения и новые возможности, которые сегодня трудно даже представить».
Нельзя утверждать, что gPhone не будет никогда, но, учитывая количество производителей мобильных телефонов, вовлечённых в проект, это маловероятно. HTC, тайваньский производитель телефонов на Windows Mobile, пообещал представить новую модель на базе Android уже в конце нынешнего года – и Google не планирует подавлять подобные инициативы.
- А почему производители сотовых телефонов должны вдруг забросить существующие ОС и перейти на новую?
Преимущества открытой платформы очевидны, а прототипы Android показывают, что интерфейс весьма неплох (кое-кто считает его похожим на iPhone). Android использует OpenGL, поэтому окна плавно исчезают с экрана и появляются снова, прокрутка гладкая и без рывков. Для большинства из нас это – новое слово в мобильных технологиях. Видимо, производители сотовых телефонов искали пути соперничества с iPhone, а тут и Google подсуетился. Но слово «открытый» в концепции Android позиционируется как ключевое.
- Помнится, не так давно Google приобрёл компанию под названием Android?
Было дело. Именно там и работал Энди Рубин перед слиянием. Вместе с Ником Сирсом [Nick Sears] он был со-основателем Android. Компаньонов не устраивали временные и трудозатраты, необходимые на разработку ПО для мобильных телефонов, и они решили, что недостающее звено – открытая платформа. «Open Source – это здорово, это свобода выбора. Это позволяет людям осуществлять свои планы», – присказка Стива Горовица [Steve Horowitz], технического директора Android. Похоже, что главное достоинство Android – свобода; создание стека программ, который возвратил бы контроль владельцу устройства и компаниям, вовлечённым в сферу мобильных технологий (от производителей чипов до операторов).
- Так значит, Android – это только для разработчиков?
Изначально, да. До тех пор, пока не будет создано работающее устройство. Всё это время единственными людьми, которые что-то получат от Google, будут программисты. Они могут загрузить тестовую версию вместе с API и начать разработку приложений для платформы Android прямо сейчас. Собственно, многие уже приступили к этому, и все сходятся на том, что Google затеял Большое Дело.
Но Google работает не в одиночку. Поддержка идёт со стороны Open Handset Alliance, чья единственная задача – разработка единых открытых стандартов для мобильных устройств. HTC – только один из членов союза, а входят в него и Motorola, и Samsung, и T-Mobile, и даже Nvidia.
- Способен ли союз удержать Google на правильном пути?
Трудно сказать, ведь его образование было вдохновлено Google и произошло одновременно с запуском проекта Android. Но при таком количестве солидных партнёров вероятность выработки единого открытого стандарта для мобильных устройств весьма высока.
Слегка беспокоит вопрос лицензирования. Google обещает использовать открытые лицензии для «большей части» комплекса; конкретно, выбор пал на Apache v2. Последняя обычно используется фирмами, которые хотят оставить некоторые части кода проприетарными, но пока трудно сказать, что именно Google решил припасти «для себя». Пока что Google выпустил только ядро, но здесь не было особого выбора, поскольку оно распространяется на условиях GPL.
- Ясно, ядро Linux в проекте есть. А какое ещё ПО войдёт в проект Android?
Войдёт всё, что необходимо для обеспечения базовой функциональности мобильного телефона. Основа основ – ядро 2.6, которое играет ту же роль, что в любом ПК. Слоем выше расположено нечто под названием Android Runtime. Это параноидальная надстройка, которая будет защищать ядро от возможного повреждения со стороны остальных частей системы (например, ошибочного кода или вирусов). Поверх Android Runtime выполняются библиотеки C/C++, обеспечивающие функциональность, которая должна сделать платформу привлекательной для разработчиков.
Библиотеки обеспечивают воспроизведение медиафайлов MPEG4, H.264, MP3, AAC, AMR, JPG и PNG; 2D и 3D-преобразования для пользовательского GUI; движок баз данных SQLite и отображение web-страниц через WebKit. Программисты получают доступ ко всем этим функциям через каркасы приложений.
- А что помешает разработать программу, которая может испортить Android и мобильный телефон?
На это есть Android Runtime. Эта надстройка защищает ядро, запуская посторонние программы в виртуальной машине, точно так же как Java Virtual Machine защищает операционную систему от нежелательного воздействия Java-программ. Виртуальная машина Android совместима с файлами классов Java, и, после преобразования, выполняемого на этапе компиляции, способна выполнять их напрямую. Базовая функциональность Android обеспечивается библиотеками Java. Значит, фактически Android основан на Java, с поддержкой обширного подмножества Java Standard Edition 5. Это означает также, что Java будет принципиальной средой разработки для проекта. В отличие от Apple, разделившей API iPhone на две части: внутреннюю и для сторонних разработчиков, Google сделает API проекта Android общедоступным. Собственные приложения Google не получат секретного выхода на скрытые функции системы.
- Разве Java не отпугнет от проекта кучу людей?
Да, неоспоримая медлительность Java была причиной многих споров. Но зато это общеизвестная и испытанная технология. Создав собственную виртуальную машину, Google попытался повысить производительность Java на целевой платформе. А чипсет MSM, поддерживаемый проектом Android, имеет аппаратное ускорение Java, поэтому на сей счет волноваться не стоит.
Кроме того, использование Java позволяет обойти вопрос аппаратной совместимости. Например, в Symbian OS программы компилируются только для той платформы, на которой они будут работать. Невозможно, например, просто загрузить приложение стороннего разработчика для Symbian и ожидать, что оно запустится. Как правило, для этого необходима именно та версия системы и, в большинстве случаев, именно та модель телефона, для которых была скомпилирована программа. Запуск ПО в виртуальной машине делает излишней заботу об аппаратной части устройства – виртуальная машина возьмёт её на себя. Это значит, что любое приложение для платформы Android сможет работать на любом телефоне проекта, а спецификация гарантирует наличие необходимой аппаратной поддержки для обеспечения функциональности ПО.
- Значит, первый телефон появится уже не на пустом месте?
Новый API достаточно прост в использовании, а для создания приложений не нужен даже сотовый телефон. В комплект разработчика входит эмулятор Android – полноценный телефон на экране монитора, с действующей клавиатурой – который программист может использовать для проверки внешнего вида и логики работы своих приложений. Телефоны-прототипы демонстрируют музыкальные плейеры, интегрируются с Google Mail, оснащаются web-браузерами и другими приложениями. Кроме того, Google, стимулируя разработку, спонсирует конкурс Android Developer Challenge. Разработчики должны были представить идеи своих приложений не позднее середины апреля. 50 лучших участников поощряются грантами в $25 000 на реализацию идеи. Награда победителя второго этапа составит уже $275 000.
Перечень направлений, в которых Google ожидает свежих идей, даёт нам представление о его собственном видении проекта. Требуется работа с социальными сетями, новостями, медиа-контентом, игры, геопозиционирование и программы гуманитарного толка.
- А как это повлияет на прочие открытые мобильные проекты, например, OpenMoko?
У проекта OpenMoko очень похожие цели, но далеко не столь крупные ресурсы. Есть и другое различие между проектами. Главной задачей OpenMoko провозглашена разработка ПО целиком в рамках лицензий GPL/LGPL, тогда как позиция Google пока не до конца ясна. Намечается разделение сил, ведь многие хакеры и приверженцы свободного ПО пойдут за проектом OpenMoko, а те, кто просто хочет получить удобный и полезный Linux-интерфейс для мобильных телефонов, скорее всего, примкнут к проекту Android. Будем надеяться, что оба течения будут мирно сосуществовать.
- Как всегда, вопрос о подробностях.
Последние новости проекта Android и Open Handset Alliance можно узнать на сайтах http://code.google.com/android/index.html и http://www.openhandsetalliance.com. LXF