Проект Mozilla представил две первые модели телефонов на базе мобильной платформы Firefox OS, подготовленные проектом Geeksphone совместно с компаний Telefonica. Устройства позиционируется как ознакомительные модели (Developer Preview), ориентированные на разработчиков мобильных приложений для платформы Firefox OS, предлагающей унифицированный Web API для разработки с использованием стандартных HTML5-технологий, CSS и JavaScript.
![](/img/extnews/7626/0.jpeg)
Модель Keon позиционируется как простой и недорогой телефон. Keon построен на базе процессора Qualcomm Snapdragon S1 1Ghz, поддерживает UMTS 2100/1900/900 (3G HSPA) и GSM 850/900/1800/1900 (2G EDGE), оснащён 3.5-дюймовым сенсорным экраном (HVGA) с поддержкой мультитач, 4 Гб Flash, 512 Мб ОЗУ, 3-мегапиксельной камерой, GPS, MicroUSB, MicroSD, Wifi N, датчиками освещённости и приближения, гироскопом, аккумулятором 1580 mAh.
Модель Peak имеет более продвинутые характеристики и отличается использованием двухядерного процессора Qualcomm Snapdragon S4 1.2Ghz, 4.3-дюймового экрана (qHD IPS Multitouch), двумя камерами 8 и 2 мегапикселей, аккумулятором 1800 mAh. Телефоны не содержат средств привязки к вендору и поддерживают автоматическую установку обновлений по сети. Стоимость устройств не сообщается, но утверждается, что цены будут очень привлекательные и конкурентоспособные. В продажу телефоны поступят в феврале.
Существует несколько способов уже сейчас опробовать новую мобильную платформу и поэкспериментировать с разработкой приложений, без покупки телефона. Самым простым способом является установка симулятора платформы, созданного в форме дополнения для обычного браузера Firefox. Опробовать написанные для Firefox OS приложения можно на телефоне с платформой Android, установив на неё мобильную версию Firefox и приложение Marketplace for Android. Не боящиеся трудностей энтузиасты могут собрать Firefox OS для смартфонов, изначально поставляемых с платформой Android, таких как Samsung Galaxy S2.
![](/img/extnews/7626/1.jpg)
![](/img/extnews/7626/2.jpg)
![](/img/extnews/7626/3.jpg)
Развиваемая в рамках проекта Firefox OS мобильная платформа, базируется на идее использования браузерного окружения вместо рабочего стола. В отличие от ChromeOS платформа Firefox OS ориентирована прежде всего на мобильные устройства и предоставляет расширенный Web API для создания специализированных мобильных web-приложений, в полной мере использующих все возможности современных телефонов. В качестве основы используется ядро Linux и низкоуровневые компоненты из платформы Android. Вместо виртуальной машины Dalvik для запуска приложений задействован web-стек Mozilla.
Для распространения обновлений в Firefox OS будут использоваться уже опробованные технологии, используемые проектом Firefox. Для решения вопросов противодействия попыткам распространения вредоносного ПО будет использован опыт поддержки каталога дополнений для Firefox. Приложения будут распространяться через каталог-магазин Mozilla Marketplace, который будет поддерживать распространение как бесплатных, так и платных приложений. Для организации идентификации пользователей будет задействован сервис Mozilla Persona, основанный на технологии BrowserID.
Пользовательский интерфейс платформы будет сформирован из набора web-приложений Gaia. В состав будут включены такие программы, как web-браузер, калькулятор, календарь-планировщик, приложение для работы с web-камерой, адресная книга, интерфейс для осуществления телефонных звонков, клиент электронной почты, система поиска, музыкальный плеер, программа для просмотра видео, интерфейс для SMS/MMS, конфигуратор, менеджер фотографий, рабочий стол и менеджер приложений с поддержкой нескольких режимов отображения элементов (cards и grid).
Приложения будут построены с использованием стека HTML5 и расширенного программного интерфейса Web API, который позволит организовать доступ приложений к аппаратному обеспечению, телефонии, адресной книге и другим системным функциям. Вместо предоставления доступа к реальной файловой системе, программы будут ограничены внутри виртуальной ФС, построенной с использованием IndexedDB API и изолированной от основной системы.
Созданные с использованием Web API программы смогут работать не только в окружении Firefox OS, но в любом поддерживающем стандарты web-стеке. В итоге, будет сформирован набор стандартов для создания универсальных мобильных web-приложений, которые могут обеспечить функциональность, свойственную обособленным мобильным стекам, как правило контролируемым отдельными производителями (Android, iOS, Apple iOS и Windows Phone).
Из элементов, составляющих Web API, можно отметить:
- Geolocation API для определения местоположения;
- WebGL и типизированные массивы в JavaScript;
- Gamepad API - интерфейс для взаимодействия с игровыми пультами;
- Screen Orientation API для управления ориентацией экрана;
- navigator.getUserMedia - организация доступа к локальным устройствам, которые могут генерировать мультимедийные потоки (микрофон, web-камера, плата захвата видео и т.п.);
- Battery Status API для слежения за статусом заряда аккумулятора;
- HTML Media Capture - набор расширенных атрибутов к тегу "input", предназначенных для обеспечения доступа к локальным средствам записи аудио, видео и изображений (например, web-камере и микрофону);
- Network Information API, позволяет web-приложениям получить доступ к информации о состоянии сети, такой как тип соединения текущего устройства, а также позволяет отследить события потери и возобновления сетевого соединения;
- Web Telephony API для доступа к функциям телефонии (приём и инициирование звонков);
- Web SMS API для отправки и приёма SMS-сообщений;
- Vibration API для управления вибросигналом;
- File API - даёт возможность организовать обработку локальных файлов через JavaScript после их выбора пользователем в web-форме, но без загрузки на сервер;
- IndexedDB - позволяет использовать в JavaScript локальные индексируемые БД, работающие в режиме ключ/значение и поддерживающие операции упорядоченной выборки данных, при которой ключи из базы выводятся отсортированными в определенном порядке;
- Другие интерфейсы: API для доступа к системным настройкам, API для работы с адресной книгой, API для взаимодействия с каталогом приложений, API для управления сенсорами (приближение, освещённость, акселерометр и т.п.), API для работы с Bluetooth, USB и NFC. Задействование WebRTC.