Firefox OS
Firefox OS — это новая мобильная платформа, разработанная компанией Mozilla и её партнерами. Устройства, работающие под управлением Firefox OS, уже доступны во многих странах и их станет ещё больше до конца года.
Firefox OS
Ориентированная на экономически слабый рынок у Firefox OS есть миссия — дать доступ в сеть ближайшему миллиарду людей. Для достижения этой цели устройства на Firefox OS построены так, чтобы они выступали прекрасным первым смартфоном наряду с конкурентной ценой. Устройства на Firefox OS не должны сравниваться со смартфонами премиум класса вроде Apple iPhone и Samsung Galaxy S; они сделаны как альтернатива телефонам, чтобы люди могли перейти на Firefox OS по доступной цене и получили опыт работы со смартфонами.
На развивающихся рынках, таких как Бразилия и Колумбия, смартфоны с приличной производительностью, как правило, слишком дороги для среднего потребителя. Люди могут купить дешёвые телефоны, но платформы используемые в этих телефонах предназначены для производительных устройств. Как правило, аппаратная начинка в телефонах быстро устаревает, что приводит к печальному опыту пользователей. Firefox OS специально разработана для работы на ограниченном «железе», обеспечивая приличную работу для пользователя.
Другим отличающимся фактором Firefox OS является открытость. Текущей тенденцией мобильных операционных систем является проприетарность, когда каждый производитель имеет привилегию заставить разработчиков и пользователей идти нужным путём, независимо от их желания. Вспомните, как Apple хотела запретить все другие языки кроме Objective-C. В этих проприетарных экосистемах вы можете распространять свои приложения только через разрешённые каналы. При этом производитель, как правило, удерживает значительную часть денег от любых покупок, сделанных через устройство.
Кроме блокировки доступа разработчикам к проприетарным каналам распространения, эти системы зажимают вас в рамках SDK (software development kit, комплект средств разработки). Если вы хотите сделать нативное приложения сразу для iOS и Android используя официальные инструменты, то вам нужно программировать, соответственно, одно приложение на Objective-C, а другое на Java. Это означает, что разработчик использует очень мало одинакового кода между проектами (возможно только некоторые медиа-ресурсы). Подобные задачи требуют, чтобы разработчик учился двум языкам и создавал одну и ту же программу дважды.
Firefox OS выделяет себя с помощью «HTML5» как платформы разработки. HTML5 является маркетинговым термином и применяется для обозначения постоянно развивающейся коллекции веб-стандартов, известных как HTML, CSS и JavaScript. Эти свободные от каких-либо отчислений стандарты реализованы в основных браузерах и они же делают возможным создание веб-приложений. Используя технологии, которые включают в себя HTML5, миллионы веб-разработчиков уже могут кодить для Firefox OS. И приложения построенные для Firefox OS легко портировать на другую платформу с помощью оболочек, такой как Phonegap.
Платформа, достойная HTML5
Веб повсюду. Он на компьютере, мобильном телефоне, Smart ТВ, и даже на ваших игровых приставках. JavaScript, язык веб-программирования, является одним из самых популярных
языков в мире. Как уже упоминалось, когда люди говорят об HTML5 они, как правило, подразумевают набор из трёх технологий, известных как HTML, CSS и JavaScript. Последние достижения в HTML принесли новые возможности — современные элементы форм, веб-сокеты и дополнительная семантическая разметка — по сравнению с XHTML 1.0 и HTML 4.01. Достижения в CSS добавили множество новых возможностей, таких как Flexbox и CSS Animations, которые позволяют гораздо проще делать красивые адаптивные макеты. А последние достижения в JavaScript принесли значительные улучшения производительности и новые возможности, при этом оставаясь простыми в использовании как для начинающих, так и для опытных разработчиков.
Firefox OS, по сути, является продолжением мобильного веба. Делая HTML5 гражданином первого класса, Mozilla открыла свою платформу миллионам веб-разработчикам. Даже если некоторые другие производители браузеров реализуют HTML5 в своих мобильных разработках, Firefox OS выходит за их рамки за счёт коллекции API для доступа к базовому оборудованию и к системе с помощью JavaScript. Эти API все вместе известны как WebAPI.
Доступ к оборудованию с помощью WebAPI
Некоторые ранние платформы также пытались создать операционные системы, которые применяют веб-технологии для создания приложений. Например, когда iPhone был представлен миру, единственным способом для создания приложения было использование веб-технологий. Однако эти веб-приложения имели ограничения в том, что у них не было доступа к оборудованию или устройству, а значит, можно построить только ограниченный набор приложений. Когда Apple позже позволила разработчикам программировать приложения на Objective-C и дала доступ к возможностям устройства это стимулировало огромное число инноваций. К сожалению, веб-приложениям не дали такой доступ и, таким образом, оставили их как «граждан второго сорта». Это сделало их непривлекательными как для пользователей, так и для разработчиков и они не могли конкурировать с нативными приложениями в этой системе.
Когда мы упоминаем про возможности устройства мы на деле подразумеваем доступ к функциям и сервисам на уровне операционной системы и оборудования. Мы говорим о таких вещах как обновление адресной книги, отправка SMS, доступ к камере и медиа-галерее. WebAPI в Firefox OS является средством, с помощью которого вы получите доступ ко многим из этих возможностей.
Другая ранняя платформа WebOS также предлагала доступ к оборудованию через JavaScript, но никогда не пыталась стандартизировать свои API. Mozilla работает с W3C и другими заинтересованными сторонами, чтобы убедиться, что WebAPI является открытым стандартом, и что другие браузеры тоже его примут. Поскольку эти API реализованы в других браузерах, ваши приложения потребуют всё меньше и меньше изменений для работы на других платформах.
Важно подчеркнуть, что WebAPI не является исключительным для устройств на Firefox OS. Mozilla внедряет его и для других платформ, на которых запускается Firefox, таких как настольный компьютер и Android. Таким образом, вы можете использовать ваше открытое веб-приложение в Firefox OS, Firefox для десктопа и Firefox для Android.
Свобода для разработки и дистрибуции
Как и все, что делает Mozilla, Firefox OS разработана открытой и бесплатной. Всё
развитие можно проследить в хранилище Mozilla B2G на GitHub. С Firefox OS
у вас есть свобода следить и содействовать развитию системы, а также есть свобода распространять свои приложения через собственные каналы или через Firefox Marketplace. Что на самом деле удивительно, так это то, что все системные приложения написаны на HTML5, так что вы можете проверить их и посмотреть, как они работают совместно.
Основная идея в том, что Mozilla не ограничивает вас ни в чём. Если вы хотите взять исходный код и поменять его для собственных нужд, так и будет. Если вам нужно создать приложения для внутреннего пользования в вашей компании или если вы желаете распространять свои творения на своём веб-сайте, то вы вольны это сделать. Как правило, на других платформах вы ограничены официальным магазином приложений как единственным каналом для распространения своих приложений. Firefox OS также имеет официальный магазин под названием Firefox Marketplace, который имеет процесс утверждения, но вы можете распространять свои приложения за пределами этого магазина, если захотите. В Интернете вы можете хостить ваш сайт где вы пожелаете, так и с Firefox OS вы можете сделать то же самое с вашими приложениями.
Это происходит, к сожалению, с небольшой оговоркой: часть WebAPI слишком чувствительна к безопасности, чтобы разрешить любому её использовать. Для дистрибуции приложений, которые задействуют некоторые «привилегированные» API вам надо, чтобы ваши приложения были подписаны и рассмотрены сотрудниками Mozilla.
Резюме
HTML5 уже здесь и будет становиться только лучше. Firefox OS является новой открытой мобильной операционной системой от Mozilla и полностью основана на веб-технологиях. Эта система построена на открытых и надёжных реализациях HTML5 и предлагает WebAPI — коллекцию API для доступа к оборудованию и сервисам операционной системы с помощью JavaScript. Эти новые API в настоящее время стандартизированы через World Wide Web Consortium (W3C) и, как мы надеемся, будут приняты в будущем другими браузерами.
В следующей главе мы быстро научимся настраивать всё, что вам нужно для разработки под Firefox OS.