Проект Mozilla намерен выпустить операционную систему B2G во втором квартале 2012 года

Методы

Разработчики Mozilla провели несколько совещаний, на которых обсудили план разработки проекта B2G (Boot to Gecko), в рамках которого планируется создать операционную систему, загружающуюся сразу в web-браузер и нацеленную на использование только в мобильных устройствах. В соответствии с опубликованным планом, готовый для конечного применения релиз B2G ожидается во втором квартале 2012 года. Первая тестовая версия для смартфонов будет выпущена в конце нынешнего года. Текущие наработки проекта можно загрузить с GitHub.

Первый тестовый выпуск будет готов для повседневного использования на смартфонах разработчиков. В качестве основы B2G будут использованы ядро Linux и низкоуровневые компоненты из платформы Android. Вместо виртуальной Java-машины Dalvik для запуска приложений будет задействован web-стек Mozilla, основным компонентом которого станет web-браузер. На платформе будут выполняться web-приложения, написанные с использованием HTML5-технологий, CSS и JavaScript. Расширенные функции приложений, такие как доступ к аппаратному обеспечению и телефонии, будут разрабатываться с использованием Web API, который в дальнейшем планируется передать в организацию W3C для формирования единого стандарта.

В первой тестовой версии B2G планируется довести до готовности компоненты Web API для доступа к функциям телефонии, отправки сообщений и доступа к адресной книге. Также планируется реализовать API для работы с акселерометром, камерой, GPS (определение местоположения), для управления экраном и энергопотреблением, для оценки заряда аккумулятора и доступа к системным настройкам. Из приложений планируется подготовить домашний экран, менеджер контактов, простой web-браузер, программу блокировки экрана, интерфейс для осуществления звонков и программу для работы с SMS.

Параллельно будет вестись разработка модели разделения привилегий, при которой гарантируется безопасный доступ из web-приложений к расширенным возможностям. Приложения будут достаточно плотно изолированы друг от друга и смогут обращаться к расширенному API только при предоставлении пользователем соответствующих полномочий. Например, без специального разрешения web-приложение не сможет прочитать список контактов или передать произвольную команду подключённому к компьютеру USB-устройству. Вместо предоставления доступа к реальной файловой системе, программы будут ограничены внутри виртуальной ФС, построенной с использованием IndexedDB API и изолированной от основной системы.

В первом квартале 2012 года на базе первой тестовой версии будет сформирована демонстрационная предварительная версия продукта. Число приложений будет расширено, появится полнофункциональный web-браузер, менеджер настроек, магазин-каталог приложений, программа для чтения электронных книг, менеджер для работы с фотографиями, программа для работы с камерой и медиаплеер. В Web API появится поддержка программного интерфейса для взаимодействия с каталогом приложений, API для управления параметрами сети, сенсорами (приближение, освещённость и т.п.), Bluetooth, USB, NFC. Планируется создание виджетов, использующих OpenGL для вывода на экран, обрабатывающих ввод пользователя, обеспечивающих проигрывание видео и аудио. Перед выпуском конечного релиза будет проведена работа над интеграцией поддержки WebRTC и созданием компонента для автоматизации установки обновлений.

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