Вступление

Firefox OS

Firefox OS

Firefox OS — это новая мобильная платформа, разработанная компанией Mozilla и её партнерами. Устройства, работающие под управлением Firefox OS, уже доступны в 22 странах и их станет ещё больше до конца года. Мы уже видим появление планшетов и прототипов с другим форм-фактором. Будущее 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.

Классные новости. Cordova 3.5, которая используется в PhoneGap, уже поддерживает Firefox OS. Вы можете узнать больше о поддержке Firefox OS в Cordova, перейдя по ссылке Cordova support for Firefox OS на MDN и проверить текущий статус этого проекта в Mozilla Cordova.

Платформа, достойная 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.

Firefox OS и разработка игр

Мы много говорили о Firefox OS, но ещё недостаточно об играх. Как указывалось выше, Firefox OS нацелен на другой рынок, нежели Android и iOS, и исследует совершенно другой сегмент, который пока не имеет устоявшихся игроков. Это прекрасная возможность для новых разработчиков, чтобы сделать себе имя на создании качественных игр для новой платформы.

Довольно важным моментом является то, что поскольку мы не используем ничего, кроме веб-технологий, то можем быстро адаптировать свою игру для Firefox OS для запуска на других мобильных платформах. А также в Интернете, подобно созданию игр для Facebook или независимого предложения на своём сайте или игровом портале. HTML5 даёт нам только инструменты для кросс-платформенной разработки, которая может простираться от видеоигр до мобильных устройств. Вооружившись этими инструментами вы можете распространять свою игру повсюду! Хотя это книга ориентирована на Firefox OS, мы не хотим, чтобы вы разрабатывали исключительно для нашей платформы. Наша цель заключается в том, чтобы вы могли создать свою игру и распространять её повсеместно, включая Firefox OS.

Как вы увидите, Firefox OS это замечательная платформа, для которой очень легко разрабатывать. В ней довольно просто делать повторения проектов и экспериментировать с новым материалом.

Зачем разрабатывать игры?

Представьте, что вы можете охватить все категории приложений. Под категорией я имею в виду первый уровень навигации, когда вы находитесь в мобильном магазине приложение, где перечисляются такие вещи как: игры, фотография и видео, социальные сети, продуктивность, путешествия... — а вы знаете, что на долю игр приходится 50% от приложений, установленных на смартфонах. В основном, если два человека возятся со своими мобильниками, то один из них играет в игру, а другой делает что-то скучное.

Мы все согласны, что мобильные приложения служат очень хорошим источником дохода и многие люди зарабатывают этим на жизнь. Если вы планируете зарабатывать на жизнь мобильными приложениями, то игры очень заманчивый выбор, но на мой взгляд это не лучший довод для их разработки. Когда кто-то спрашивает вас, почему вы разрабатываете игры, то ответ о доли рынка и возможном доходе правилен. Но когда вы спрашиваете себя, находясь в застенках собственного разума, почему вы это делаете — единственный приемлемый ответ — мне нравится разработка игр!!! Если вы начинаете свой путь только с денежной мотивацией, то будете опечалены в долгосрочной перспективе (или станете миллионером, но это другое дело).

Вашей главной мотивацией для разработки игр должна стать зудящая идея в вашем разуме, которую нужно исследовать и принести в мир. Игры могут быть продуктом, но они также являются формой искусства. Никто, глядя на электронные таблицы, не говорит об эстетических решениях по выбору цветовой палитры, игры же люди считают нечто желанным и запоминающимся. Просто подумайте о толпе, которую привлекает Е3, сравнив её с толпой на ежегодном съезде по поводу макросов для электронных таблиц.

Разработчики игр живут в рамках между продуктом и искусством. Игры могут исследовать эмоции, проверять артистичные способности, играть с атмосферой и делать нечто, что игроки будут нежно помнить в течение долгого времени (я до сих пор плачу, когда я думаю о Айрис умирающей в Final Fantasy, хотя знаю, что это просто игра). Игры содержат истинный потенциал в качестве формы выражения, а также в качестве продаваемого продукта.

Если вы решите влезть в эту авантюру, то замечательно проведёте время, просто помните, что построение большого мастерства требует много времени и знаний. Моцарт был когда-то лопочущим глупости ребёнком, прежде чем начал сочинять шедевры (по крайней мере, надеюсь, что был). Потратьте время на обучение и не забудьте получить удовольствие.

Резюме

HTML5 уже здесь и будет становиться только лучше. Firefox OS является новой открытой мобильной операционной системой от Mozilla полностью основанной на веб-технологиях. Эта система построена на открытых и надёжных реализациях HTML5 и предлагает WebAPI — коллекцию API для доступа к оборудованию и сервисам операционной системы с помощью JavaScript. Эти новые API в настоящее время стандартизированы через World Wide Web Consortium (W3C) и, как мы надеемся, будут приняты в будущем другими браузерами.

В следующей главе мы поговорим об играх!

Автор: Андре Гарсия
Последнее изменение: 23.03.2024