Разработчики из сообщества Mozilla анонсировали проект B2G (Boot to Gecko), в раках которого планируется создать похожую на ChromeOS операционную систему, загружающуюся сразу в web-браузер. В отличие от ChromeOS проект B2G не предназначен для настольных систем, а нацелен на использование на мобильных устройствах, таких как интернет-планшеты и смартфоны. Инициатором проекта является Андреас Гал (Andreas Gal), автор pdf.js, просмотрщика PDF, написанного целиком на JavaScript.
B2G находится на стадии планирования, создана только wiki-страница и пустой проект на GitHub. Информации пока мало и она достаточно расплывчата. Судя по обсуждению в списке рассылки mozilla.dev.platform, с целью обеспечения совместимости с существующим оборудованием B2G будет построен на ядре и низкоуровневых компонентах платформы Android, в которой виртуальная Java-машина Dalvik и все связанные с ней средства выполнения конечных приложений, будут заменены на web-стек Mozilla. Как и в ChromeOS основным компонентом системы станет web-браузер, в котором будут выполняться web-приложения, написанные с использованием HTML5-компонентов, CSS и JavaScript. Дополнительно будет предоставлено специальное API для задействования в приложениях низкоуровневых подсистем и для обеспечения доступа к ресурсам аппаратного обеспечения.
Mozilla считает, что Web может вытеснить традиционные проприетарные и привязанные к одному производителю мобильные стеки для разработки приложений. Для того, чтобы открытые web-технологии могли служить лучшей основой для создания будущих настольных и мобильных приложений, Mozilla продолжает продвигать новые web-ориентированные решения, способные поддерживать функциональность и местами превосходить по возможностям конкурирующие программные стеки. В настоящий момент сообщество Mozilla созрело для нового рывка и намерено устранить пробелы, удерживающие web-разработчиков от создания web-приложений, которые могут выступать полным аналогом обычных программ для мобильных платформ, таких как Android, Apple iOS и Windows Phone.
Стратегической целью развития проекта B2G является выявление и устранение недоработок в существующих web-стандартах. В конечном счете планируется довести web-стандарты до состояния, которые позволят создавать полнофункциональные мобильные приложения без использования специфичного для каждой мобильной платформы API. Разнообразие программных интерфейсов на рынке мобильных систем приводит к фрагментации разработки, в качестве выхода из сложившейся ситуации Mozilla намерена предложить универсальный API. Построенные с использованием данного API приложения не будут привязаны к Firefox или какому-то отдельному продукту или браузеру, и смогут выполняться в любом окружении, поддерживающем web-стандарты. Среди областей, которые планируется унифицировать, можно отметить API для доступа к оборудованию, телефонии, адресной книге, web-камере и другим подсистемам мобильных платформ.
Для разработки B2G, как полноценной и независимой операционной системы для Web, потребуется развитие нескольких областей, среди которых:
- Создание прототипа нового API для задействования в web-приложениях доступа к аппаратному обеспечению (web-камера, USB, Bluetooth, NFC и т.п.) и расширенной функциональности, предоставляемой операционной системой (телефония, SMS и т.п.);
- Разработка модели разделения привилегий, при которой гарантируется безопасный доступ из web-приложений к расширенным возможностям;
- Создание низкоуровневой прослойки для обеспечения загрузки на Android-совместимых устройствах (из платформы Android будут использованы Linux-ядро, драйверы, системные библиотеки и низкоуровневые утилиты);
- Формирование набора стандартных пользовтельских приложений, который будет охватывать спектр возможностей, предоставляемых базовым составом классических мобильных платформ. Планируется как разрабатывать подобные приложения с нуля, так и портировать существующие проекты.