Förberedelser för Firefox OS

Firefox OS är ett helt mobilt operativsystem byggt på öppen webbteknologi! OS har byggts från grunden för att tillåta HTML5 och Javascript att släppa ut hela maskinvarans potential. Läs vidare för att lära dig mer om Firefox OS och hur du kan börja porta dina befintliga webbapplikationer till plattformen idag!

Firefox OS

Firefox OS är ett mobilt operativsystem som skapats från början av Mozilla. Den har utvecklats från ett tomt GitHub-arkiv till ett helt blåsigt öppet system på mer än ett år, vilket ensam är ganska imponerande. Byggd från den blotta ideen till den slutliga produkten, skickad av företagen över hela världen. Låt oss se varför det här är så speciellt och varför ska du bry dig om det.

Det viktigaste med Firefox OS är den teknik som används - det är bara webben! Alla front-end-utvecklare och JavaScript-programmerare kan nu enkelt skapa HTML5-program direkt för plattformen. Mobilbanan har nu den teknik och hårdvaruåtkomst det förtjänar. Web API kan du "prata" direkt till maskinvaran med hjälp av JavaScript, vilket gör det möjligt att ta bilder, skicka meddelanden eller initiera samtal.

Låt oss vara tydliga om målgruppen - det är inte så att Firefox OS direkt strider mot avancerade enheter med iOS och Android ombord i hög utvecklade länder. Huvudmålet är att ge smartphone-upplevelse till dem som normalt inte skulle ha möjlighet att köpa en sådan enhet. Telefoner med Firefox OS kommer att vara ett billigt alternativ till dem som vill byta från funktionstelefoner och dyka in i webben med moderna webbläsare. Det finns en stor efterfrågan på detta och Mozilla vill fylla gapet!

Det är det "gamla gamla" ekosystemet, eftersom webbtekniken redan är känd för tusentals JavaScript-programmerare och utvecklare i framkant. Du behöver inte lära dig ett nytt språk eller en utvecklingsmiljö. Allt du vet om webben kan användas för att skapa fantastiska Firefox OS-applikationer. Porting ditt spel är mycket enkelt och kräver minsta ansträngningar att uppnå.

I den här artikeln går jag igenom hela processen från att bara ha ett vanligt mobilt HTML5-spel, optimera det för Firefox OS-enheten och publicera resultatet på Firefox Marketplace - jag kommer att använda Captain Rogers som ett exempel.

Testar Firefox OS

Det finns två sätt att testa ditt spel för Firefox OS - med hjälp av en programvarusimulator eller genom att ansluta den aktuella enheten. Båda är användbara och du bör börja med simulatorn för att se om spelet fungerar. Därefter slår du spelet på enheten och slaget testar det och hjälper dig att bli av med alla buggar. Då kan du fokusera på publiceringsprocessen.

Simulator

Det finns ett sätt att testa ditt spel eller program utan att behöva ha en verklig enhet i handen. Det är Firefox OS Simulator och du kan helt enkelt installera det som ett plugin i din Firefox-webbläsare. Du kommer inte att kunna testa pekontroller, men åtminstone kan du se om spelet fungerar och beter sig som det ska. Med hjälp av simulatorn kan du också trycka din applikation direkt på enheten.

Tillgängliga enheter

Om du verkligen behöver din egen enhet kan du få den från Geeksphone. De tillhandahåller två utvecklare förhandsgranskningstelefoner - Keon and Peak. Dessa två enheter är mycket liknade de slutliga produkter som kommer att säljas över hela världen. Första kommersiella enheterna är redan tillkännagivna: ZTE Open och Alcatel OneTouch Fire erbjuds av Movistar i Spanien till ett lågt pris på 69 Euro (inget kontrakt, med 4 GB microSD-kort och 30 Euro för samtal). Nästa på listan är Polen, Colombia och Venezuela med fler länder snart.

Firefox Marketplace

När du har ett operativsystem på din enhet skulle det vara trevligt att installera några appar på den. Det är här Firefox Marketplace kommer in - Mozillas butik ger allt du behöver. Skillnaden mellan iOS eller Android-butiker och Firefox Marketplace är att den sista är öppen och gratis. Alla kan köra sin egen marknadsplats, du är inte begränsad till den enda platsen för distribution av appar och spel. Du behöver inte ens rikta folk till marknaden själv om du vill att de ska installera ditt spel på sin enhet - det finns ett API för det! Med hjälp av API-programmet Open Web App kan du skapa en enkel "installera denna app" -knapp med hjälp av en HTML-knapp som ringer några rader med JavaScript. Slutanvändare kan då installera spelet direkt på sin enhet.

Marknader för alla

Mobiloperatörer kommer att ge marknadsplatser för sina egna kunder med de appar som riktar sig speciellt för dem. Detta kommer också att ge dem möjlighet att börja tjäna pengar igen och sluta vara bara dataleverantörerna. Det är viktigt att förstå att alla spelare i Firefox OS-rymden kan dra nytta av att stödja systemet.

synlighet

Det finns en stor potential i hur webbapplikationer byggs - du kan söka efter innehåll inuti dem utan att behöva ladda ner dem. Eftersom det bara är HTML, CSS och JavaScript kan du leta efter allt du är intresserad av och du kommer inte att vara begränsad till titeln eller beskrivningen - den är indexerbar och sökbar precis som vilken webbplats som helst.

Redan tillgänglig

Det bästa är att du kan lägga till dina appar och spel redan - Marketplace kommer ut från beta-scenen och öppnar för kunder, men det var tillgängligt för utvecklare under en tid nu. Båda sidorna hade tid att anpassa sig till miljön och förbereda sig för plattformen. Det finns nästan ingen konkurrens - jag har hittat cirka 500 spel på Marketplace. Det är svårt att försöka jämföra det med Apples App Store där du kan hitta hundratusentals apps. Nu är den bästa tiden att utnyttja möjligheten, Firefox Marketplace väntar på ditt innehåll!

Fallstudie - Kapten Rogers

Som jag nämnde tidigare kommer jag att visa dig hela processen att konvertera ditt vanliga HTML5-spel till den fullt fungerande en optimerad för Firefox OS-enheten och tillgänglig gratis på Firefox Marketplace. Spelet Captain Rogers byggdes med ImpactJS och är väldigt enkelt - du är den modige kapten Rogers och måste flyga genom ett asteroidfält för att fly från den onda Kershan-flottan. Det skapades som ett samarbete mellan Enclave Games (Andrzej Mazur - kodning) och Blackmoon Design (Robert Podgórski - grafik). Huvudfokuset var att göra det litet och enkelt men ändå fullt funktionellt och polerat.

Optimera ditt spel för Firefox OS

Det finns många sätt att optimera ditt spel för Firefox OS-plattformen, och de flesta kan också tillämpas på vanliga HTML5-spel - det är ju inte webbteknologi, eller hur? Nedan ser du några av de grundläggande teknikerna som snabbt påskyndar prestanda, gör spelet mer flexibelt eller bara gör det bättre.

Moz-opak

Det enklaste sättet att påskynda kanfasåtergivning av spelet på Firefox OS är att lägga till moz-opak tillskriva det:

 

Om din duk inte är transparent eller du inte behöver visa något bakom det, ställer du bara in det här attributet och det förbättrar automatiskt renderingstiderna automatiskt..

CSS Transform Scaling

Skalningsduk är viktigt när du inte känner till upplösningen på målenheten. Det skulle se konstigt om spelet bara skulle ta en tredjedel av skärmen, eller sämre när du bara ser hälften av det. Denna metod är inte för alla typer av spel. Om du vill behålla en pixelkonst måste du hantera skalan olika, men för de flesta spel ska det fungera. Här är koden ansvarig för skalning:

 var scaleX = canvas.width / window.innerWidth; var scaleY = canvas.height / window.innerHeight; var scaleToFit = Math.min (skalaX, skalaY); stage.style.transformOrigin = "0 0"; stage.style.transform = "scale (" + scaleToFit + ")";

Detta kommer att se till att ditt spel fyller hela ledigt utrymme, men bevarar skalan så att spelet inte snedvrids. På stora enheter spelar spelet lite lite suddigt, så kom ihåg att se upp för detta.

Närmaste granne Rendering

Om du jobbar med ett pixelartspel är det väldigt viktigt att ha skarpa pixlar istället för en suddig bild - stäng av glättning med hjälp av JavaScript och du är redo att gå!

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

Tack vare det här får du dina bildpunkter så skarpa som möjligt, så spelarna kan njuta av pixelkonsten i ditt spel.

Andra tekniker

Det finns många fler tekniker att utforska som att använda offscreen-duk, full-pixel-rendering, flera canvaser för lager och andra coola tricks - kolla in den här otroligt användbara artikeln om Mozilla Hacks, skriven av Louis Stowasser och Harald Kirschner. Några av de tekniker som omfattas av den artikeln används i ImpactJS-spelmotorn, så du behöver inte ens implementera den själv.

Förbered det för Firefox Marketplace

Det finns två typer av applikationer på Marketplace - packade och självhävdade. Den första typen är bara en .blixtlås paket som innehåller alla tillgångar som kommer att laddas upp till marknadsplatsen. Den andra typen, egen värd, är en direktlänk till det spel som du värd på din egen server. Förpackade appar får få mer tillgång till hårdvaran, eftersom de levereras från en säker, Mozilla-känd server, medan självhäftande appar är enklare att distribuera och ändra.

Manifest fil

För båda typerna av appar är den viktigaste filen
manifest.webapp som innehåller all nödvändig information. En manifestfil är bara ett enkelt JSON-objekt från vilket alla data kommer att tillhandahållas för de ursprungliga inställningarna för Firefox Marketplace:

 "name": "My App", "description": "Min beskrivning går här", "launch_path": "/", "icons": "128": "/img/icon-128.png", "utvecklare": "namn": "Ditt namn eller din organisation", "url": "http://your-homepage-here.org", "default_locale": "sv"

Du måste bara ge väldigt grundläggande information som namnet på programmet, det är decription, ge ikoner att visas på Marketplace, grundläggande information om dig själv som utvecklarens namn och utvecklarens webbadress, och i slutet av standardinställningen (dvs. ansökan standard språkversion). Du kan validera manifestfilen för att vara säker på att den är felfri.

Behörigheter

Huvudskillnaden mellan packade och självhäftande appar är behörigheterna. Förpackade appar kan vara privilegierade eller certifierade. När du behöver tillgång till enhetens hårdvara som kameran eller kontaktlistan måste du lista allt i behörighetsavsnittet.

 "behörigheter": "kontakter": "beskrivning": "Krävs för autokomplettering", "access": "readcreate", "alarm": "description": "Obligatoriskt att schemalägga meddelanden"

Priviledged apps har tillgång till webb APIs som har fler behörigheter att komma åt maskin- och användardata på enheten och är högre i hierarkin än de vanliga webbapparna. Det finns också den högsta rangen som kallas certifierade appar som har kontroll över kritiska systemfunktioner som till exempel standard dialer - bara Mozilla och partners tillhandahåller de typ av appar.

Självhävd Manifest

När du inte behöver tillgång till WebAPI på enheten och vill ha enkla och omedelbara uppdateringar kan du bestämma att vara värd för spelet själv. Det finns några saker du måste tänka på för att leverera ditt spel utan några problem.

Cache alla dina filer så att användare kan spela spelet offline och spara på trafik på din server. Cache inte manifestfilen men eftersom det kan leda till problem när du vill uppdatera spelet. Manifestfilen måste ha en förlängning .webapp och måste serveras från samma ursprung. De Innehållstyp måste ställas in på application / x-web-app-manifest + json, UTF-8-kodning rekommenderas.

När du använder Apache släpp bara den linjen i din .htaccess fil:

 AddType-applikation / x-web-app-manifest + json .webapp

På Nginix måste du redigera mime.types fil och lägg till liknande rad:

 typer // ... application / x-web-app-manifest + json webapp; 

För att testa din app kan du också använda GitHub Pages för hosting. Mozilla arbetade med GitHub för att ha alla inställningar på plats, kom ihåg att få din manifestfilens filnamn sluta .webapp.

Överför ditt spel till marknadsplatsen

Tiden att lägga till vårt spel på marknaden så att folk kan hitta det enkelt på Firefox OS. Vi har vårt spel redo att skickas till Firefox Marketplace - gå vidare till utvecklarnavet och logga in (eller registrera) för att få tillgång. Leta efter "Skicka en ny app" -knapp - detta leder dig till inlämningsformuläret.

Du kommer att ha olika alternativ att välja mellan - om din app är gratis eller betalad, spelet är värd eller förpackat, kommer du också att ha en lista över stödda plattformar. I botten finns en manifestvalidator som säkerställer att manifestfilen är 100% korrekt. Ett annat steg är bara att fylla i detaljer som skärmdumpar, andra medier, supportinformation och appdetaljer. Därefter är du klar - spelet skickades in!

Allt du behöver göra nu är att vänta med att ditt spel accepteras - det tar inte längre än några dagar. Därefter publiceras ditt spel och är tillgängligt för alla att se och spela!

Titta igenom adminpanelen märker du statistiksidan där du hittar all information om installationer. Andra alternativ inkluderar redigering av ett redan inlämnat spel, ledningsgruppmedlemmar, kompatibilitet, betalningar, status och versioner. Håll ett öga på användarrecensioner, eftersom de är en bra källa till feedback!

Lärdomar

Som du kan se är det väldigt enkelt att anpassa ditt spel till Firefox OS och publicera det på Marketplace. Dokumentationen är klar, all nödvändig information väntar på dig. Det var mycket roligt att arbeta på Captain Rogers med Firefox OS i åtanke. Jag är väldigt nyfiken på hur Enclave Games kommer att uppfattas på Marketplace jämfört med andra utvecklare. Om du har några åsikter om spelet själv (eller vill testa det på din enhet och ge feedback), kan Firefox OS eller Marketplace känna sig fri att diskutera det i kommentarerna!

Slutsats

Du är på kanten av den snabbväxande mobilmarknaden med stor potential där utgivare lär dig snabbt att HTML5 är framtidens teknik. Det finns oändliga möjligheter, du måste bara ta chansen, utnyttja chansen och gå ut i tävlingen!

Det är okänt hur det kommer att fungera - jag tror verkligen på tanken på att ha ett HTML5-mobilt operativsystem, men framtiden beror på reaktionen på marknaden tillsammans med kunderna. På något sätt kommer vi att ha spännande tider för HTML5 mobil utveckling. Inget här är bortkastad ansträngning, eftersom spelen går på alla plattformar och får särskild åtkomst på Firefox OS. Även om Firefox OS misslyckas är du fortfarande kompatibel med webben istället för bara en plattform.