Библиотека сайта rus-linux.net
Послесловие переводчика к статье Jeff Hoogland "Сравниваем системы Maemo и Android"
Н.Ромоданов, июнь 2010 г.
В настоящее время любое описание и сравнение мобильных операционных систем всегда интересно, т. к. мобильные операционные системы, в том числе базирующиеся на Linux, - одна из самых быстроразвивающихся областей IT технологии. Не является исключением и статья Джефа Хугланда (Jeff Hoogland) "Сравниваем системы Maemo и Android".
Конечно, переведенная статья является больше субъективным мнением и, несмотря на то, что она была опубликована в июньском номере (#175) известного электронного издания linuxgazette, она уже требует уточнений. Будущее системы Maemo, при всей расположенности к ней автора статьи, сейчас не столь очевидно по следующей причине.
В феврале 2010 года фирмами Intel и Nokia было принято решение перейти к совместной разработке операционной системы MeeGo, базирующейся на операционных системах Moblin и Maemo. Разработка будет происходить под эгидой фонда Linux Foundation. В конце мая 2010 года вышел первый релиз системы MeeGo, причем только вариант, предназначенный для использования на нетбуках. Вариант, предназначенный для мобильных телефонов, предполагается выпустить несколько позже. Что касается системы Maemo, то, в частности, следующая версия "Maemo 6", будет просто частью системы MeeGo. К настоящему моменту многие фирмы — разработчики аппаратного обеспечения уже заявили о предполагаемой поддержке работы новой операционной системы на своих мобильных (и не мобильных) устройствах. Более того, как было заявлено на конференции Computex в Тайпее (Тайвань, начало июня 2010 года), ряд фирм предполагает создавать свои клоны MeeGo , например, фирма Novell уже анонсировала выпуск своей системы SUSE MeeGo. Но это речь идет о системе MeeGo, которая, возможно, в будущем окажется достойным конкурентом для других операционных систем.
Вернемся к сравнению систем Maemo и Android и рассмотрим их с тех же самых ключевых позиций, что и автор статьи.
Аппаратное обеспечение
Действительно, официально система Maemo работает только на одном устройстве — Nokia N900, а система Android — на целом спектре устройств различных фирм-изготовителей. Причем речь идет не только об аналогичных моделях различных фирм, но и моделях, имеющих различные аппаратные возможности. Например, работа с системой Android поддерживается на устройствах, имеющих джойстик и всего несколько кнопок, а также на устройствах, имеющих клавиатуру, типичную для мобильных устройств или даже мобильный вариант qwerty клавиатуры. Тоже самое относится к размерам экрана и его разрешающей способности. Если в вашем устройстве есть сенсорный дисплей, то система Android будет поддерживать с ним работу.
Особо следует упомянуть о таких аппаратных возможностях, как компас и датчик ориентации устройства в пространстве. Если они есть в конкретном устройстве, система Android поддерживает работу с ними. И, как результат, появляется возможность использовать приложения, базирующиеся на таком современном технологическом понятии, как "дополненная реальность": вы наводите свое устройство на какой-нибудь соседний объект, например, на здание, и можете получить дополнительную информацию об этом объекте, например, сообщение о том, что в этом здании находится некоторый офис, который работает тогда и тогда, либо это здание является памятником архитектуры и вы, если захотите, можете прослушать о нем лекцию. В Nokia N900 такие аппаратные возможности отсутствуют.
Мобильный компьютер
Что же касается отличий систем Maemo и Android как операционных платформ, реализующих возможности мобильного компьютера, то разница обуславливается различием их архитектуры.
Maemo является Linux системой, созданной на базе Debian GNU/Linux и приспособленной для работы с мобильными устройствами. Поэтому Maemo так похожа по своим функциональным возможностям на типичные системы Linux.
Система Android, с другой стороны, создавалась как система, ориентированная, главным образом, для использования Java приложений. Причем, не приложений Java ME, которые в настоящий момент можно использовать практически на всех мобильных устройствах, а полноценных приложений Java SE. Для того, чтобы хватило аппаратных ресурсов, которых в мобильных устройства всегда недостаточно, реализация Java платформы в системе Android была выполнена не совсем так, как это делается обычно. Была использована виртуальная машина Dalvik, использующая регистры (вместо обычного стека java, на поддержку с которым всегда тратится достаточно много ресурсов). В системе поддерживается вытесняющая многозадачность, в которой вытесняемыми объектами являются отдельные модули, из которых строятся приложения, а не сами приложения, задачи или задания. Интерфейс этих модулей настолько стандартизирован, что если в каком-либо приложении уже есть модуль, который нужен в вашем приложении, вы без труда можете им воспользоваться. Такой подход позволяет очень сильно экономить ресурсы устройств.
Вся эта сложная и строгая архитектура системы Android базируется на модифицированном ядре Linux. Т.е. система Android — это, конечно, Linux система, но сильно отличающаяся от типичных систем Linux. Именно поэтому отсутствуют система доступа к репозитариям и другие удобные и проверенные на практике возможности, которые обычно имеются в Linux.
Телефон
Система Android сразу разрабатывалась как система для телефонов и смартфонов. Поэтому в ней была предусмотрена возможность использовать устройство в различных вариантах ориентации (портретная или альбомная ориентация дисплея), приостанавливать работу приложения (точнее говоря — одного или нескольких модулей приложения) в случае, если происходит событие, имеющее более высокий приоритет, например, поступает телефонный вызов. Система Android изначально была предназначена для работы с SMS, MMS и другими телефонными и сетевыми сервисами, но конкретные варианты выдачи сообщений, предупреждений и т. п., на которые указывает автор статьи, относятся к прерогативе конкретных приложений, а не самой операционной системы. Конечно, первоначальные варианты приложений, в том числе и используемых по умолчанию, не всегда могут соответствовать ожиданиям пользователей, но, благодаря тому, что есть возможность загрузить приложение из электронного магазина Android, можно попытаться подобрать более удобное приложение, предназначенное для работы с SMS, MMS и другими телефонными и сетевыми сервисами.
Приложения
Что касается приложений, доступных для использования под системами Maemo и Android, то в этом вопросе нельзя точно сказать, какая из систем лучше и насколько она лучше. С одной стороны, система Android в своем электронном магазине имеет существенно большее количество приложений в сравнении с электронным магазином для системы Maemo, но, согласно форумам и блогам пользователей, очень часто бывает, что этого все еще оказывается недостаточно — иногда под Android невозможно найти приложение, полностью отвечающее конкретным пожеланиям пользователя. В системе Android для загрузки приложений есть только один вариант — электронный магазин и, если в нем нет того, что вам нужно, искать что-нибудь другое на просторах интернета будет бесполезно.
Кроме того, в системе Android все приложения и все данные, в том числе и мультимедийные, обладающие большим собственным объемом, могут размещаться только на карточке памяти. Это, конечно, может оказаться существенным минусом для пользователей, которые любят, например, слушать музыку или фотографировать и хотят всегда иметь большое количество любимых мультимедийных файлов в своем устройстве.
В системе Maemo, с другой стороны, есть еще вариант загрузки из репозитариев, а поскольку можно пользоваться не только репозитариями, указанными в системе по умолчанию, то возможности по поиску и выбору необходимого приложения существенно выше. Самое главное, чтобы приложение, которое вы найдете, было приспособлено для работы на мобильном устройстве.
Использование интернета
Трудно также сравнивать системы Maemo и Android с точки зрения их использования как средства доступа к сети интернет. Конечно, система Android, с ее ориентированностью на использование сетевых сервисов, в том числе и сервисов Google, имеет больше перспектив, поскольку некоторые проектные решения уже "зашиты" в операционной системе на концептуальном уровне. В частности, в самой архитектуре системы предусмотрена возможность работать с приложениями - сервисами, контент провайдерами и специальными приложениями (Broadcast receivers), назначение которых — только принимать сообщения об определенных событиях, происшедших либо в самом устройстве, либо в мировой сети. Для использования всех этих возможностей в полной мере и самым удобным образом требуются специальные приложения, которые не всегда таковы, как это ожидают пользователи. Кроме того, некоторые из таких приложений могут в настоящее время вообще отсутствовать. Системные возможности многих настроек лежат, к сожалению, в глубине самой системы и это часто бывает неудобно для продвинутых пользователей. Но с другой стороны если пользователь является новичком, он не отключит ту или иную настройку случайным образом. В системе Maemo, как и во многих других системах Linux, ситуация диаметрально противоположна. Многие из этих настроек в некотором смысле "ближе к поверхности" — уже есть приложения, позволяющие управлять той или иной возможностью системы, например, через ярлычок быстрого доступа, находящийся в системном трее, либо можно просто поместить пиктограмму приложения, облегчающего настройки, на рабочий стол системы
Что касается же касается самих средств доступа к контенту сети — браузерам, почтовым клиентам, клиентам RSS, ICQ и другим — то у некоторых из них есть варианты, работающие в обоих операционных системах. И в этом случае их возможности и удобство их использования реализуются разработчиками в рамках самого приложения, а не операционной системы. Конечно есть приложения, у которых нет версии, работающей на другой системе. Но, скорее всего, это дело времени. Если приложение удобное и полезное, отсутствующая версия рано или поздно появится.
Заключение
Если подытожить общую оценку, то в настоящий момент система Android выглядит интереснее в сравнении с системой Maemo. Но что касается потребительских качеств, то трудно отдать предпочтение какой-либо из этих двух операционных систем. Система Android, конечно, может работать на очень большом количестве устройств, причем можно выбрать не только максимально функциональное и, поэтому, достаточно дорогое устройство, но и недорогое устройство с достаточно хорошим набором возможностей. Но система Android имеет существенное ограничение, связанное с единственностью источника, откуда можно загружать приложения, и второе существенное ограничение, касающееся того, что пользователю для приложений и для хранения его данных предоставлен достаточно ограниченная память, определяемая только размером карточки памяти. К тому же система Android, с ее не всегда доступными и настройками, может быть более "прожорливой" и потреблять больше сетевых ресурсов. В системе Maemo, наоборот, благодаря удобству доступа к различным настройкам, можно пользоваться сетевыми ресурсами более аккуратно. Эта особенность системы Maemo может оказаться весьма существенной в случае, если владелец мобильного устройства живет не в современном мегаполисе, а в тех местах, где доступ к мобильным сетевым ресурсам ограничен или достаточно дорог.