§ Firefox OS.

Последней купленной игрушкой оказался смартфон ZTE Open с операционной системой Firefox OS на борту. Достался он мне совершенно дешево - всего $40, или если переводить в рубли что то около 1200 рублей. Это примерно вдвое дешевле чем его первоначальная цена, но даже за две с половиной тысячи получить настоящий смартфон - это согласитесь неплохо.

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

Сразу скажу что характеристики смартфона более чем скромные. Старенький процессор толи 800Mhz толи 1000, от Qualcomm, 256Mb RAM (да-да всего четверть гига), и 512Mb под систему и пользовательские файлы. Батарейка 1200mAh, и конечно же слот под SD-карту.

Я думаю вы немного хихикаете глядя на все это "изобилие", однако могу смело сказать, что телефон по отзывчивости не сильно уступает своим более навороченным братьям, что немало удивляет. Телефон вполне себе функционален, не без тормозов, но и не так что бы думать по 10 секунд. Думаю основным сдерживающим фактором является оперативная память, и чем дальше я разбираюсь с системой тем более мне становится понятно позиционирование Firefox OS.

Позиционирование

Я знаю, многие из вас уже успели сменить несколько смартфонов. Производители крайне редко радуют обновлениями старых железяк, батарейка потихоньку начинает сдавать, и на последнем обновлении телефон начинает едва-едва доживать до вечера. Тогда он становится невыносимым и меняется на новенькую сияющую лопату, где всего больше как минимум вдвое. Но что делать со старым телефоном? Редко его удается продать за бесценок, и чаще он просто попадает в стол, где тихонечко стареет. 

На мой взгляд основная идея Firefox OS - это как раз дать жизнь этим самым стареньким телефонам. Тоесть вы можете самостоятельно собрать Firefox OS под свой телефон, и вуаля - ваш старенький телефон вполне может быть использован.

Ещё один важный момент - это различные развивающиеся рынки нищебродов вроде юго-восточной азии, южной америки и тд. Кстати в этот список попала и Испания, и по результатам прошлого года смартфоны на Firefox OS разлетались там как горячие пирожки, по цене EUR69, при этом 30 из них падали на абонента. И производители тоже охотно включились в игру. Я думаю что на складах осталось достаточно старого нераспроданного железа которое можно получить совершенно по дешовке. А тут оказалось что этот казалось бы уже мусор можно продавать, да продавать вполне успешно. Первые в эту игру включились два небольших (правда оба в 5ке крупнейших производителей телефонов в Китае) игрока ZTE и TCL (владеющий брендом Alcatel), выпустив более чем унылые с точки зрения начинки телефоны, и телефоны разошлись. Сейчас в борьбу уже включается Huawei и LG, а ZTE и Alcatel представляют новое поколение телефонов.

Дак что же такого в этом самом Firefox OS.

Под капотом Firefox OS

На самом деле Firefox OS использует ядро Linux тоже самое что и Android, так что теоретически (и практически) FirefoxOS может быть запущена на любом железе поддерживающим Android.

Ключевое отличие от Android заключается в том, что в Firefox OS отсутствует JAVA машина (Dalvki или ART), как таковая, вместо нее используется WEB-движок Gecko, тот самый что используется браузером Firefox. Движок Gecko позволяет отрисовывать HTML страницы используя HTML5 и JavaScript. Причем в отличии от Dalvik/ART делать это ощутимо быстрее и при меньших затратах процессорного времени. Тут на лицо очередная оптимизация по принципу Паретто (80/20). 

Большинство из нас использует свой смартфон что бы общаться в интернет или читать книги (80%), реже играть в какие нибудь процессоро-нагруженные игры (20%), и как оказывается именно последнее требует 80% ресурсов современных смартфонов. Так что если отказаться от идеи крутых 3Д игр (хотя бы для начала), то можно сделать смартфон который будет уметь 80% всего что могут современные смартфоны, но при этом быть в пять раз слабее (и естественно дешевле), и не вызывать дискомфорта при работе.

Таким образом в Firefox OS оставили только движок Gecko и приложения для него стали так же специфичесские.

Типы приложений

По правде говоря приложения для Firefox OS бывают двух видов. Online и Offline.

Первые - вызывают мобильную версию веб-сайта (а практически все сервисы которыми мы обычно пользуемся имеют свой веб-сайт и как правило мобильную его версию), и при желании пользователя, можно добавить такое приложение на рабочий стол. Это не совсем тоже самое что и ярлык, потому что при добавлении на рабочий стол, для этого сайта создается специальный файл кеша, в который загружается все необходимое (html страницы и js-скрипты), так что при повторном обращении к этому ярлыку будут только обновлены измененные страницы.

Offline приложения - это просто упакованный в zip архив сайта со всеми своими картинками, js-скриптами, HTML страницами, и манифестом, описывающим приложение. Как говорят сами разработчики, такое приложение как правило имеет в 3-5 раз меньший объем чем классический apk для андроид, а так же его легче обновлять. (ещё бы без компиляции и тд)

Если честно, то читая туториал по созданию приложений мне лично очень понравилось то, что фактически весь интерфейс уже описан в виде CSS, и для того что бы нарисовать кнопку, форму или сделать меню ничего выдумывать не надо, вы просто делайте div и указываете к нему уже готовый класс - и все. Составление приложений для Firefox OS - это достаточно простое (если вы знаете javascript) занятие, не требующее серьезных затрат на оформление интерфейса. Единственное что для некоторых аппаратных вызовов придется использовать дополнительный API, который так же отлично описан во всех деталях.

Для безопасности, есть возможность принудительно ограничить приложение в доступе к некоторым функциям API например звонки, смс или геопозиционирование. Вот так вот просто.

Батарейка

Самый большой вопрос у меня вызывала батарейка. 1200mAh по меркам современного смартфона это как минимум вдвое меньше чем хотелось бы. Однако, мои замеры показывают что даже на 1200mAh смартфон реально может прожить 3-4 дня при среднем использовании, что если честно очень впечатляет. Оказывается что Gecko куда как легче и менее прожорливый чем JVM в Android! Если смартфон положить на полку и не трогать - то за сутки батарея убывает на 6%.

Что не понравилось

Самую большую боль доставляют push-notification. Во-первых они работают через сторонний сервис. Исходники этого стороннего сервиса имеются на github, однако все равно моя параноя высказывается против этого. С другой стороны эти уведомления работают мягко говоря плохо. Тут я думаю ребятам из Firefox ещё придется поломать голову. Если описать парой слов - то Gecko не может да и не должен держать запущенное приложение в памяти (которой напомню с гулькин хер). Если приложению требуется push-notification то приложение лезет в интернеты и регистрирует свою хотелку на стороннем сервере в интернет, после чего получает уникальный идентификатор. Для каждого типа уведомления идентификатор должен быть свой. Эти идентификаторы отдаются самой ОС, после чего приложение спокойно идет отдыхать. Как только сервер нотификации получает push - он записывает его себе, и отправляет уведомление ОС, о том что получен push-notification, передает идентификационный номер, и порядковый номер уведомления. Firefox OS получив это сравнивает изменился ли порядковый номер, и если он увеличился, запускает приложение связанное с этим и дает ему отработать уведомления. Механизм достаточно простой, но по факту я ещё не получил ни одного уведомления, что значит либо сервер не работает, либо приложения повально не используют эту возможность, появившуюся ещё в версии 1.1.

Конечно так же можно сказать что количество приложений (особенно оффлайновых) категорически мало. Найти оффлайновые карты оказалось невозможным, хотя GPS в телефоне есть.

Выводы

Платформа по сравнению с Android выглядит пока беззубо, особенно если учесть возможности кастомизации и количество приложений (специально написанных приложений). Однако если не забывать тот рынок на который нацелен данный проект и то что он ещё в зачаточном состоянии, то мне кажется что у системы достаточно большое будущее.  По своему подходу платформа очень напоминает Ubuntu Touch, однако HTML5+JS выглядят пока ощутимо быстрее и гораздо более протестированным чем QT+QML анонсируемые Canonical.

На том же XDA огромное количество портов Firefox OS под самые разные телефоны, и я вижу что сообщество энтузиастов вокруг Firefox OS неизменно растет. Телефон я купил у человека который сам купил его для того что бы разработать софт для коммерчесской компании в Сиднее, так что можно сказать что рынок Firefox OS постепенно растет, а с точки зрения технологии у Firefox OS есть определенное приемущество перед Android. Посмотрим что будет через пару лет, но я думаю что доля Firefox будет неизменно расти.


comments powered by Disqus