Настройки для разработки приложения на firefox os

Nokia 8110 4G

Устройства с предустановленной KaiOS (неполный список) представлены на официальном сайте KaiOS.

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 14 сентября 2019 года; проверки требуют 59 правок.

Основная информация:

  • Разработчик: KaiOS Technologies Inc.
  • Семейство ОС: Firefox OS/Open Web (на основе ядра Linux)
  • Первый выпуск в 2017 году
  • Тип ядра: монолитное (Linux)
  • Лицензия: GNU GPL 2

Смартфон Fx0 от LG:

В 2014 году компания LG представила смартфон для гиков на базе FireFox OS эксклюзивно для рынка Японии — Fx0. Этот смартфон был интересен не только своей системой, но и прозрачным стильным дизайном, который позволял рассмотреть некоторые внутренности устройства. Fx0 был самым мощным серийным смартфоном на FireFox OS.

Закрытие мобильного подразделения LG:

Увы, более года назад LG закрыли свое мобильное подразделение и ушли с рынка мобильных устройств. Это вызвало разочарование у тех, кто оценивал выход качественных девайсов от компании.

Версии KaiOS и их особенности:

ВерсияДата релизаНовые функции
1.0март 2017Первый раскладной телефон с интеллектуальной функцией KaiOS на базе Gecko 36
2.0июль 2017Мажорное обновление, обновление ядра до Gecko 48
2.5.1июль 2018KaiStore, KaiAccount и дополнительные функции, WhatsApp
2.5.2декабрь 2018Поддержка KaiAds и сервисов SIM-карты
2.5.3июль 2019Основные обновления сервиса, улучшение сервиса определения местоположения
2.5.3.1февраль 2020Незначительные системные обновления, улучшение уведомлений
2.5.4август 2020Интеграция с LF 1.6, требования для Северной Америки
3.1март 2022Незначительные системные обновления

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Проголосовали 79 пользователей. Воздержались 13 пользователей.

Firefox OS: Мини-обзор Alcatel OneTouch Fire E

Веб-технологии давно и прочно вошли в нашу жизнь. Мы каждый день пользуемся уже ставшими привычными нам сервисами вроде социальных сетей или новостных сайтов. Браузер стал неотъемлемой частью современного смартфона, а некоторые приложения и вовсе полностью переехали в браузер, получив название PWA, хотя подавляющее большинство приложений всё ещё остаются нативными. Ребята из Mozilla как-то раз подумали: отдельные PWA приложения это, конечно, круто, но почему бы не сделать мобильную систему, которая построена практически полностью на веб-технологиях?. И таки умудрились сделать, дав ей имя — FireFox OS(B2G), предназначенная для бюджетных смартфонов!

Читайте также:  Генеральный план города . Официальный сайт администрации муниципального образования "Город Саратов"

Alcatel OneTouch Fire E

Устройство прошито и теперь работает на базе чистого Android 4.4 — никаких гугл-сервисов, ничего лишнего. Как оно работает теперь? Давайте узнаем!

Стабильность и скорость работы

Сама по себе прошивка достаточно стабильная. Нет ни зависаний, ни особых багов, а сам девайс работает очень шустро. Но к сожалению, уже даже 4.4 потихоньку начинает умирать: например, WhatsApp перестанет работать осенью этого года. Однако, некоторая часть нужных приложений все ещё работает и поэтому смартфон может оказаться полезным!

Поддержка приложений

Например, здесь все еще работает клиент ВК Kate Mobile, через который можно посидеть не только в ВКшечке, но и послушать музыку через местный стриминговый сервис. Однако могут возникать проблемы при воспроизведении видео, причем только некоторых. Работает и Telegram, который пока ещё поддерживает все устройства с Android 4.2 и выше.

Браузер

Стандартный браузер уже сильно устарел и едва ли открывает современные страницы. Поэтому накатываем последнюю версию Chrome для 4.4 — 81. Он пока еще может открывать большинство сайтов, но на Pikabu/DTF уже ломается верстка.

Почта

Без каких-либо проблем работает и встроенный клиент почты. Тут уж я не перестану хвалить почтовый клиент Android — он в разы лучше и Gmail, и любых других сервисов как по мне. Работает без проблем, только не забываем про одноразовые пароли и ставить SSL.

Image

Image

Image

Image

Image

Image

Image

Ваш идеальный бюджетный смартфон на Firefox OS

Камера и игры

Кроме того, здесь очень неплохая камера для своих лет. 8мп матрица выдает достойную картинку, на уровне флагманского Galaxy S4 2013 года выпуска. Однако есть важный нюанс: в предпросмотре кадра картинка получается мыльная, но сами фотографии сохраняются вполне неплохими. Оцените сами:

image1

image2

image3

image4

image5

Ну и конечно же игры! Как раз отличная возможность вспомнить 2012-2014 годы в мобильном гейминга и поиграть в годноту тех лет. Балдеж!

Модификация и прошивка

Собственно, в этом нет ничего сложного. Работы буквально на 15 минут, благо уже есть готовая и рабочая прошивка CyanogenMod под наше устройство.

  1. Сначала скачайте прошивку и TWRP – раздел recovery. Понадобятся также драйверы и adb/fastboot.
  2. Подключите устройство к ПК и откройте командную строку (cmd.exe). Перейдите в папку с загруженным adb и запустите терминал.

image6

  1. Далее необходимо сдампить три важных раздела – с специальным режимом обновления lg и настройками модема. Напишите:
adb pull /sdcard/laf.bin
adb pull /sdcard/modem0.bin
adb pull /sdcard/modem1.bin

image7

Готово! Варнинги в консоли – это нормально.

image8

  1. Теперь напишите reboot в консоли и выполните команду, одновременно зажав громкость вверх, чтобы устройство перешло в режим fastboot.
  2. Загрузите recovery, написав:
fastboot boot twrp_302-madai01.img
  1. Устройство загрузится в режим recovery. Свайпните ползунок и попадите в главное меню.

image9

  1. Теперь введите в консоли:
adb sideload cm-11-20160710-UNOFFICIAL-madai.zip
  1. Готово! Теперь устройство прошьется само. Можно сделать вайпы и перезагрузиться в систему.

Заключение

Вероятно, кто-то спросит, почему всё так легко и откуда тут даже разметка памяти под Android? Потому что изначально FireFox и использует стандартную разметку андроида, что позволяет легко портировать их на устройства под управлением каждой из них.

Если вы хотите вернуться на FFOS, можно взять образ /system/ отсюда. Прошить его можно из под TWRP через adb с помощью команды. Делаем вайпы и ребут. Дальше всё как обычно – настраиваем язык, подключаемся к сети и т.д.

## Notifications API

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

## Концепция и использование

На поддерживаемых платформах, отображение системных уведомлений обычно включает две вещи. Во-первых, пользователь должен разрешить текущему источнику отображать уведомления, что, как правило, происходит, при первичной загрузке приложения или сайта, используя метод `Notification.requestPermission()`. Далее будет вызван диалог, где пользователь может разрешить уведомления, заблокировать их или решить позже.

Затем создаётся новое уведомление с помощью конструктора `Notification()`. В функцию должен быть передан аргумент заголовка и, по желанию, объект настроек, чтобы определить опции, такие как направление и тело текста, иконка, звук уведомления и т.д.

Для Firefox 44, разрешения для Notifications и Push объединяются. Если было установлено разрешение для уведомлений, push также будут разрешены.

## Интерфейс уведомлений

Определяет объект уведомления.

### Дополнение для Service worker

Включает `ServiceWorkerRegistration.showNotification()` и `ServiceWorkerRegistration.getNotifications()` методы для контролирования отображения уведомлений. Также включает обработчик `ServiceWorkerGlobalScope.onnotificationclick` для вызова встроенных функций при клике на уведомлении.

## Спецификации

- `Api.ServiceWorkerRegistration.showNotification`

## See also

Вероятно, многие читатели вообще никогда не слышали про такую систему, как FireFox OS, но вполне возможно, продолжают использовать её потомка и сейчас. Ещё в начале десятых Mozilla решила выйти на мобильной рынок, припася несколько тузов в кармане.

И некоторые производители поддержали молодую систему, выпустив один или несколько аппаратов на различных версиях. Так или иначе, почти все эти устройства были в бюджетном классе и предназначались в первую очередь для гиков и веб-разработчиков, которые могли бы разрабатывать новые приложения для развивающейся системы. Кроме того, в основную версию FireFox на ПК был введен отдельный режим, где разрабы могли бы запускать и отлаживать свои приложения в эдаком симуляторе.

Настройки для разработки приложения на firefox os

Как уже было сказано выше, все приложения под эту систему пишутся на связке HTML5 + JS. Однако немногие знают, что большая часть системы и интерфейса тоже написаны на JS, в том числе некоторые сервисы. Приложениям предоставляются упрощенные, но типичные для мобильных систем API в виде доступа к базе данных мультимедиа/контактов, API для файлов, диалогов и т. п. При этом, несмотря на «веб» корни интерфейса, работает он очень шустро даже на слабых девайсах и имеет некоторую многозадачность.

Настройки для разработки приложения на firefox os

Из самых известных моделей на FFOS, можно вспомнить ZTE Open, Alcatel Fire E, про который я уже писал и конечно же Fx0! Девайс был выпущен эксклюзивно для рынка Японии в 2014 году, под местного оператора au (KDDI), лого которого красуется и на нашем девайсе. В первую очередь интерес к устройству вызывает его прозрачный дизайн, наводящий некоторые мысли о киберпанке. LG видимо хотели подчеркнуть гиковскую составляющую своего нового устройств.

Настройки для разработки приложения на firefox os

Сама прозрачность корпуса даёт нам разглядеть светодиоды подсветки дисплея, подключенные шлейфы, АКБ, слоты под сим и строение кнопки домой. Кроме того, задняя крышка покрыта интересным рельефом, приятным на ощупь. Кому-то этот дизайн кажется отталкивающим, но как по мне — он классный. Не менее интересна и железная начинка девайса:

Для 2014 года это вполне неплохие характеристики для средне-бюджетного аппарата. Похожими хар-ками обладает, например, Galaxy S4 Mini.

Настройки для разработки приложения на firefox os

Fx0 подарил мне мой читатель Артём с Хабра. Несколько месяцев назад он написал мне и предложил прислать два таких девайса: один в качестве подарка для статьи, другой для того, чтобы я перепрошил его на Android и отправил обратно. Под Fx0 уже был готовый порт CyanogenMod, поэтому в процессе прошивки ничего сложного нет, но Артёму нужна была подробная инструкция, дабы не убить девайсы. У него их оказалось несколько: в своё время он купил по вкусной цене и так они у него лежат новыми, а некоторые даже не распакованы!

Настройки для разработки приложения на firefox os

Конкретно про опыт использования FireFox OS в 2023 году я писал в статье про Alcatel Fire E. В этом материале давайте прошьём наш Fx0 и посмотрим, на что он способен сейчас!

Веб-технологии для разработчиков

Современные веб-технологии предоставляют разработчикам неограниченные возможности для реализации своих идей. Для того, чтобы вы могли использовать весь их потенциал, необходимо знать как правильно их использовать. На этой странице мы постарались собрать ссылки на документацию по различным технологиям, которые могут быть вам полезны.

Язык гипертекстовой разметки — это язык, используемый для определения структуры и описания содержания веб-страницы в структурированной форме.

Каскадные таблицы стилей используются для описания внешнего вида веб-контента.

HyperText Transfer Protocol (HTTP) — это протокол, по которому доставляются HTML и прочие медиа-документы.

Написание сценариев

JavaScript — язык программирования, широко используемый для реализации взаимодействия пользователя с веб-сайтами и приложениями.

Веб API (en-US)

Данный раздел включает справочные материалы по каждому из отдельно взятых API, содержащих огромные возможности для создания веб-сценариев, включая DOM (en-US) и все связанные с ним API, которые вы можете использовать для построения веб-контента и приложений.

Веб Компоненты – это набор различных технологий, позволяющих создавать собственные переиспользуемые элементы – со своей функциональностью, инкапсулированной от остального кода – и использовать их в ваших веб-приложениях.

Графика

SVG (Scalable Vector Graphics – масштабируемая векторная графика) – позволяет вам описать изображение в виде линий, кривых и других геометрических фигур. Благодаря этому можно масштабировать рисунок без потери качества.

Аудио, видео и мультимедиа

Web медиа-технологии (en-US)

Список связанного с медиа API, со ссылками на документацию для каждого из них.

Media capture and streams API (en-US)

Справочник для API, используемого для потоковой передачи, записи и управления данным как локально, так и по сети. Также включает в себя инструменты для использования локальных камер и микрофонов для захвата видео, аудио и статичных изображений.

Использование HTML аудио и видео

Включение видео иили аудио в веб-страницу и управление их воспроизведением.

RTC в WebRTC означает Real-Time Communications (связь в реальном времени) – технологию, обеспечивающую поток аудио или видео и обмен данным между одноранговыми клиентами браузера.

Прочее

Математический язык разметки предоставляет возможность показа комплексных математических уравнений и синтаксиса.

Extensible Stylesheet Language Transformations (XSLT) позволяет преобразовать XML-документ в человекочитаемый HTML.

Функциональное расширение, которое предоставляет дополнительные возможности для XSLT.

XPath позволяет вам выбрать DOM-узел в документе, используя более мощный синтаксис, чем предоставляется обычными CSS selectors.

Документация по типам

Руководство веб-разработчика предоставляет полезные пошаговые материалы, которые помогут вам в полной мере использовать веб-технологии для выполнения ваших задач и реализации ваших идей.

Учебные материалы для веб-разработчиков

Перечень учебных материалов позволит вам пошагово изучить API, технологии и расширить свой кругозор в области веб-технологий.

Справочные материалы (en-US)

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

Прочие разделы

Центр приложений (en-US)

Содержит документацию для разработчиков веб-приложений. При помощи данных материалов можно научиться создавать приложения для мобильных устройств, персональных компьютеров и Firefox OS.

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

Этот раздел уделяет внимание вопросам безопасности веб-сайтов и веб-приложений.

Настройки для разработки приложения на firefox os

Контрольный список, прежде чем вы подумаете об отправке приложения в Marketplace

Все приложения отправленные в Marketplace проходят через процесс утверждения (это не так страшно, как звучит!). Размещённым веб-приложениям пройти легче, чем привилегированным приложениям, поскольку они используют менее уязвимые API. Перед отправкой заявки в Marketplace проверьте критерии отбора. Наиболее важные части (ИМХО).

Есть и другие критерии, описанные в ссылке выше — и правила могут измениться без предварительного уведомления. Прочитайте эту страницу, это стоит вашего времени. Приложение могут отклонить из-за мелочи, которую легко исправить, но это огромная трата времени. Лучше сделать всё правильно с первого раза (рецензенты любят утверждать хорошие приложения!).

Подготовка приложения для отправки

Необходимые шаги для отправки приложения в Marketplace различаются в зависимости от того, размещённое у вас или упакованное приложение. Размещённое приложение просто должно быть доступно в Интернете с корректным MIME-типом и манифестом. Упакованные приложения нужно сжать используя zip и это заслуживает особого внимания.

Многие разработчики совершают ошибку, выбирая папку содержащую файлы приложения и архивируя её. Это приводит к тому, что zip-файл содержит папку, а внутри папку с содержимым приложения. Это неверный способ упаковки приложения для Firefox OS. Правильный способ упаковки файлов и папок состоит в том, чтобы манифест оказался в корне архива. На Mac OS X и Linux вы можете использовать терминал для перехода к папке приложения и использовать команды вроде zip -r myapp.zip * для правильного сжатия, как показано на скриншоте ниже.

Настройки для разработки приложения на firefox os

Правильно сжатые файлы

Этот zip-файл мы отправляем в Marketplace.

Отправка приложения в Marketplace

Теперь, когда ваше приложение готово и вы твёрдо уверены что оно отвечает критериям отбора, настало время отправить его в Marketplace. Для этого перейдите в раздел Разработка приложений. Внутри страницы щёлкните на Представить приложение в верхнем меню.

Настройки для разработки приложения на firefox os

Эта ссылка приведёт вас к форме добавления новых приложений, как показано на скриншоте ниже.

Настройки для разработки приложения на firefox os

Отправка нового приложениям

На этом экране вам предложат выбрать следующие варианты:

После выбора передвигаемся ко второму экрану. В этой книге мы делаем упор на упакованные приложения, но работа с размещёнными приложениями похожа.

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

После загрузки файла, он подвергается автоматической обработке и в отчёте показывает несколько вариантов.

Настройки для разработки приложения на firefox os

После загрузки архива

Из скриншота выше видно, что приложение, которое я отправил в Marketplace не содержит ошибок, но есть предупреждения. Не обращая внимания на предупреждения, проверьте минимальные требования для этого приложения. В нашем случае галочка с пункта Smartphone-Sized Displays (qHD) должна быть снята, потому что наше приложение адаптируется к любому размеру экрана.

Следующий шаг называется Шаг № 3: Подробности на котором вы заполняете информацию о вашем приложении, например категории, описание, скриншоты и др.

Настройки для разработки приложения на firefox os

После заполнения всех деталей происходит процесс отправки. Теперь остаётся только ждать одобрения от рецензентов Marketplace. Поздравляем, вы загрузили приложение на Firefox OS!!!

На странице Мои представления вы можете проверить состояние ваших приложений и изменить информацию, если это необходимо.

Резюме

Поздравляем!!! Теперь у вас есть новое приложение на Firefox Marketplace и вы освоили новый рынок!

Надеюсь, вам понравилось это краткое руководство. Я планирую обновлять и расширять это руководство часто — так что держите ваши глаза открытыми и зарегистрируйтесь для обновлений. Если вы скачали эту книгу с Leanpub то всё хорошо, потому что вы будете получать сообщения об обновлениях по почте. Если вы скачали её где-то ещё, то перейдите на официальную страницу в Leanpub и зарегистрируйте адрес электронной почты. Это бесплатно и, нет, вы не будете получать спам. Обещаю.

Теперь, когда вы стали частью группы создателей приложений на Firefox OS, станьте частью большого сообщества Mozilla. Помогите сохранить Интернет свободным и открытым пользователями для пользователей. Присоединяйтесь к нам на http://www.mozilla.org/contribute/ и помогите Firefox OS расти!

Последнее изменение: 05.08.2023

❯ Предыстория

Попытки запихнуть веб в обычные, повседневные приложения предпринимались ещё в нулевых. Сам Стив Джобс, представляя первый iPhone в 2007 году заявлял, что нативные приложения новому устройству не нужны и пользователь должен довольствоваться сайтами-сервисами, которые можно было вывести на главный экран.

Как показала практика — он несколько поспешил с этим заявлением и через год, к моменту выхода iOS 2.0, поддержка нативных приложений была всё же добавлена. Концепция веб-приложений была весьма перспективной и в 2007 году, однако в те годы веб был гораздо менее функционален. Даже банального Canvas не было, не то что WebGL, что отсекало немаловажный для мобилок сегмент — игры.

Однако, несмотря на это, большинство приложений в iOS всё ещё оставались нативными, а полноценно концепция «ОС на JS/HTML» была реализована немного позже. И не абы где, а в одном из последних коммуникаторов от Palm — Pre, который работал на базе совсем молодой тогда webOS. Да, той самый webOS, что используют смарт-ТВ от LG.

И выбор такого стека технологий можно понять, ведь HTML/CSS легко сделать адаптивными, их несложно стилизовать/подгонять под необходимый дизайн, а порог вхождения в JS гораздо ниже, чем, например, в Java. Да и банально нет необходимости писать сложный UI-фреймворк с нуля, где нужно учесть не просто UX виджетов (кнопочки, флажки, радио-кнопки, ползунки), но и их правильную расстановку в независимости от разрешения экрана и DPI. Портировал условный WebKit и вот у тебя уже есть мощнейший движок для построения UI, чем сейчас и пользуется, например, Discord.

Другой вопрос, что далеко не каждый смартфон может потянуть достаточно тяжелую по тем меркам «веб-морду», а девайсы с приличным по тем временам железом (256мб ОЗУ, 512мб ПЗУ, ARMv6 чипсет с частотой 500-1ггц) стоили достаточно дорого. Зачем было рисковать, покупая смартфон с неизвестной ОС, когда за те же деньги можно было взять iPhone или активно набирающий обороты Android?

Ситуация поменялась ближе к 2013 году. Разработчики чипсетов MediaTek и Spreadtrum «уронили» цену смартфонов до ~1-1.5 тысяч рублей (MediaTek), 800-1.000 рублей (Spreadtrum, это не шутка если что. Статью про этот девайс я писал), что позволяло задуматься об альтернативах для бюджетного рынка. Да и Qualcomm сделал бюджетный чипсет Snapdragon 200, который дал зеленый свет очень дешевым смартфонам на Windows Phone (который, видимо, был прибит к «квалкому»). Тут пришла и Mozilla со своей открытой FireFox OS, кодовое название которой было B2G (Boot2Gecko, Gecko — название браузерного движка FireFox) и метить она решила в самое перспективное место — бюджетный рынок. Ребята нашли заинтересованных производителей, которые согласились выпустить один или несколько смартфонов на перспективной мобильной ОС: ими оказалась GeeksPhone, ZTE, Spice и Alcatel.

Но пользователь в большинстве случаев не знает, что там под капотом: какая версия ядра linux, или какая версия Gecko там используется. Для него гораздо важнее была подсистема Gaia, которая как раз таки и реализовывала весь интерфейс системы и её стандартные приложения. Всё, что вы видите на экране смартфона — это просто WebView (окно браузера), и запущенная в ней Gaia, как обычное PWA приложение! Поскольку все приложения в Gaia были построены на базе стандартной связке HTML/CS/JS, система экспортировала в JavaScript необходимые методы для работы с базовыми возможностями телефона: API для звонков, приёма и отправки SMS, контактов и прочих фишек. Даже сервисы баз данных были написаны на JS: для хранения плейлистов в плеере (который доступен любым приложениям) используется обычный localStorage!

Отдельного упоминания стоит подход к разработке от Mozilla. Поскольку FireFox OS — открытая система, огнелисы сразу же открыли магазин приложений и предоставили публичное «SDK» для разработки приложений. Но почему я выделил SDK в кавычки? Потому что никакого SDK и не было, как и какого либо эмулятора! Приложения предлагалось разрабатывать и отлаживать прямо в обычном десктопном FireFox, без каких-либо систем сборок! Разработчик просто создаёт манифест, указывает там главную страницу приложения (index.html) и начинает реализовывать своё приложение, попутно отлаживая его в обычном десктопном браузере. Разработка приложений напоминала разработку самых обычных расширений и в этом была главная изюминка FF OS. Если Cordova или PhoneGap требовали установки SDK, системы сборки (а то и покупки мака, если речь идет об iOS), а отладка производилась только на устройстве/эмуляторе, то у огнелиса было всё куда проще:

Но давайте же познакомимся с загадочным девайсом поближе: недавно я купил новый Alcatel Fire E за 1.000 рублей на известной онлайн-барахолке. Со слов продавца, когда-то он из интереса купил этот смартфон, но этот девайс ни разу ему не пригодился. До этого читатель с Хабра предложил мне два LG Fx0 с условием перепрошивки одного из них на Android и отправки обратно, но увы, у него не получилось его отправить. Я плотно заинтересовался темой мобилок на FFOS и начал мониторить онлайн-барахолки, и буквально через день человек выложил этот смартфон, который я в итоге и забрал.

Как уже было сказано выше, смартфон — новый. У него неплохо держит АКБ, несмотря на возраст, он с полным комплектом и в пленках. Но что он из себя представляет в 2023? Давайте посмотрим!

Установка Firefox OS Simulator

Если у вас есть устройство под управлением Firefox OS 1.1, то вы должны установить Firefox OS 1.1 Simulator, потому что ваше устройство не может общаться с новым Менеджером приложений.

После установки Firefox следующим шагом является установка Firefox OS Simulator, который будет использоваться для тестирования наших приложений. После установки и запуска Firefox перейдите в меню Инструменты и выберите Дополнения.

Меню с выбранным пунктом Дополнения

Используя строку поиска в правом верхнем углу найдите Firefox OS Simulator и включите дополнение, нажав кнопку установки.

Настройки для разработки приложения на firefox os

Менеджер дополнений показывает симулятор

Внимание! Если вы работаете с Firefox 29 или новее и у вас есть устройство на Firefox OS 1.1 или выше, то вам понадобится ещё один вариант Firefox OS 1.1 Simulator, который в настоящее время не представлен в списке дополнений. Эта бета-версия, но это лучшее что сейчас есть. Вы можете получить его для Mac OS X, Linux или Windows. Просто перетащите XPI-файл в Firefox и следуйте инструкциям по установке. Если вы хотите следить за квестом как сделать работающим Firefox OS 1.1 Simulator в Firefox 29, то проверьте баг № 1001590.

После установки дополнения вы сможете получить доступ к симулятору через меню .

Настройки для разработки приложения на firefox os

Где можно найти симулятор после его установки

Возможности и особенности

В этой главе мы узнали, что всё необходимое для разработки приложений на Firefox OS — это браузер Firefox, Менеджер приложений и Firefox OS Simulator (а также хороший текстовый редактор).

Теперь мы настроили все необходимые инструменты и давайте перейдём к основным понятиям, прежде чем построим наше первое приложение.

❯ Знакомимся с Fire E

Комплектация смартфона самая стандартная: кабель, блок питания 5в и сам смартфон. Ничего необычного, никаких трехэтажных текстурированных коробочек тут нет, всё таки это смартфон бюджетного сегмента, цена которого составляла всего 70 евро, которые превратились в 5.000 рублей в 2014 году. Устройство выпускалось в двух видах: первый вариант работал на ОС Android (OT-6014), а второй на FireFox OS (OT-6015).

Зато дизайном смартфон заметно отдаёт iPhone 5: здесь несъемный аккумулятор, три хардварные кнопки (громкость и включение) и одна тач-кнопка «домой», которая выполняет точно такую же функцию, как и в яблочном девайсе. В целом, выглядит достаточно стильно, материалы приятные, а вес устройства не «лопатный», но и не слишком лёгкий.

Вообще, что касается стандартного софта, то необходимый минимум тут точно есть: почтовый клиент, СМС/ММС, номеронабиратель, контакты с возможностью импорта как с SIM, так и с почтового аккаунта, галерея, камера, музыка, браузер. Что приятно — Mozilla не ограничивала доступ к API этих приложений. Благодаря системе разрешений, любая программа может использовать системные функции устройства и реализовать, например, импорт контактов из проприетарного формата. Удобно!

С отображением html-писем проблем у него, по понятным причинам, нет. 🙂

Что касается функций звонилки, то здесь всё стандартно. Одна симка в сим-лотке, контактов (вроде бы) не ограниченное число (а хранятся они тоже в localStorage, и к ним тоже есть доступ через API), номеронабиратель приятный и не имеет тенденции каждую цифру делать запрос к контент-провайдеру с приличными тормозами.

Что касается мультимедиа, то помимо поддержки microsd флэшек, смартфон имеет встроенную память 4гб, из которых 1гб доступно приложениям, а ещё 1гб под пользовательские данные. Не густо, но не сказать что всё прям плохо — немного музычки накидать явно можно! Сам плеер приятный, умеет в плейлисты, сам сканирует музыку, качество звука приемлемое. Ну, в целом, совсем плоским звуком грешат в основном бюджетные спредтрумы из-за простенького DAC, и некоторые медиатеки, а у квалкомов звук всегда был как минимум на уровне.

Настроек камеры немного, но на FxOS выходили в основном бюджетные устройства (кроме красавца LG Fx0), так что жаловаться на качество съемки смысла нет. Есть минус — картинки в превьюшках неправильно пережимаются, от чего фото на экране смартфона кажутся хуже, чем есть. Впрочем, в наше время камеры работают в паре с цифровыми сигнальными процессорами, которые и делают всю магию картинки типа программного боке, а как организовать такую работу из жабоскрипта для меня загадка. 🙂

Есть даже рабочие карты Here Maps, прямо как на Nokia. Работают шустро, но GPS не работает из-за санкций. Что забавно, ведь именно благодаря Here, навигация и карты всё ещё живут на люмиях и FireFox OS:

И вот мы плавно подходим к главной жемчужине FireFox OS: браузер! Да, это FireFox, с дизайном а-ля 2014 год, но тем не менее это всё ещё полноценный браузер в браузере. Другой вопрос, что он может загрузить в 2023? Ну, немалую часть сайтов, FireFox образца 2014 года ещё может загрузить, но вот корректно отображать далеко не все. Даже старая версия «Хабра» здесь работает не очень, а DTF или Pikabu браузер загрузить совершенно не в состоянии. Слишком сильно поменялись веб-технологии за последние 9 лет.

Настройка Менеджера приложений

Если вы работаете в текущей версии Firefox (29 или новее), тогда для вас доступен Менеджер приложений. Одного Менеджера не достаточно, поэтому вам по-прежнему необходимо установить симуляторы, чтобы была возможность проверять всякие штуки без подключения устройства к вашей машине. У Mozilla есть обширная документация о Менеджере приложений, так что посмотрите её, если хотите узнать всё подробнее.

Менеджер приложений может управлять несколькими версиями Firefox OS, поэтому вы можете установить симуляторы для версии 1.3, 1.4 и 2.0. Помните, что чем ниже номер версии, тем раньше она вышла. И я имею в виду баги, но так как у нас может быть несколько версий, то мы просто должны установить их все, чтобы была возможность тестировать наши приложения в различных версиях Firefox OS.

Примечание редактора. В новых версиях Firefox нельзя вызвать Менеджер приложений через меню, потому что от него отказались в пользу WebIDE. Для открытия Менеджера наберите в адресной строке about:app-manager.

После запуска Менеджера приложений вы увидите подобный экран.

Настройки для разработки приложения на firefox os

Справка по Менеджеру приложений

Вам надо нажать кнопку Установить Симулятор и выбрать желаемую версию для установки.

Менеджер приложений использует ADB для соединения с подключенными устройствами. Он способен обрабатывать все ADB, если вы установите Adb Helper через Установка дополнения Adb Helper.

Советую установить все доступные версии симулятора и Adb Helper.

Настройки для разработки приложения на firefox os

Страница для загрузки симулятора и Adb Helper

Движок Gecko

Браузеры используют различные движки для отображения веб-страниц: Google Chrome и Opera используют Blink (ответвление WebKit), Internet Explorer использует Trident, а Safari использует WebKit. У Mozilla есть свой собственный движок называемый Gecko, который применяется в Firefox для десктопа, Firefox для Android и Firefox OS. Поскольку эти продукты используют одинаковый движок, то возможна разработка для Firefox OS с помощью браузера Firefox для настольных компьютеров (но с некоторыми оговорками).

Какие программы вам нужны?

Для разработки и тестирования приложений сделанных для Firefox OS вам понадобится:

Помните, что Firefox OS Simulator сделан для работы с устройствами под управлением Firefox OS от 1.0 до 1.1. Устройства под управлением Firefox OS 1.2+ будем тестировать с помощью Менеджера приложений, о котором поговорим позже.

Поскольку множество людей работает с Firefox OS 1.1 и большинство устройств, продаваемых в магазинах по прежнему на версии 1.1, мы оставим инструкции по Firefox OS 1.1 Simulator, но также представим, как выполнить те же задачи в Менеджере приложений. Я представлю Менеджер приложений первым, потому что он современнее, а затем расскажу о старом симуляторе.

Менеджер приложений идёт в комплекте с Firefox 29 или новее. Подробнее он описан в соответствующей главе.

❯ Заключение

FireFox OS была весьма перспективной на мой взгляд. Низкий порог вхождения для разработки приложений, хорошая производительность и открытость системы могли сделать свое дело и пробить бюджетный сегмент рынка для подобных смартфонов. Однако, этого не случилось. ОС была слишком мало распространена, а у Mozilla нет ресурсов Google для продвижения своей системы и крутых конкурсов на разработку приложений. Даже Windows Phone потихоньку начинала терять рынок в 2014, а BlackBerry вообще оказалась финансовым провалом. Рыночек уже поделили ведь.

Но идея FireFox OS ещё жива и её реализовали на кнопочных мобилках! KaiOS всё ещё жива, регулярно выходят новые версии и новые кнопочные смартфоны с поддержкой современных технологий. Но даже тут появился ещё более дешевый конкурент в лице кнопочников на Android. А вам понравился девайс? Жду ваше мнение в комментариях!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *