Эмулятор Firefox OS
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
20.12.2019г.
Просмотров: 5466
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 6643
Комментарии: 1
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 7926
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 8216
Комментарии: 2
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 7210
Комментарии: 0
Django 2 в примерах

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Эмулятор Firefox OS

Статьи / Эмулятор Firefox OS

Автор: Петр Семилетов

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

Не так давно разработчики Firefox выступили с заявлением о создании операционной системы Firefox OS, нацеленной на мобильные устройства. Этим летом уже должны появиться в продаже первые смартфоны на основе Firefox OS. Но сами по себе они будут лишь обыкновенными телефонами, если не появится субкультура разработчиков приложений для Firefox OS. Ее появление и развитие зависит и от инструментальных средств, предоставляемых для той или иной платформы. В случае с Firefox OS такое средство всего одно, не считая встроенного в браузер Firefox отладчика JavaScript. Дополнение под названием Firefox OS Simulator [1] – все, что необходимо, чтобы начать разработку и тестирование программ для Firefox OS. Для его работы понадобится браузер Firefox версии не ниже 20.

Итак, один лишь Firefox OS Simulator. Никаких SDK, возни с путями к компилятору и библиотекам. Исходные коды вы будете писать в любимом текстовом редакторе. Программа для Firefox OS – это приложение на HTML5, состоящее из обычных HTML-файлов и кода JavaScript, оснащенное особым файлом-описанием под именем manifest.webapp. Каталог с таким исходником упаковываете в ZIP-архив, и пакет готов! В этой статье не буду касаться особенностей распространения программ для Firefox OS – для этого существует подробная документация, но опишу, как запускать их из симулятора.

Firefox OS Simulator предоставляется для Linux, Windows и Mac. Новые версии симулятора выпускаются регулярно и часто. Судя по странице, посвященной обсуждению ошибок и предложению новых функций, взаимодействие между разработчиками симулятора и пользователями происходит вяло.

Основы Firefox OS

Прежде чем говорить о симуляторе, давайте разберемся, что представляет собой Firefox OS. Как и многие подобные «операционные системы», это – Linux с программной надстройкой. Я бы предпочел, чтобы таких настроек вовсе не было, а производители телефонов и планшетов выпускали некие Linux-совместимые устройства (открывая исходники драйверов к специфичной аппаратуре). Программы на чистом Linux работали бы в разы быстрее и не требовали столь мощных процессоров и больших объемов памяти. Ведь, по сути, вся многоядерная мощь смартфонов и планшетов уходит на обслуживание медленной Java. Вдумайтесь – декодирование звука и видео нынче возложено на чипы, куда вшиты кодеки. Чем же занимается многоядерный и центральный процессор с тактовой частотой, перевалившей за гигагерц? Раскладывает пасьянсы?

Компьютер конца 20-го века с частотой процессора 300 мегагерц позволял делать программный рендеринг графики, превосходящей современные мобильные игры – при том, что в них рендеринг просчитывается отдельным графическим процессором. Так происходит ли эволюция вычислительной техники или это – бег на месте с одновременным наращиванием бесполезной мышечной массы? Я включаю старую игровую приставку «Денди» – игра запускается мгновенно. В давешнее время, DOS-игры с дискет запускались за секунды. А время запуска современной игры приближается к тем программам на аудиокассетах для Spectrum. Хорош прогресс за двадцать лет!

В Firefox OS поверх быстрого Linux идет прослойка, скорость работы которой пока трудно оценить. Симулятор – не показатель.

«Линуксовый» слой Firefox OS называется Gonk. Собственно говоря, Gonk – это маленький дистрибутив Linux, под который портируется, и под управлением коего работает движок Gecko. Gonk включает в себя ядро Linux и ряд библиотек (libusb, bluez и другие), и отвечает за работу программ и за взаимодействие со всем железом, начиная от видеосистемы до GPS и средств ввода-вывода.

Поверх Gonk работает Gecko, движок Firefox. Причем Gecko, портированный специально под Gonk.

Этот особый Gecko имеет доступ к функциям, предоставляемым Gonk, в том числе и в области телефонии.

Gecko – та программная среда, в которой выполняются приложения для Firefox OS и ее пользовательский интерфейс – Gaia.

Gaia – самый верхний слой Firefox OS. Как и другие приложения этой системы, Gaia написано на HTML5 и использует предоставляемые Gecko Web API, не касаясь уровня Gonk напрямую. Gaia предоставляет стандартную для смартфонов/телефонов функциональность – несколько рабочих столов, ярлыки для запуска программ, приложения звонков, контактов, галерею изображений и тому подобное.

Рисунок 1. Пользовательский интерфейс Firefox OS в эмуляторе
Рисунок 1. Пользовательский интерфейс Firefox OS в эмуляторе

Таковы составляющие Firefox OS. В документации к ней часто можно встретить сокращение B2G, которое обозначает «Boot to Gecko» – так раньше назывался проект Firefox OS. И до сих пор разработчики чаще пишут B2G, нежели Firefox OS. Ибо короче.

Исходный код B2G открыт [2] под лицензией Apache License V2.0. Существует также обширная документация [3] по Firefox OS, включая сведения о портировании. Теоретически и практически, Firefox OS можно запускать на многих уже существующих современных устройствах, если на них работает Android 4.Часть драйверов в Firefox OS взята именно из Android 4.

На сегодня Firefox OS реально запустить тремя способами – на смартфоне или планшете, в эмуляторе и на обычном компьютере. Каждый имеет свои плюсы и минусы. Наиболее полно все функции Firefox OS работают, конечно же, при запуске на настоящем мобильном устройстве. Только с него вы сможете по-настоящему позвонить абоненту или отправить смс-сообщение. Поддержка мультимедийных форматов на мобильном устройстве также шире, ибо «на борту» Firefox OS есть только свободные кодеки. Воспроизведение OGG Vorbis – пожалуйста, а вот MP3 – нужен кодек с чипсета (либо производитель смартфона добавит в код Firefox OS свой лицензированный кодек). Ибо за каждый использованный в устройстве декодер и кодер, производитель должен платить патентные отчисления держателям патентов на MP3. Конечно, в итоге платит покупатель телефона, но считается, что платит производитель. На сегодня в эмуляторе не поддерживаются MP3, AAC, H.264 (MP4) и WebM.

Эмулятор

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

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

Итак, API и отдельные функции, доступные только на реальных мобильных устройствах:

  • Telephony – телефония;
  • WebSMS – смс-сообщения;
  • WebBluetooth – поддержка Bluetooth;
  • Ambient Light – датчик освещенности;
  • Proximity – датчик приближения;
  • Network Information – сведения о сотовой сети;
  • Vibration – вибрация;
  • navigator.onLine и offline – свойство браузера и событие, которое сигнализирует веб-приложению о режиме работы браузера (онлайн либо оффлайн). Нужны, чтобы веб-приложение могло, например, синхронизировать какие-нибудь данные, когда браузер снова переходит в онлайн-режим.

После установки симулятор Firefox OS становится доступным для запуска через меню Firefox «Инструменты – Веб-разработка – Firefox OS Simulator». Вы попадаете на страницу Dashboard, откуда можно не только включать эмулятор, но и активировать отладочный режим, а также выбирать приложения для запуска в симуляторе. Об этом мы поговорим подробнее чуть позже.

В простейшем случае достаточно нажать слева, в секции «Simulator», кнопку переключателя из положения «Stopped» в «Running» – и симулятор запустится в считанные секунды. Появится его окно, весьма нагружающее процессор. Что мы видим? Мы видим пользовательский интерфейс Gaia таких размеров, каким бы он выглядел на среднестатистическом смартфоне.

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

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

В Gaia можно перелистывать рабочие столы, зайти в настройки Firefox OS, запускать предустановленные программы и устанавливать новые из «Market"- хранилища программ для Firefox OS

При работе с веб-браузером на воспроизведение поддерживаются только мультимедийные форматы вроде Ogg Vorbis

Сохранение файлов из сети работает странным образом – вместо того, чтобы записываться в память эмулируемого устройства, файлы сохраняются в каталог «Загрузки» браузера Firefox вне эмулятора, то есть того браузера, из которого вы запускаете симулятор Firefox OS.

Но вопрос более широк и важен, чем может показаться. Кажется, эмулятор Firefox OS на текущем этапе своего развития является эдакой закрытой извне коробкой, которую трудно наполнить своими файлами. Это значит, что протестировать какое-то свое приложение, которое обращается к мультимедийным или другим файлам в памяти эмулируемого устройства ,либо не получится, либо сопряжено с уловками. Например, между разработчиками передается неофициальный рецепт – если в каталоге extensions\r2d2b2g@mozilla.org\profile\ создать подкаталог с именем fake-sdcard, туда можно будет изнутри веб-приложения записывать данные и считывать их оттуда.

Запуск и отладка

Как запускать в эмуляторе свои программы? Переходим на страницу запуска эмулятора, Dashboard. Там есть кнопка «Add directory». Нажимаете ее и отправляетесь в каталог с исходником программы – причем в нем должен лежать файл-манифест. Его-то и выберите для открытия. Все, после этого запустится эмулятор, а в нем – программа.

Так можно добавлять (посредством кнопки Add Directory) сколько угодно приложений. Срабатывает и локальный каталог, и сетевой адрес.

После добавления – программы на Dashboard рядом с ее именем появляются три кнопки – Remove (удалить из списка), Update (обновить в эмуляторе, если вы правили исходник), Run (запустить эмулятор и программу в ней). При таком запуске переключать кнопку эмулятора Running/Stopped не нужно, Firefos OS Similator стартует автоматически.

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

Для пошаговой отладки программы надо определенным образом запустить отладчик. Делается это так. При работающем эмуляторе, под кнопкой-переключателем Running/Stopped становится доступной новая кнопка – «Connect». Либо можете сделать себе закладку на страницу chrome://browser/content/devtools/connect.xhtml. На этой странице, в полях «Узел» и «Порт» оставляем значения по умолчанию и нажимаем кнопку «Соединиться». Ждем, пока отладчик свяжется с устройством и переходим по предложенной ссылке chrome://browser/content/devtools/connect.xhtml#. Появляется окно «Инструменты разработки», где на вкладке «Отладчик» доступен собственно отладчик JavaScript. Можно ставить точки останова, управлять выполнением программы, просматривать значения переменных.

Рисунок 2. Окно отладчика

Рисунок 2. Окно отладчика 

Завершая обзор, расскажу еще об одной интересной функции эмулятора Firefox OS. В его главном окне есть кнопка (крайняя правая снизу) GPS Coordinates. Она вызывает окно, где вводятся географические координаты, либо включается их автоматическое определение. Это позволяет тестировать функции, связанные с GPS. Отмечу, что на борту эмулятора уже находится одно картографическое приложение Here Maps, которое время от времени работает хорошо – вероятно, зависит от его версии.

Разработчикам Firefox удалось создать замечательную технологию, которой нужно лишь время, чтобы весь вложенный в нее потенциал заработал с полной силой – это относится и к эмулятору, и к самой Firefox OS. Сама идея Firefox OS и доступность средств создания приложений к ней, думаю, в ближайшее время привлекут к системе внимание и будут способствовать выпуску устройств с Firefox OS и множества программ.

  1. Сайт Firefox OS Simulator – https://people.mozilla.com/~myk/r2d2b2g.
  2. Хранилище с исходным кодом B2G – https://github.com/mozilla-b2g.
  3. Документация по Firefox OS – https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS.

Комментарии отсутствуют

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru