Pregătirea pentru sistemul de operare Firefox

Firefox OS este un întreg sistem de operare mobil construit în jurul tehnologiilor web deschise! Sistemul de operare a fost construit de la început pentru a permite HTML5 și Javascript să descopere întregul potențial al hardware-ului dispozitivului. Citiți mai departe pentru a afla mai multe despre sistemul de operare Firefox și despre modul în care puteți începe să vă porniți astăzi aplicațiile web existente pe platformă!

Firefox OS

Firefox OS este un sistem de operare mobil creat de la zero de Mozilla. Ea a evoluat dintr-un depozit GitHub gol într-un sistem deschis cu surse deschise în mai mult de un an, ceea ce singur este destul de impresionant. Construite de la ideea goală până la produsul final, expediate de companiile din întreaga lume. Să vedem de ce acest lucru este atât de special și de ce ar trebui chiar să vă pasă.

Cel mai important lucru despre sistemul de operare Firefox este tehnologia utilizată - este doar internetul! Toți dezvoltatorii din front-end și programatorii JavaScript pot crea cu ușurință aplicații HTML5 direct pentru platformă. Webul mobil are acum tehnologia și accesul la hardware pe care îl merită. Aplicațiile web API vă permit să "vorbiți" direct cu hardware-ul dispozitivului utilizând JavaScript, făcând posibilă realizarea de fotografii, trimiterea de mesaje sau inițierea apelurilor.

Să fim clari în legătură cu publicul țintă - nu este că OS Firefox va lupta direct cu dispozitivele high-end cu iOS și Android la bordul țărilor foarte dezvoltate. Obiectivul principal este de a oferi o experiență smartphone celor care, în mod normal, nu ar avea șansa de a cumpăra un astfel de dispozitiv. Telefoanele cu sistemul de operare Firefox vor fi o alternativă ieftină pentru cei care ar dori să treacă de la telefoanele cu funcții și să se scufunde în internet folosind browsere moderne. Există o cerere mare pentru acest lucru și Mozilla vrea să umple golul!

Este ecosistemul "nou vechi", deoarece tehnologiile web sunt deja cunoscute pentru mii de programatori JavaScript și dezvoltatori frontali. Nu trebuie să învățați o nouă limbă sau un mediu de dezvoltare. Tot ce știi despre web poate fi folosit pentru a crea aplicații uimitoare pentru sistemul de operare Firefox. Portarea jocului dvs. este foarte simplă și necesită eforturi minime pentru a obține.

În acest articol vă voi trece prin întregul proces de a avea doar un joc normal HTML5 mobil, optimizând-o pentru dispozitivul de operare Firefox și publicând rezultatul în Firefox Marketplace - îl voi folosi pe Căpitanul Rogers ca exemplu.

Testarea sistemului de operare Firefox

Există două modalități de a testa jocul pentru sistemul de operare Firefox - utilizând un simulator de software sau prin conectarea dispozitivului propriu-zis. Ambele sunt utile și ar trebui să începeți cu Simulatorul pentru a vedea dacă jocul funcționează. După aceasta, împingerea jocului pe dispozitiv va fi în cele din urmă testată de luptă și vă va ajuta să scăpați de toate bug-urile. Apoi vă puteți concentra asupra procesului de publicare.

Simulator

Există o modalitate de a testa jocul sau aplicația dvs. fără a avea nevoie de un dispozitiv real în mână. Este Firefox OS Simulator și îl puteți instala simplu ca plugin în browserul dvs. Firefox. Nu veți putea testa comenzile tactile, dar cel puțin puteți vedea dacă jocul funcționează și se comportă așa cum ar trebui. Folosind simulatorul puteți, de asemenea, împingeți aplicația direct pe dispozitiv.

Dispozitivele disponibile

Dacă aveți într-adevăr nevoie de propriul dvs. dispozitiv puteți obține de la Geeksphone. Acestea oferă două telefoane de previzualizare pentru dezvoltatori - Keon și Peak. Aceste două dispozitive sunt foarte asemănătoare cu produsele finale care vor fi vândute în întreaga lume. Primele dispozitive comerciale sunt deja anunțate: ZTE Open și Alcatel OneTouch Fire sunt oferite de Movistar în Spania pentru un preț scăzut de 69 Euro (fără contract, cu card microSD de 4 GB și 30 Euro pentru apeluri). Următorul pe listă este Polonia, Columbia și Venezuela, cu mai multe țări în curând.

Firefox Marketplace

Când aveți deja un sistem de operare pe dispozitiv, ar fi frumos să instalați unele aplicații pe acesta. Aici intră Firefox Marketplace - magazinul Mozilla oferă tot ce aveți nevoie. Diferența dintre magazinele iOS sau Android și Firefox Marketplace este că ultima este deschisă și gratuită. Toată lumea își poate conduce propria piață, nu vă limitați la singurul loc unde puteți distribui aplicații și jocuri. Nici măcar nu trebuie să direcționați oamenii către piața însăși, dacă doriți să instalați jocul pe dispozitivul dvs. - există un API pentru asta! Folosind API Open Web App puteți crea un simplu buton "instalează această aplicație" folosind un buton HTML care apelează câteva linii de JavaScript. Utilizatorii finali vor putea apoi să instaleze jocul direct pe dispozitivul lor.

Piețe pentru Toți

Operatorii de telefonie mobilă vor oferi piețe pentru clienții proprii cu aplicațiile vizate în special pentru aceștia. Acest lucru le va oferi și posibilitatea de a începe să câștige din nou bani și să nu mai fie doar furnizorii de date. Este important să înțelegeți că toți jucătorii din spațiul de operare al sistemului de operare Firefox pot beneficia de sprijinul sistemului.

detectabilitatea

Există un potențial imens în modul în care sunt construite aplicațiile web - puteți căuta conținut în interiorul lor fără a fi nevoie să le descărcați. Deoarece este vorba doar de cod HTML, CSS și JavaScript, puteți căuta orice vă interesează și nu vă limitați la titlu sau la descriere - este indexabil și poate fi căutat ca orice site web.

Disponibil deja

Cel mai bun lucru este că puteți adăuga deja aplicațiile și jocurile dvs. - Marketplace iese din etapa beta și se deschide pentru clienți, însă a fost disponibil pentru dezvoltatori de ceva timp. Ambele părți au avut timp să se adapteze în mod corespunzător mediului și să se pregătească pentru platformă. Nu există aproape nici o concurență - am găsit aproximativ 500 de jocuri pe Marketplace. Este greu chiar să încerci să o comparați cu App Store din Apple unde puteți găsi sute de mii de aplicații. Acum este momentul potrivit pentru a profita de ocazie, Firefox Marketplace așteaptă conținutul dvs.!

Studiu de caz - căpitanul Rogers

Așa cum am menționat mai devreme, vă voi arăta întregul proces de conversie a jocului obișnuit HTML5 pe cel de lucru pe deplin optimizat pentru dispozitivul Firefox OS și disponibil gratuit în Firefox Marketplace. Jocul Captain Rogers a fost construit folosind ImpactJS și este foarte simplu - tu ești curajosul căpitan Rogers și trebuie să zbori printr-un câmp de asteroizi pentru a scăpa de flota răului Kershan. A fost creată ca o colaborare între jocurile Enclave (Andrzej Mazur - codificare) și Blackmoon Design (Robert Podgórski - grafică). Accentul principal a fost acela de a face acest lucru mic și simplu, dar complet funcțional și lustruit.

Optimizați-vă jocul pentru sistemul de operare Firefox

Există numeroase modalități de optimizare a jocului dvs. pentru platforma de operare Firefox, iar majoritatea acestora pot fi aplicate și în cazul jocurilor obișnuite HTML5 - este totuși o tehnologie web, nu? Mai jos veți vedea câteva dintre tehnicile de bază care vor accelera rapid performanța, vor face jocul mai flexibil, sau doar ar face să arate mai bine.

Moz-opace

Cea mai ușoară modalitate de a accelera redarea canvasului în joc pe sistemul de operare Firefox este să adăugați Moz-opace să-i atribuiți:

 

Dacă pânza dvs. nu este transparentă sau nu trebuie să afișați nimic în spatele ei, trebuie doar să setați acest atribut și acesta va îmbunătăți automat orele de redare.

CSS Transform Scaling

Scalarea pânzei este importantă atunci când nu cunoașteți rezoluția dispozitivului țintă. Ar părea ciudat dacă jocul ar lua doar o treime din ecran sau mai rău când veți vedea doar jumătate din acesta. Această metodă nu este pentru orice tip de joc - dacă doriți să păstrați o artă de pixeli, trebuie să gestionați scara în mod diferit, dar pentru majoritatea jocurilor ar trebui să funcționeze. Iată codul responsabil pentru scalarea:

 var scarăX = canvas.width / window.innerWidth; var scarăY = canvas.height / window.innerHeight; var scarăToFit = Math.min (scaleX, scaleY); stage.style.transformOrigin = "0 0"; stage.style.transform = "scară (" + scaleToFit + ")";

Acest lucru vă va asigura că jocul dvs. va umple întregul spațiu disponibil, dar va păstra scara astfel încât jocul să nu fie distorsionat. Pe dispozitivele mari, jocul va părea puțin cam neclar, așa că nu uitați să aveți grijă de asta.

Reprezentarea celui mai apropiat vecin

Dacă lucrați la un joc de artă pixel este foarte important să aveți pixeli clari în loc de cei neclare - opriți netezirea folosind JavaScript și sunteți gata să mergeți!

 var context = canvas.getContext ("2d"); context.webkitImageSmoothingEnabled = false; context.mozImageSmoothingEnabled = false; context.imageSmoothingEnabled = false;

Datorită acestui fapt, veți avea pixelii cât mai clare posibil, astfel încât jucătorii să se poată bucura pe deplin de arta pixelilor din joc.

Alte tehnici

Există mai multe tehnici de explorare, cum ar fi utilizarea pânzei offscreen, redarea întregului pixel, mai multe pânze pentru straturi și alte trucuri reci - consultați acest articol incredibil de util pe Mozilla Hacks scris de Louis Stowasser și Harald Kirschner. Unele dintre tehnicile acoperite în acest articol sunt folosite în motorul de joc ImpactJS, deci nici măcar nu trebuie să-l implementați singur.

Pregătiți-o pentru Marketplace-ul Firefox

Există două tipuri de aplicații în Marketplace - ambalate și auto-găzduite. Primul tip este doar a .zip pachet care conține toate materialele care vor fi încărcate în Marketplace. Cel de-al doilea tip, găzduit de sine, este o legătură directă cu jocul pe care îl găzduiți pe propriul server. Aplicațiile pachete sunt permise să obțină mai mult acces la hardware, deoarece sunt livrate de la un server securizat, cunoscut de Mozilla, în timp ce aplicațiile găzduite automat sunt mai ușor de instalat și de schimbat.

Manifest File

Pentru ambele tipuri de aplicații, cel mai important fișier este
manifest.webapp care conține toate informațiile necesare. Un fișier manifest este doar un simplu obiect JSON din care toate datele vor fi furnizate pentru setările inițiale ale Firefox Marketplace:

 "name": "Aplicația mea", "descriere": "Descrierea mea merge aici", " "dezvoltator": "name": "Numele sau organizația dvs.", "url": "http://your-homepage-here.org", "default_locale": "en"

Pur și simplu trebuie să furnizați informații de bază cum ar fi numele aplicației, descrierea acesteia, furnizarea de pictograme pentru a fi afișate în Marketplace, informații de bază despre dvs., cum ar fi numele dezvoltatorului și urlul dezvoltatorului, iar la final localul implicit versiunea lingvistică implicită). Puteți valida fișierul manifest pentru a vă asigura că este lipsit de bug-uri.

Permisiuni

Principala diferență între aplicațiile ambalate și cele auto-găzduite sunt permisiunile - aplicațiile ambalate pot fi privilegiate sau certificate. Când aveți nevoie de acces la hardware-ul aparatului, cum ar fi camera sau lista de contacte, trebuie să listați totul în secțiunea permisiuni.

 "permisiuni": "contacte": "descriere": "Necesar pentru completare automată", "acces": "readcreate", "alarme": "description"

Aplicațiile privilegiate au acces la API-uri Web care au mai multe permisiuni pentru a accesa datele hardware și de utilizator de pe dispozitiv și sunt mai mari în ierarhie decât aplicațiile web obișnuite. Există, de asemenea, cel mai înalt nivel numit aplicații certificate care au control asupra funcțiilor critice ale sistemului, cum ar fi de exemplu dialerul implicit - numai Mozilla și partenerii oferă acele tipuri de aplicații.

Self Managed Manifests

Când nu aveți nevoie de acces la WebAPI-urile de pe dispozitiv și doriți să aveți actualizări ușoare și instantanee, puteți decide să găzduiți singur jocul. Există câteva lucruri pe care trebuie să le țineți minte pentru a vă oferi jocul fără probleme.

Cache toate fișierele pentru a permite utilizatorilor să joace jocul offline și pentru a salva pe trafic pe serverul dvs.. Nu stocați în memoria cache fișierul manifest deși acest lucru ar putea duce la probleme atunci când doriți să actualizați jocul. Fișierul manifest trebuie să aibă o extensie .webapp și trebuie să fie deservită de aceeași origine. Tipul de conținut trebuie să fie setat la application / x-web-app-manifest + JSON, Este recomandată codarea UTF-8.

Când folosiți Apache, aruncați linia respectivă în .htaccess fişier:

 Aplicația AddType / x-web-app-manifest + json .webapp

Pe Nginix trebuie să editați mime.types fișier și adăugați linie similară:

 tipuri // ... aplicație / x-web-app-manifest + json webapp; 

Pentru testarea aplicației puteți utiliza, de asemenea, Pagini GitHub pentru găzduire. Mozilla a lucrat cu GitHub pentru a avea toate setările în loc, amintiți-vă că numele fișierului manifestului dvs. se termină .webapp.

Încărcarea jocului dvs. pe piață

Este timpul să adăugăm jocul nostru pe piață, astfel încât utilizatorii să îl poată găsi ușor pe sistemul de operare Firefox. Ne-am pregătit jocul pentru a fi trimis la Firefox Marketplace - mergeți la Hub-ul dezvoltatorului și conectați-vă (sau înregistrați-vă) pentru a obține acces. Căutați butonul "Trimiteți o aplicație nouă" - aceasta vă va duce la formularul de trimitere.

Veți avea diferite opțiuni de alegere - dacă aplicația dvs. este gratuită sau plătită, jocul este găzduit sau ambalat, veți avea, de asemenea, o listă de platforme acceptate. În partea de jos există un validator valid care va asigura că fișierul manifest este 100% corect. Un alt pas este doar completarea detaliilor cum ar fi capturi de ecran, alte suporturi media, informații de asistență și detalii despre aplicații. După ce ați terminat - jocul a fost trimis!

Tot ce trebuie să faceți acum este să așteptați ca jocul dvs. să fie acceptat - nu trebuie să dureze mai mult de câteva zile. După aceea, jocul dvs. este publicat și disponibil pentru toată lumea să vadă și să se joace!

Privind prin panoul de administrare, veți observa pagina de statistici unde veți găsi toate informațiile despre instalări. Alte opțiuni includ editarea unui joc deja depus, gestionarea membrilor echipei, compatibilitatea, plățile, starea și versiunile. Urmăriți recenziile utilizatorilor deoarece acestea reprezintă o sursă importantă de feedback!

Lecții învățate

După cum puteți vedea, este foarte ușor să vă adaptați jocul la Firefox OS și să îl publicați în Marketplace. Documentația este gata, toate informațiile necesare vă așteaptă. A fost o mulțime de distracție de lucru pe căpitanul Rogers cu sistemul de operare Firefox în minte. Sunt foarte curios cum jocurile Enclave vor fi percepute pe piață în comparație cu alți dezvoltatori. Dacă aveți opinii cu privire la jocul în sine (sau doriți să îl testați pe dispozitiv și să oferiți feedback), sistemul de operare Firefox sau Marketplace nu ezitați să îl discutați în comentarii!

Concluzie

Sunteți la marginea pieței mobile cu creștere rapidă, cu un potențial uriaș în care editorii învață rapid că HTML5 este tehnologia viitorului. Există posibilități nesfârșite, trebuie doar să luați șansa, să profitați de ocazie și să depășiți concurența!

Nu știm cum va funcționa - cred cu adevărat în ideea de a avea un sistem de operare mobil HTML5, dar viitorul depinde de reacția pieței împreună cu clienții. Într-un fel sau altul, vom avea momente interesante pentru dezvoltarea platformei HTML5. Nimic nu este un efort pierdut, deoarece jocurile rulează pe toate platformele și beneficiază de un acces special în sistemul de operare Firefox. Chiar dacă sistemul de operare Firefox nu funcționează, lucrați este compatibil cu rețeaua web, și nu cu o singură platformă.

Cod