Firefox OS — новая платформа для смартфонов
Mozilla работает над собственной мобильной операционной системой. В отличие от iOS и Android она не такая громоздкая, обеспечивает высокую скорость работы и подходит для слабых смартфонов.
Mozilla работает над собственной мобильной операционной системой. В отличие от iOS и Android она не такая громоздкая, обеспечивает высокую скорость работы и подходит для слабых смартфонов.
Программисты Mozilla, являющиеся сторонниками общепринятых стандартов и открытых систем, не хотят мириться с таким положением вещей. В 2013 году, согласно плану, должны появиться первые устройства с новой мобильной операционной системой.
Только веб-код: за и против
Firefox OS, как и браузер Firefox, разрабатывается в качестве системы с открытым кодом. Основные ее компоненты можно портировать на любые аппаратные средства. Особенностью ОС является ее программная модель: в ней будут выполняться только те приложения, которые написаны на языках программирования, используемых в веб-разработке, то есть HTML 5, CSS и JavaScript. Конечно, Андроид и iOS допускают использование веб-кода в своих приложениях, однако он помещается в собственный программный контейнер. Ограничившись только языками веб-программирования, мы получим более высокую скорость работы при выполнении некоторых задач, так как нет необходимости в загрузке дополнительных интерфейсов, например для Java. Вместо этого с системой загружается лишь браузерный движок — на Galaxy S II данный процесс занимает в целом 9 с. Такой подход позволит и снизить энергопотребление. Но у использования одних только языков веб-программирования есть и недостатки, если речь идет о выполнении сложных приложений, так как в этом случае Firefox OS прибегает к JavaScript. Скриптовый язык, имевший первоначально множество ограничений, за последние несколько лет претерпел качественные улучшения за счет оптимизации браузеров, однако, несмотря на это, он далек по своим возможностям от Java. В Firefox OS любой, кто хоть немного владеет программированием, способен самостоятельно создать для себя новый пользовательский интерфейс. Понять, почему это возможно, поможет подробное
знакомство с архитектурой системы (см. схему ниже).
При включении загрузчик активирует нетребовательное к ресурсам Linix-ядро Gonk. С ним запускаются соответствующие драйверы аппаратной части — по сути те же самые, что используются в Андроид. Затем процесс init активирует остальные компоненты операционной системы (например, системные службы), при этом он одновременно выполняет роль менеджера процессов. Таким образом, операционная система Firefox практически ничем не отличается от других ОС, таких как Андроид или Linux. Init запускает также центральный процесс-посредник B2G, который в конечном счете и управляет системой и выступает в качестве интерфейса между ядром и другими компонентами — например, камерой, дисплеем или GPS-модулем. К тому же B2G отвечает за связь с модулем RIL (Radio Interface Layer). Модуль RIL встраивается соответствующим производителем смартфонов и обеспечивает работу системы мобильной связи.
«Сердцем» системы является движок Gecko. Он обрабатывает веб-код приложений и пользовательского интерфейса Gaia, так как и последний полностью написан с использованием языков веб-программирования. Чтобы настроить Gaia в соответствии со своими потребностями, необходимо владеть HTML и CSS или прибегнуть к HTML-редактору. Инновационным решением эту операционную систему делают интерфейсы Web API движке Gecko. Они играют роль связующего звена с ядром и аппаратной частью. Впервые JavaScript способен взаимодействовать с компонентами смартфона — например, телефоном или камерой. Пока реализованы еще не все функции: более подробную информацию вы найдете на странице arewemobileyet.com. Так, телефонные звонки, написание SMS-сообщений и фотосъемка уже не проблема, а вот API для USB и NFC пока еще в работе. Встроенный в JavaScript код WebGL выполняется непосредственно графическим чипом. Благодаря этому достигается такая же производительность, что и при использовании систем Android или iOS.
В настоящее время Firefox OS находится на стадии альфатестирования, но инфраструктура уже готова. Mozilla заключила соглашения о сотрудничестве с компаниями Deutsche Telekom, Telefonica (O2), Sprint и итальянским оператором Telecom Italia. Alcatel и ZTE уже производят первые устройства с чипами Qualcomm, которые станет предлагать компания Telefonica в начале 2013 года — прежде всего для растущего рынка недорогих смартфонов стоимостью менее 4000 рублей, так как требования к аппаратной части не выходят за пределы разумного, а сама Firefox OS бесплатна.
Подробно об ОС
В операционной системе Firefox OS компания Mozilla использует проверенные компоненты: Linux-ядро Gonk управляет аппаратной частью посредством драйверов Андроид, а браузерный движок Gecko отвечает за выполнение приложений. Также реализован пользовательский интерфейс Gaia, разработанный на базе HTML 5.
Приложения
В отличие от соответствующих компонентов других мобильных операционных систем программы в Firefox OS написаны на языках, применяемых в веб-разработке (HTML 5, CSS, JavaScript). При запуске через сенсорный интерфейс какого-либо приложения оно обращается к используемому браузером Firefox движку Gecko.
Интерфейс
Gaia и Gecko — компоненты системы, с которой взаимодействует пользователь. Одним из новшеств браузерного движка Gecko являются встроенные интерфейсы Web API, с помощью которых, используя JavaScript, на аппаратную часть можно перенаправлять необходимые команды, например, при совершении звонков или написании SMS-сообщений. В настоящее время доступно уже более 20 интерфейсов Web API.
Ядро
Ядро операционной системы составляют стандартные библиотеки из мира UNIX/Linux, а также драйверы Андроид. Определенная часть операционной системы (до процесса init) является по сути ОС Андроид. Только ядру позволено напрямую обращаться к аппаратным средствам и управлять ими. К тому же движок Gecko выполняется с ограниченными правами — так система защищает себя от проникновения инфицированного кода.