Мобильные Linux-платформы: Google Android
В конце 2007 года компания Google впервые объявила о начале работ по созданию платформы для мобильных устройств на основе GNU/Linux. Одновременно с этим поисковый гигант организовал бизнес-альянс для разработки мобильных стандартов и ОС Android. В Open Handset Alliance (OHA) вошли производители телефонов, разработчики ПО, поставщики чипов и даже некоторые операторы связи. Среди членов альянса можно увидеть таких «китов», как HTC, Intel, Motorola, Qualcomm, Samsung, LG, T-Mobile, Nvidia, Wind River Systems и, разумеется, корпорацию Google, являющуюся бессменным лидером организации. В августе 2008 года OHA выпустил бета-версию платформы, максимально приближенную к финальному варианту, а первый стабильный релиз Android 1.0 состоялся в октябре, тогда же появился полноценный инструментарий разработчика — SDK 1.0, Release 1. Незадолго до этого компания HTC анонсировала телефон, работающий под управлением Android — знаменитый HTC Dream. Новинка продавалась только с контрактом американского оператора связи и получила официальное имя T-Mobile G1.
Следующей важной вехой в развитии операционной системы стал выход Android 1.5 в апреле 2009 года. На этой версии будет основано встроенное ПО первых «гуглофонов» — Highscreen PP5420, Samsung Galaxy (i7500) и HTC Hero.
Архитектура системы
Google Android основывается на ядре GNU/Linux версии 2.6 и представляет собой программный стек, включающий операционную систему, ПО промежуточного слоя (библиотеки), и основные пользовательские приложения. Ядро Linux занимается управлением памятью, процессами, безопасностью, а также включает драйверы устройств и сетевую подсистему. Кроме того, ядро системы обеспечивает взаимодействие остальной части программного стека с аппаратными ресурсами.
Архитектура Google Android
Следующий уровень — библиотеки, написанные на C/C++. Они обеспечивают поддержку основных форматов файлов, мультимедийных кодеков, алгоритмов шифрования (например SSL) и т.д. Очень важной библиотекой является «движок» встроенного браузера — LibWebCore (WebKit). Продуманный и функционально насыщенный браузер является одним из ключевых преимуществ Android перед Symbian и Windows Mobile.
Отдельного упоминания заслуживает среда исполнения Android Runtime, включающая нестандартную виртуальную Java-машину Dalvik и набор основных библиотек Core Libraries, написанных на Java.
Этажом выше «живет» Application Framework. Он дает приложениям возможность использовать функционал других приложений и компонентов системы. Здесь находятся менеджеры ресурсов (такие, как менеджер окон и менеджер оповещений), а также некоторые важные службы, например, контент-провайдеры (Content Providers), обеспечивающие обмен данными между приложениями.
Самый верхний уровень программного стека — пользовательские приложения. Первоначально, программы для Android писали только на Java, но недавно разработчикам было «высочайше дозволено» использовать C/C++. Кроме того, в Google создали еще один язык программирования для разработки Android-приложений — Simple. Он построен на BASIC и основан на модулях, позволяющих разрабатывать программы даже неспециалистам.
Итак, что же такое Android? Если отвлечься от ненужных пользователям подробностей — он представляет собой ядро Linux, виртуальную машину Dalvik и некоторое количество Java-приложений. Преимущества платформы очевидны — удобный и современный интерфейс, открытость и отсутствие необходимости лицензионных отчислений, а также простота разработки приложений. Все это делает ее очень привлекательной для производителей устройств и конечных пользователей. Кроме того, в октябре 2008 года Google запускает онлайн-магазин Android Market. Больше всего этот сервис напоминает AppStore компании Apple — с его помощью автор может продать (или раздать пользователям бесплатно) свою разработку. Наличие единой универсальной среды распространения программ тоже является одним из серьезных преимуществ платформы. Само собой, каждый смартфон с программной платформой от Google в базовой прошивке содержит удобное приложение для доступа к Android Market.
Интерфейс Android
После запуска системы пользователь увидит рабочий стол с ярлыками (Home), панель статуса, в которой отображается служебная информация и кнопку запуска приложений. Вид рабочего стола наглядно показан на рисунке.
Рабочий стол Google Android (система запущена через эмулятор SDK 1.5)
Управлять телефоном можно кнопками на панели, кроме того, Android поддерживает работу с тачскрином. Если нажать на серую кнопку в нижней части экрана, появится окно со списком установленных в системе приложений.
Окно запуска установленных приложений
Десктоп гибко настраивается — пользователь может менять обои, а также добавлять на него ярлыки и мини-приложения (виджеты). Вообще, рассказывать об интерфейсе системы, запуская ее в эмуляторе — занятие неблагодарное. Мы уже публиковали обзоры и превью первых «гуглофонов», из которых можно узнать, как это выглядит на самом деле. Напомним, что рабочий стол состоит из трех станиц, которые можно настраивать по отдельности. Переключение между ними осуществляется пальцевыми жестами: слева направо и справа налево.
Говоря о преимуществах Android, стоит упомянуть открытость платформы и простоту разработки приложений для нее. Понять, что это дает конечному пользователю, можно на примере нового интерфейса Sense (он используется в «гуглофонах» от HTC, в частности, в модели Hero). Компания очень серьезно доработала Android для своих устройств, сосредоточив усилия на создании эргономичного, интуитивно понятного интерфейса, а также на возможностях кастомизации. Не забыли в HTC и о привлекательном дизайне — Sense активно использует технологию Adobe Flash и сравнить его внешний вид можно только с продуктами Apple. Совсем скоро российские потребители смогут оценить все преимущества разработки HTC в новом телефоне Hero.
Конечно, Android не состоит из одних только преимуществ. Хотя единственный, на мой взгляд, его недостаток — довольно высокие требования к железу, вполне естественные для разработки, активно использующей Java. В общем, в ближайшее время Android на бюджетных телефонах мы не увидим. Исключением из этого правила мог стать Samsung Galaxy (i7500), однако в момент подготовки материала была объявлена стоимость, по которой он начнет продаваться в сентябре – 25 тысяч рублей. Впрочем, со временем Android-смартфоны будут дешеветь. HTC планирует к выпуску модель Click, которая будет стоить около 300 долларов. Появление подобных решений заметно ускорит рост популярности Android.
Однако Google не собирается ограничиваться только телефонным рынком и планирует продвигать платформу в сегменте нетбуков.
Что нового?
Пожалуй, стоит сказать несколько слов о нововведениях в последней стабильной версии 1.5 (Cupcake) и ожидаемой прошивке 2.0 (Donut). Итак, что нового появилось в Android 1.5 и почему этот релиз считается таким важным? Изменений множество, а наиболее важными из них являются:
- поддержка встроенной экранной клавиатуры и новый API для разработки альтернативных экранных клавиатур;
- поддержка Bluetooth-профилей A2DP и AVRCP (стереозвук);
- поддержка записи видео со встроенной камеры и работы в роли диктофона.
В Android 1.5 реализован важный функционал, которого не хватало в предыдущих версиях (и который производителям первых «гуглофонов» приходилось добавлять самостоятельно). Особенно это критично для небольших компаний — они не могут, как HTC, вкладывать значительные средства в разработку ПО и планируют выпускать телефоны с «чистым» Android. Неудивительно, что после выхода этой версии количество анонсов в Сети резко возросло. Не остались в стороне даже российские производители: по неподтвержденным официально данным, компания Rover Computers готовит свой первый Android-коммуникатор — RoverPC Twin.
Следующим крупным релизом станет Android 2.0. На данный момент эта версия еще «сырая», многие из заявленных функций пока не работают. Тем не менее, стоит отметить заявленную поддержку multi touch на уровне системы (в Sense мультитач работает уже сейчас, но это собственное дополнение HTC). Есть и другие важные новшества, например, система синтеза речи, унифицированный поиск по сети и документам, автоматическое резервное копирование данных и поддержка VPN.
В общем — платформа развивается быстрыми темпами. И хотя «гуглофонов» на рынке пока очень мало — операционная система от Google заслуженно считается наиболее перспективной. Между прочим, Google и OHA не будут ограничиваться смартфонами – в скором времени Android дебютирует в сегменте нетбуков. Конкуренты тоже не стоят на месте и Android — далеко не единственная Linux-платформа, активно осваивающая рынок. Кроме того, компания Apple тоже готовит к выпуску ультра-мобильный компьютер, который может составить серьезную конкуренцию нетбучной версии Android.
Конкуренты
Не знаю, стоит ли сравнивать Android с лидерами рынка — Symbian и Windows Mobile. Если судить по количеству представленных в магазинах моделей, новой платформе еще далеко до «старичков». Если взять в руки, скажем, HTC Hero с интерфейсом Sense — использовать Symbian или WM уже не хочется. Кстати, Nokia сейчас планирует перевод на Linux всей своей флагманской линейки. Вероятно, компания будет использовать систему собственной разработки, однако возможность выпуска «гуглофонов» Nokia не исключается. По словам руководителя британского подразделения Nokia Саймона Айнслайя, переговоры с Google на эту тему уже ведутся.
Осталось посмотреть на другие мобильные Linux-платформы: из всего представленного «зоопарка» я бы выделил два перспективных проекта: Maemo и Moblin.
Первый создан корпорацией Nokia для собственных интернет-планшетов. Притом финны недавно купили компанию Trolltech, разрабатывающую кросс-платформенный фреймворк Qt (теперь дочерняя компания Nokia называется Qt Software), и планируют активно использовать ее наработки в Maemo. Кроме того, следующая модель интернет-планшета Nokia N900 будет работать в сетях GSM и 3G. А значит, в Maemo появится «телефонный» функционал и она вполне может стать флагманской платформой финского гиганта. Таким образом, один «альтернативный» конкурент у платформы Google уже есть, причем именно в том сегменте, который является для Android основным. Чем закончится их противостояние, предсказать пока сложно, скорее всего — обе платформы найдут свою рыночную нишу.
Maemo на Интернет-планшете Nokia N810
Операционная система Moblin создана корпорацией Intel и предназначена для нетбуков и MID с процессорами Intel Atom. Появление прототипов устройств с Moblin 2.0 на борту произвело настоящий фурор на выставке Computex 2009. Сможет ли Moblin конкурировать с Android? На рынке нетбуков — вполне. Однако, если учесть, что Android ориентирован в основном на телефоны, две разработки прекрасно «уживутся» друг с другом. Делать более конкретные прогнозы пока рано — гадание на кофейной гуще мы оставим аналитикам.
Скриншот Moblin 2.0
Больше систем, хороших и разных
Итак, мы рассказали об истории создания и архитектуре перспективной мобильной платформы Android. Упомянули ее возможных конкурентов и даже попытались сделать кое-какие прогнозы. Конечно, долгосрочные перспективы пока туманны. Но тот факт, что в ближайшие несколько лет начнется активный передел рынка «мобильного» ПО, сомнений не вызывает. Вполне естественно — появились новые классы устройств (смартбуки и более компактные гибриды смартфонов и ноутбуков), да и телефоны с коммуникаторами стали гораздо более функциональными. Сегодня рынок требует нового ПО, и оно появляется. В следующих статьях мы подробно рассмотрим упомянутые здесь Moblin и Maemo, а также расскажем о совместных проектах конкурирующих корпораций.
Обсудить Anrdoid на форуме