Android: альтернатива от Google

Практически во всех сферах человеческой деятельности есть возможность выбора из нескольких вариантов. Возможность эта делает нашу жизнь богаче и интереснее. Возьмём, к примеру, мобильные телефоны. Представьте, что в магазинах лежали бы только 3-4 модели. Скажете, что сейчас это нереально? И будете правы. Благодаря конкуренции производителей мы имеем возможность выбирать из сотен моделей с разными функциями и в разных ценовых категориях.

Несмотря на всё многообразие моделей, можно чётко выделить две категории: собственно мобильные телефоны и смартфоны-коммуникаторы. Первые характеризуются закрытой программной архитектурой и отсутствием операционной системы (в привычном понимании). Такое утверждение весьма условно, но в рамках данной статьи оно верно. Смартфоны-коммуникаторы (сейчас я не разделяю эти понятия и буду в дальнейшем употреблять слово «коммуникатор») по своей природе карманные компьютеры с коммуникационными возможностями. Они обладают всеми чертами больших компьютеров, в том числе и операционными системами, которые позволяют пользователю ставить различные программы, расширяющие возможности этих устройств практически до бесконечности.

Посторонним вход воспрещен?
На данный момент сложилась ситуация, когда производители в своих аппаратах используют в основном две операционные системы. Symbian — прямая наследница ОС Epox от неоднократно упоминавшейся на страницах «МБ» компании Psion (да-да, той самой, что копирует Mac’и. — Прим. ред.). Используется в коммуникаторах Nokia, а её модернизированная версия — в аппаратах Sony Eriсsson. Windows Mobile — разработка известной во всех кругах корпорации Microsoft. Что бы ни утверждали злые языки, но ОС получилась весьма удачной. Аппараты на её базе выпускает огромное количество фирм. Особняком среди этой массы весьма похожих друг на друга устройств стоят КПК и смартфоны с ОС Linux на борту, например, так и не ставшие популярными аппараты от Sharp и Motorola, выпускавшиеся в начале этого века. Лишь компания Apple с её уже легендарным iPhone смогла переломить ситуацию.
Казалось бы, внутри этого рынка места для новичков нет. Всё давно поделено между монстрами Nokia и Microsoft. Любого, кто осмелится зайти на эту территорию, тут же растопчут. Но случай с iPhone доказал: это не так. Секрет успеха — в правильной маркетинговой политике. Нельзя сказать, что это хорошо, когда мы выбираем товар по степени раскрученности, а не по его реальным достоинствам. Однако это уже другая тема…

Как рождаются Android’ы
Родителем новой платформы для мобильных устройств стала знаменитая, но ранее весьма далекая от мира сотовой связи компания Google. 27 сентября 1998 года, когда поисковик появился на свет, никто не мог и предположить, что всего через три года проект станет крупнейшим в мире, а ещё через несколько лет перерастёт из поисковой машины в крупнейший в мире интернет-портал с десятками разнообразных сервисов, охватывающих практически все сферы применения Всемирной Паутины. Построив свою империю в виртуальном пространстве, Google стал влиять и на реальное. В частности, это одна из первых компаний, начавших широко использовать IP-телефонию, ТВ и радио. Более того, её девиз «Связь между людьми должна быть бесплатной» ничего, кроме симпатии, вызвать не может.
Так что нет ничего странного, что в борьбе за жизненное пространство корпорация обратила внимание на постоянно растущий рынок сотовой связи. Резонно рассудив, что её активы позволяют на равных играть с Microsoft и альянсом Symbian, Google бросила им вызов.
Началось всё в далеком уже 2003 году, когда отцы-основатели Google Лари Пейдж и Сергей Брин сделали первые абстрактные наброски будущей операционной системы. Почти четыре года идея «дозревала» в головах разработчиков и лабораториях компании. И вот 5 ноября 2007 года проект был представлен широкой публике. Более того, представлен был не только сам проект, который назвали «Android» , но и сформированный под него альянс Open Handset Alliance (OHA), куда вошли такие известные компании, как T-Mobile, Sprint Nextel, KDDI, NTT DoCoMo, China Mobile, Broadcom, Intel, Marvell, NVIDIA, Qualcomm, SiRF, Texas Instruments, HTC, LG, Motorola, Samsung Electronics.

Что внутри?
В детстве все мы любили разбирать игрушки и вещи, оставленные без присмотра. Лично я не могу сосчитать будильников, павших жертвами моего любопытства. Это происходит потому, что у человека есть одна прекрасная страсть — страсть к знаниям. Большинству из нас до сих пор интересны вопросы: а что внутри, как это работает и для чего вот эта кнопка? Для таких любопытных вкратце поведаем об устройстве Android’а.
Герой нашего рассказа — это прежде всего платформа для различных мобильных устройств: смартфонов, коммуникаторов, веб-планшетов и портативных медиа-плееров. Проще говоря, операционная система. По заявлениям разработчиков, её архитектура основана на ядре Linux версии 2.6. Как и ядро любой другой ОС, ядро Android отвечает за различные системные службы, управление безопасностью, памятью, процессами, сетевым стеком и моделью драйверов. Интересная особенность: Android не имеет привычного по настольным вариантам X-сервера, а графическая оболочка оперирует непосредственно с FrameBuffer Device.
На следующем уровне системы находятся библиотеки libc, написанные на C/C++ и используемые в одном из вариантов BSD. Как утверждают в Google, эти библиотеки существенно изменены и идеально подходят для новой ОС.
Графическая подсистема представлена 2D-движком SGL с растеризатором шрифтов FreeType, 3D-библиотекой, отвечающей за OpenGL (ES 1.0 API), а также менеджером поверхностей Surface Manager, который управляет отображением 2D- и 3D-графических слоев. Обеспечивается поддержка аппаратных 3D-ускорителей фирм nVidia и ATI. В медиа-библиотеку, основанную на OpenCORE, встроена поддержка аудиовидеоформатов и кодеков MPEG4, H.264, MP3, WMA, WAV, AAC, AMR, JPG, PNG, GIF. В каждом приложении допускается одновременная работа 2D- и 3D-функций ускорителя.
Движок встроенного web-браузера являет собой библиотеку WebKit, ту самую, что использует Apple в популярном браузере Safari (а сама Google — в недавно вышедшем Chrome). К сожалению, в текущей версии он не поддерживает Flash-технологии.
Верхний «этаж» системы — Application Framework (уровень приложений). Это та часть системы, которая находится в совместном пользовании всех приложений, некий аналог механизмов OLE и буфера обмена Windows. Все приложения могут обмениваться своими данными с системой и между собой: например, можно послать данные о текущих координатах с GPS-приёмника на фотокамеру аппарата для включения их в снимок, а потом стразу направить полученное фото в почтовый клиент. Интересной особенностью системы является то, что не делается никаких различий между сторонними и системными приложениями. Теоретически можно заменить любое системное приложение (рабочий стол, почтовый клиент, номеронабиратель, браузер) альтернативным. Как это будет реализовано на практике — скоро увидим.
И наконец, рассмотрим самый важный для простого пользователя уровень Android — Runtime, который представляет собою виртуальную Java-машину Dalvik. Да-да, именно так: для рядового пользователя Android выглядит набором скоординированных между собой Java-приложений, выполняющих свои задачи. Таким образом, пользователю предлагается работать не с самой Linux, которая достаточно глубоко спрятана от любопытных глаз (и от «очумелых» рук), а с Java-машиной, как практически на всех обычных современных телефонах. Правда, эта Java-машина поддерживает многозадачность и все основные функции ОС, но факт остается фактом — формально потенциальное великолепие Linux служит лишь для запуска слегка модифицированных Java-мидлетов. Может быть, это и правильно.
ОС Android оптимизирована для работы на процессорах RISC-архитектуры. К таковым относятся процессоры ARM11 (ARMv5TE) и OMAP компании Texas Instruments, которые применяются во всех выпускаемых ранее и современных аппаратах. Подтверждением такой «всеядности» служат проверенные сообщения о том, что, когда в руки энтузиастов попали первые образцы системы, она практически сразу же была портирована на весьма старые устройства Nokia N810 и Qtek 9090.
В рамках этой публикации я намеренно не привожу описания недавно выпущенных гаджетов, работающих под управлением Android. Как вы понимаете, это тема отдельных статей, а у редакции «МБ» ещё будет возможность протестировать их «вживую».

Там, за туманами
Как известно, будущее любой новой технологии при её рождении покрыто мраком неизвестности и зависит от многих факторов, действие которых нельзя предугадать. Внимательный читатель, просмотрев описание Android, скажет, что где-то он уже видел нечто подобное. И окажется прав. Android очень похожа на своего главного конкурента — платформу iPhone. И не удивительно, ведь оба соперника разработаны практически на одной и той же основе. Только у iPhone есть огромная фора в виде двух лет выпуска реального аппарата, уже ставшего культовым. Несомненно, разработчикам из Google & Co надо приложить титанические усилия, чтобы их детище заметили. Для этого важно, чтобы оно обладало какими-то уникальными свойствами. А их-то пока и не наблюдается. Сейчас необходимо сделать все, чтобы новинкой заинтересовались разработчики прикладного ПО. Иначе никакие усилия альянса не смогут поддержать жизнь проекта. Время покажет...

При написании статьи использованы материалы сайтов code.google.com, wiki.linuxphone.ru, androidcommunity.com, googlephones.ru, android-phones.ru, www.google-phone.ru и android-os.ru.


Рекомендуем почитать: