Усльшав фразу «мобильная операционная система», большиниство людей вспоминают об Апdгоid, iOS, Windows Рhопе, а не-которые даже пускают скупую слезу по Symbian. Тем не менее,кроме этой «большой тройки», в мире существует множество других, горазд0 менее известных и разрекламированных м0бильных ОС. Некоторые из них заслуживают особого внимания.
После бума Арр Store и Google Play стало очевидно, что успешность мобильной ОС определяется не только и не столько ее интерфейсом и функциональностью, сколько развитостью экосистемы вокруг нее. Сколько приложений доступно для этой платформы? Доступны ли знаменитые игры, реализована ли поддержка популярных веб-сервисов?И оказалось, что любой новый игрок на рынке сталкивается с замкнутым кругом. Разработчики не будут писать программы для непопулярной платформы, а без них новая ОС не сможет достучаться для пользователей.
Все ОС в данном обзоре решают эту проблему схожим образом — делая ставку на веб-технологии. Все описанные платформы пытаются найти способ связать между собой веб-приложения с железом реального смартфона или планшета и друг с другом.
Почему именно веб-технологии? Идея довольно проста: чтобы сделать клиент вашей социальной сети или другого сервиса для нашей ОС, вы сможете воспользоваться технологиями, на которых уже работает ваш продукт, включая разнообразные расширения к HTML5, CSS3, SVG и JavaScript. Кроме того, делается ставка на то, что новым разработчикам будет проще работать с этими технологиями, чем учить специфическую разновидность Java или совсем экзотичный язык вроде Objective-C.
Сразу стоит заметить, что по этому пути идут не только новички, но и достаточно известные ОС, потерявшие популярность в результате революции приложений. Ha HTML5 делает ставку Windows 8 (планшетная версия] и BlackBerry OS 10 — поэтому операционных систем с развитыми платформами для нативных приложений остается совсем мало.
Но выигрывают пока именно они. Почему так происходит?
Начать обзор я хотел бы с MeeGo — возможно, последней попытки сделать традиционную мобильную ОС. Именно ее судьба и стала уроком для всех остальных персонажей этой истории. Операционная система с хорошей технической базой и поддержкой крупных компаний оказалась бессильна перед натиском iOS и Android именно из-за отсутствия понятной экосистемы для разработчиков и пользователей.
MeeGo обязана своим существованием инженерам Intel и Nokia, которые работали над созданием независимых мобильных ОС (Moblin и Маеmo], основанных на технологиях Linux, а в начале 2010 года решили совместно создать единую ОС. Результатом стала выпущенная всего через несколько месяцев операционная система MeeGo 1.0 Arlington, поддерживающая около двух десятков уже присутствующих на рынке нетбуков и частично коммуникатор Nokia N900, который к тому времени уже обрел большую популярность среди продвинутых пользователей.
MeeGo интересна в первую очередь своим набором инженерных решений, большин-ство из которых основаны на традициях UNIX и Linux.
Во-первых, MeeGo — это не совсем самостоятельная ОС, а скорее Linux-дистрибутив, адаптированный для работы на разного рода портативных устройствах и встраиваемой технике, начиная от нетбуков и мультимедийных систем автомобилей и заканчивая смартфонами и умными телевизорами. Практически все компоненты этой операционной системы были позаимствованы из настольных ОС, основанных на ядре Linux. Здесь используется все тот же набор низкоуровневых библиотек, мультимедиафреймворк Gstreamer, аудиосервер PulseAudio, Х-сервер, библиотека QТ как основной инструмент создания графических приложений и даже набор стандартного Linux-ПО, например почтовый клиент Evolution и браузер Chromium. Все это делает работу с os MeeGo привычной для многих пользователей, а заодно как бы автоматически снабжает ее набором качественного ПО, что очень важно для молодой ОС.
Во-вторых, и это еще более важно, разработчики изначально позиционировали операционную систему как некий набор базовых компонентов, поверх которых можно создавать совершенно разные интерфейсы для различных устройств и рынков, сохраняя при этом их полную совместимость между собой. Операционная система имеет стандартизированный API, большей частью основанный на фреймворке QT, который гарантирует совместимость вариантов ОС между собой, но дает полную свободу изменения графического интерфейса (ситуация, схожая с многообразием DE для Linux). При этом важно, что разработкой основного набора графических оболочек также занимались программисты MeeGo—таким образом обеспечивалась общая целостность интерфейсов. За время существования MeeGo под крылом Intel и Nokia было разработано целых четыре варианта интерфейса (называемых в терминологии MeeGo UX — User Experiences): для нетбуков, смартфонов, планшетов и автомобильных компьютеров.
Совместно с Nokia Intel успела выпустить версии 1.1 и 1.2 платформы MeeGo, однако после заключения соглашения с Microsoft Nokia потеряла интерес к работе над этой операционной системой, и разработка MeeGo фактически завершилась в пользу проекта Tizen. Последняя унаследовала большинство наработок MeeGo, но фактически стала совершенно новой ОС, а место Nokia в ее разработке заняла преимущественно Samsung вместе с несколькими другими компаниями, включая NEC и Panasonic.
Казалось бы, на этом судьба MeeGo должна была завершиться, однако, как это часто бывает с открытыми проектами, в конце 2011 года обязанность за развитие проекта тут же взяли на себя независимые разработчики. Был создан проект Мег, в рамках которого началось дальнейшее развитие идей MeeGo в тесном сотрудничестве с Tizen. Следуя принципам развития полностью открытых проектов, он включал открытую экосистему и модель управления, основанную на меритократии (руководят те, кто внес больший вклад в развитие проекта).
Разработчики Мег еще больше сместили акцент развития операционной системы к разработке базовых компонентов системы и предоставлению производителям устройств лишь фреймворка, с помощью которого последние смогут создавать собственные ОС, — при этом можно подключать разработки своих или других проектов. Так, Мег позволяет использовать в качестве графического интерфейса оболочку, разработанную в рамках проекта Tizen, а также любые другие графические среды, включая Plasma Active от сообщества KDE (экспериментальный свободный планшет Vivaldi, в котором используется этот интерфейс, работает под управлением дистрибутива Мег).
Мег уже портировали на такие устройства, как Raspberry Pi, BeagleBoard, Nokia N900, Nokia N950, Nokia N9 и несколько планшетов, основанных на процессоре Intel Atom. В июле 2012 года финская компания Jolla Mobile, основанная бывшими сотрудниками Nokia, участвовавшими в разработке MeeGo, сообщила о начале работ над смартфоном, который будет базироваться на Мег. Его выпуск запланирован на конец 2012 года.
—————————————————————————————————
Цукерберг и(
Skype)HTML 5
HTML5 на время очаровал не только «лузеров» мобильного рынка, но и разработчиков популярных приложений для доминирующих платформ, включая Facebook и Twitter. С их точки зрения, веб-технологии были удачны тем, что позволяли создавать кроссплатформенные приложения и обновлять клиенты для разных ОС синхронно. Как оказалось, это вышло им боком — по сравнению с нативными разработками получались медленные, малофункциональные и неудобные программы. Основатель социальной сети Facebook Марк Цукерберг публично заявил, что ставка на HTML5 стала «самой крупной ошибкой» знаменитого сервиса, и пообещал выпустить нативные версии мобильных клиентов.
Определенно, связывать HTML5 с тем, что стоимость Facebook как компании упала почти вдвое с момента IPO, — довольно слабый ход для главы гигантской интернет-махины. С тем же успехом катастрофическое падение акций можно было бы объяснить неверной конфигурацией веб-серверов или неудачным решением для хранения баз данных. Но от этого проблемы HTML5 не перестают быть реальными. Как пояснил в своем блоге Джо Хьюит, глава разработки iOS-версии клиента Facebook, на данном этапе веб-технологии просто не могут сравниться с нативными платформами по темпам развития. Без сомнения, HTML и компания остаются привлекательным решением в силу своей универсальности и кроссплатформенности, но до тех пор, пока не существует единого административного органа, курирующего развитие веба, применение таких решений за пределами браузера будет оставаться утопией.
—————————————————————————————————
TIZEN
После отказа Nokia от работы над MeeGo Intel объединилась с компанией Samsung, организацией Linux Foundation и проектом LiMo для создания совершенно новой ОС Tizen. Она спроектирована на базовых компонентах MeeGo и предлагает новый подход к разработке приложений, основанный на технологиях HTML5 и JavaScript.
Как и WebOS, о которой мы поговорим в следующем разделе, идея Tizen заключается в том, чтобы использовать стек технологий Linux в паре с графическим интерфейсом, полностью основанным на веб-технологиях, таких как HTML, JavaScript и CSS. Главным аргументом в пользу такой архитектуры здесь служит простота переноса и создания приложений. Веб-технологии изначально разрабатывались с упором на поддержку самых разных типов экранов и устройств, поэтому приложения будут легко и в большинстве случаев автоматически адаптироваться под разные устройства, будь то смартфон или умный телевизор. Кроме того, приложения, написанные с использованием веб-технологий, просты в реализации и не требуют специального обучения программистов: кроме API к операционной системе, все остальные компоненты знакомы большинству программистов.
Помимо основного веб-стека для создания приложений, в Tizen предусмотрен также Native Development Kit, позволяющий писать части приложений на низкоуровневых языках типа С и C++, что необходимо для создания игр и других высокопроизводительных приложений. При этом для 99% обычных приложений производительности JavaScript будет достаточно, так как наиболее трудоемкие операции (проигрывание видео, музыки, шифрование и так далее) будут выполняться библиотеками, входящими в базовый комплект ОС и написанными на тех же C/C++.
Первый публичный релиз Tizen состоялся в мае 2012 года, когда разработчики выложили в сеть исходные тексты первой версии операционной системы, SDK на базе Eclipse, эмулятор, основанный на QEMU, а также специальный инструмент для быстрого тестирования приложений, работающий прямо в браузере и эмулирующий Tizen API. Интересно при этом, что абсолютно все стандартные приложения, входящие в базовый состав ОС, были написаны вовсе не на JavaScript/HTML5, а являлись стандартными Linux-приложениями, графический интерфейс которых формировался с помощью библиотек EFL (Enlightenment Foundation Libraries), работающих поверх стандартного для «настольных» Linux-дистрибутивов Х-сервера.
Остальные компоненты ОС фактически повторяли базовый набор компонентов MeeGo, включая различные сервисы, такие как конфигуратор беспроводных сетей ConnMan,
Bluetooth-стек bluez, мультимедиафреймворк Gstreamer, набор кодеков FFmpeg, библиотека OpenSSL, а также веб-стек на базе браузерного движка WebKit и библиотеки JQuery Mobile 1.0.
Как и MeeGo, Tizen рассчитана на применение во множестве различных типов устройств,однако на данный момент был полностью закончен только графический интерфейс для смартфонов и других подобных устройств с портретной ориентацией экрана. Сама графическая оболочка не обладает какими-то интересными новшествами, являя собой достаточно стандартный рабочий стол, сильно напоминающий Android с модификацией TouchWiz (сразу видно влияние компании Samsung и проекта LiMo, в разработке которого она активно участвовала).
В сентябре стала доступна версия 2.0 операционной системы, которая, несмотря на значительной прыжок в номере версии, не принесла кардинальных изменений, за исключением расширенного API, более полной поддерки стандартов HTML5/W3C (стоит заметить, что Tizen Web API большей частью состоит из стандартов, предложенных W3C, включая WebRTC, getUserMedia API, Vibration API и так далее) и перехода на движок WebKit2, благодаря чему удалось обеспечить более надежную изоляцию веб-приложений друг от друга.
Отдельно стоит отметить, что благодаря гибкой архитектуре Tizen позволяет достаточно легко «прикрутить» к себе практически любую графическую оболочку. Например, еще с выходом первой версии ОС компания OpenMobile подготовила слой совместимости Application Compatibility Layer, позволяющий запускать в Tizen приложения, написанные для Android (справедливости ради надо сказать, что тот же продукт доступен и для операционных систем MeeGo и webOS).
Если же говорить об устройствах, то они ожидаются уже в конце 2012 года, причем о своих планах сделать аппараты на базе новой ОС заявили не какие-то экзотические азиатские бренды, а такие мастодонты, как НТС, Acer и ASUS. Скорее всего, это будут штучные модели для проверки того, «как пойдет», но сам интерес таких компаний к полностью открытой ОС, которая гораздо больше похожа на массовый Linux, чем Android, не может не радовать.
Говоря об операционных системах, основанных на веб-технологиях, нельзя не упомянуть о webOS — фактически это первая ОС такой архитектуры, снискавшая достаточную популярность. WebOS была разработана и анонсирована в январе 2009 года компанией Palm, которая использовала ее в мобильном телефоне Palm Рге, выпущенном на рынок спустя полгода, а также в смартфонах Palm Pixi и Рге2.
Компания Palm возлагала большие надежды на webOS, намереваясь использовать ее для восстановления своих почти полностью утраченных позиций на рынке карманных компьютеров и смартфонов. Однако, несмотря на высокое качество и возможности операционной системы, устройства на базе webOS так и не завоевали большой любви у пользователей; в результате компания была продана, и новым владельцем ее в апреле 2010 года стала Hewlett-Packard. Представители гиганта IT-индустрии прямо заявили, что причиной их приобретения стала именно webOS, на базе которой HP планировала производить смартфоны, планшеты и принтеры.
HP использовала webOS для выпуска таких устройств, как HP Veer и HP Рге 3, планшета HP TouchPad, а также планировала выпустить специальный порт ОС для Windows, который должен был быть установлен на все компы и ноутбуки производства компании, выпущенные в 2012 году. Тем не менее смартфоны и планшет TouchPad провалились на рынке, а последняя задумка так и не была реализована. Все это привело к тому, что после недолгих метаний руководства компании между различными идеями, как использовать webOS, и снижения цен на устройства HP объявила в декабре 2011 года о планах открыть исходные тексты операционной системы и передать их независимому сообществу.
Уже в январе был выложен в открытый доступ код фреймворк Еnуо,используемого для разработки webOS-приложений, тогда WebOS — это третья (и не последняя) операционная система в нашем обзоре, почти полностью основанная на технологиях Linux. Однако отличия есть. Два предыдущих проекта больше похожи на сборную солянку из различных технологий, да еще и приготовленную по рецепту, который писался во время самого приготовления. WebOS уже с первой версии была полностью законченной и тщательно отполированной ОС, где все находится на своих местах и удивительно четко организовано.
В основе webOS лежит окружение Linux, со всеми сопутствующими технологиями, фреймворками и наборами открытых библиотек, большинство из которых пересекаются с проектами MeeGo и Tizen (код всего этого стека компания Palm добросовестно открыла одновременно с анонсом ОС), поэтому в данном обзоре они не представляют особого интереса и я опущу их описание. Гораздо более интересная часть webOS — это тот самый фреймворк Еnуо.
Фактически Еnуо (enyojs.com) представляет собой JavaScript-библиотеку, функциональность которой используется для написания webOS-приложений и формирования их графического интерфейса. Программа, написанная с помощью Еnуо, мало чем отличается от обычного веб-приложения: разработчик подготавливает HTML-каркас, а затем использует JavaScript и Еnуо для создания на его базе графического интерфейса. При этом в распоряжении программиста не только базовый JS API, но и набор системных функций для доступа к операционной системе, вызовы которых преобразуются в сообщения D-Bus, что позволяет из коробки сделать их асинхронными и реализовать аудит для проверки полномочий приложений.
WebOS изначально была полностью основана на Еnуо. По сути, после загрузки ОС происходит запуск движка WebKit и весь интерфейс операционной системы формируется с помощью HTML и CSS (включая интерфейс встроенного браузера), что тем не менее не мешает программистам писать приложения на классических С и C++, используя специальные обертки для вывода графики.
Пользователю при этом доступен стандартный набор инструментов среды Linux: ssh, ср, vi, grep, find, diff, top, tar, gzip и так далее.
WebOS обладает приятным графическим интерфейсом, построенным на основе идеи сменяемых карточек, отличной производительностью и проработанностью, и она вполне могла бы занять лидирующие позиции на рынке мобильных ОС, если бы не компания Google с ее агрессивными методами продвижения Android и изначальная идея Palm не лицензировать операционную систему сторонним производителям.
FIREFOX OS
Бум интереса к использованию веб-технологий для создания обычных приложений никак не мог пройти мимо компаний, чей бизнес напрямую зависит от этих самых технологий. Еще в 2009 году Google открыла исходные тексты облачной операционной системы Chrome OS (ChromiumOS), особенность которой заключалась в использовании модифицированной версии браузера Google Chrome в качестве рабочего стола операционки, где все приложения находятся в облаках (Gmail, YouTube, Last.fm и так далее). В июле 2011 года компания Mozilla объявила о начале работ над мобильной операционной системой Boot to Gecko (B2G), основанной на ядре Linux и движке рендеринга веб-страниц Gecko. Ровно через год операционная система получила более благозвучное и удачное с коммерческой точки зрения имя Firefox OS.
По своей сути и назначению Firefox OS оказалась очень похожей на Tizen и webOS: все то же базовое окружение Linux, движок рендеринга веб-страниц, JavaScript-движок и специальная JS-библиотека. При этом разработчики Mozilla не стали изобретать велосипед и взяли за основу ОС базовое окружение Android, со всеми его библиотеками, сервисами, IPC-интерфейсом Binder, ЗD-драйверами, мультимедиафреймворком и прочими вкусностями. Поверх этого окружения был водружен движок Gecko и создан графический интерфейс Gaia, полностью базирующийся на HTML, CSS и открытых веб-стандартах, принятых W3C.
Интересно в Firefox OS то, что здесь фактически нет каких-то заново изобретенных API для доступа к оборудованию. Почти весь базовый API для разработки приложений основывается на открытых стандартах, что позволяет практически без изменений переносить целые веб-приложения в Firefox OS, а также выполнять обратный перенос и тестирование приложений прямо в настольном браузере. Вторая важная особенность ОС заключается в том, что разработчики приняли решение использовать почти неизмененное окружение Android в качестве базы ОС, благодаря чему перенос операционной системы на другие устройства (работающие под управлением Android) превращается в тривиальную задачу, с которой может справиться даже минимально технически подкованный человек.
Уже сейчас официальные сборки Firefox OS подготовлены для таких платформ/устройств, как Otoro, PandaBoard, Emulator (ARM и x86), Desktop, Nexus S, Nexus S 4G, Samsung Galaxy S 2 и Galaxy Nexus. Кроме того, энтузиастами были созданы порты ОС также и на множество других устройств, включая даже такой малораспространенный Android-смартфон, как Motorola Defy. О своих планах использовать Firefox OS уже заявили испанский оператор сотовой связи Telefonica, компания ZTE и некоторые другие.
Если же говорить об интерфейсе ОС, то здесь все достаточно стандартно и ничего нового Firefox OS не преподносит: обычный интерфейс, в очередной раз похожий на Android и, местами,
webOS и Windows Phone, оформленный следуя современным традициям минимализма и выполненный в виде журнальных страниц интерфейсов.
ВЫВОДЫ,ИЛИ КТО БУДЕТ ЖИТЬ
«Финт ушами» в исполнении фанатов вебтехнологий на данный момент выглядит не слишком убедительно. Какая из этих мобильных ОС выживет, покажет время, но скорее всего каждая из них займет небольшой процент мобильного рынка и будет использоваться на маломощных устройствах, выпускаемых различными компаниями. И это еще самый оптимистичный прогноз.
UPD: Чуть не забыл про мобильную Убунту! Ubuntu Mobile
2 comments for “МАРГИНАЛЫ Детальный обзор MEEGO,TIZEN,WebOS,Firefox OS”