Firefox OS er et helt mobilt operativsystem bygget rundt åpen webteknologi! Operativsystemet har blitt bygget fra grunnen for å tillate HTML5 og Javascript å frigjøre det fulle potensialet til maskinvaren til enheten. Les videre for å lære mer om Firefox OS og hvordan du kan begynne å portere eksisterende webapps til plattformen i dag!
Firefox OS er et mobiloperativsystem opprettet fra grunnen av Mozilla. Det utviklet seg fra et tomt GitHub-depot til et fullt utblåst, åpent system på mer enn et år, som alene er ganske imponerende. Bygget fra den bare ideen til det endelige produktet, sendt av selskapene over hele verden. La oss se hvorfor dette er så spesielt og hvorfor bør du selv bry deg om det.
Det viktigste med Firefox OS er teknologien som brukes - den er bare nettet! Alle front-end-utviklere og JavaScript-programmerere kan nå enkelt lage HTML5-programmer direkte for plattformen. Mobilbanen har nå teknologien og maskinvareadgangen den fortjener. Web-APIer gir deg mulighet til å "snakke" direkte til enhetens maskinvare ved hjelp av JavaScript, noe som gjør det mulig å ta bilder, sende meldinger eller starte anrop.
La oss være klare om målgruppen - det er ikke at Firefox OS vil kjempe direkte mot high-end enheter med iOS og Android ombord i høyt utviklede land. Hovedmålet er å gi smartphone-opplevelse til de som normalt ikke ville ha sjansen til å kjøpe en slik enhet. Telefoner med Firefox OS vil være et billig alternativ til de som ønsker å bytte fra funksjonstelefoner og dykke inn på nettet ved hjelp av moderne nettlesere. Det er en stor etterspørsel etter dette, og Mozilla vil fylle gapet!
Det er det "nye gamle" økosystemet som webteknologien er allerede kjent for tusenvis av JavaScript-programmerere og utviklere av front-end. Du trenger ikke å lære et nytt språk eller utviklingsmiljø. Alt du vet om nettet kan brukes til å lage flotte Firefox OS-applikasjoner. Porting spillet ditt er veldig enkelt og krever minimal innsats for å oppnå.
I denne artikkelen vil jeg gå gjennom hele prosessen fra å ha bare et vanlig mobilt HTML5-spill, optimalisere det for Firefox OS-enheten og publisere utfallet på Firefox-markedsplassen. Jeg vil bruke kaptein Rogers som et eksempel.
Det er to måter å teste spillet på for Firefox OS - ved hjelp av en programvare-simulator eller ved å plugge inn den aktuelle enheten. Begge er nyttige, og du bør begynne med simulatoren for å se om spillet fungerer. Etter det vil du trykke på spillet på enheten til slutt kamp-teste det og hjelpe deg å bli kvitt alle feilene. Deretter kan du fokusere på publiseringsprosessen.
Det er en måte å teste spillet ditt eller programmet på uten å måtte ha en faktisk enhet i hånden. Det er Firefox OS Simulator, og du kan ganske enkelt installere det som et plugin i din Firefox-nettleser. Du vil ikke kunne teste berørings kontroller, men i det minste kan du se om spillet fungerer og oppfører seg som det skal. Ved hjelp av simulatoren kan du også trykke programmet direkte på enheten.
Hvis du virkelig trenger din egen enhet, kan du få den fra Geeksphone. De gir to utvikler forhåndsvisningstelefoner - Keon and Peak. Disse to enhetene er svært lik de endelige produktene som vil bli solgt over hele verden. Første kommersielle enheter er allerede annonsert: ZTE Open og Alcatel OneTouch Fire tilbys av Movistar i Spania til en lav pris på 69 Euro (ingen kontrakt, med 4 GB microSD-kort og 30 Euro for samtaler). Neste på listen er Polen, Columbia og Venezuela med flere land som kommer snart.
Når du har et operativsystem på enheten din, ville det være fint å installere noen apper på den. Dette er hvor Firefox Marketplace kommer inn - Mozillas butikk gir alt du trenger. Forskjellen mellom iOS eller Android butikker og Firefox Marketplace er at den siste er åpen og gratis. Alle kan kjøre sin egen markedsplass, du er ikke begrenset til det eneste stedet for å distribuere apper og spill. Du trenger ikke engang å lede folk til markedet selv hvis du vil at de skal installere spillet ditt på enheten deres - det er en API for det! Ved hjelp av Open Web App API kan du opprette en enkel "installer denne app" -knappen ved hjelp av en HTML-knapp som ringer noen få linjer med JavaScript. Sluttbrukerne vil da kunne installere spillet direkte på enheten.
Mobiloperatører vil gi markedsplasser til egne kunder med appene som er målrettet spesielt for dem. Dette vil også gi dem en mulighet til å begynne å tjene penger igjen og slutte å være bare dataleverandørene. Det er viktig å forstå at alle spillere i Firefox OS-rom kan dra nytte av å støtte systemet.
Det er et stort potensial i måten webapplikasjoner er bygd på - du kan søke etter innhold innsiden av dem uten å måtte laste dem ned. Som det er bare HTML, CSS og JavaScript kan du se etter alt du er interessert i, og du vil ikke være begrenset til tittelen eller beskrivelsen. Det er indekserbar og søkbar akkurat som et nettsted er nå.
Det beste er at du kan legge til apper og spill allerede - Markedsplassen kommer ut av beta-scenen og åpner for kunder, men den var tilgjengelig for utviklere i noen tid nå. Begge sider hadde tid til å tilpasse seg til miljøet og forberede seg på plattformen. Det er nesten ingen konkurranse - jeg har funnet rundt 500 spill på Marketplace. Det er vanskelig å prøve å sammenligne det med Apples App Store der du finner hundretusenvis av apps. Nå er det beste tidspunktet for å benytte anledningen, Firefox-markedsplassen venter på innholdet ditt!
Som nevnt tidligere vil jeg vise deg hele prosessen med å konvertere ditt vanlige HTML5-spill til den fullt fungerende en optimalisert for Firefox OS-enheten og tilgjengelig gratis på Firefox Marketplace. Spillet Captain Rogers ble bygget med ImpactJS og er veldig enkelt - du er den modige kaptein Rogers og må fly gjennom et asteroidfelt for å flykte fra den onde Kershan-flåten. Det ble opprettet som et samarbeid mellom Enclave Games (Andrzej Mazur - koding) og Blackmoon Design (Robert Podgórski - grafikk). Hovedfokuset var på å gjøre det lite og enkelt, men likevel fullt funksjonelt og polert.
Det er mange måter å optimalisere spillet ditt for Firefox OS-plattformen, og de fleste av dem kan også brukes på vanlige HTML5-spill - det er nettteknologi, ikke sant? Nedenfor ser du noen av de grunnleggende teknikkene som raskt vil øke ytelsen, gjøre spillet mer fleksibelt, eller bare få det til å se bedre ut.
Den enkleste måten å øke hastigheten på lerret av spillet på Firefox OS er å legge til moz-ugjennomsiktig
tilskrive det:
Hvis lerretet ditt ikke er transparent eller du ikke trenger å vise noe bak det, må du bare angi dette attributtet og det vil automatisk forbedre gjengivelsestidene.
Scaling lerret er viktig når du ikke kjenner oppløsningen til mål enheten. Det ville se rart om spillet ville ta bare en tredjedel av skjermen, eller verre når du ser bare halvparten av det. Denne metoden er ikke for alle typer spill - hvis du vil bevare en pikselkunst må du styre skalaen annerledes, men for de fleste spill skal det fungere. Her er koden ansvarlig for skalering:
var scaleX = canvas.width / window.innerWidth; var skalaY = lerret.height / window.innerHeight; var scaleToFit = Math.min (skalaX, skalaY); stage.style.transformOrigin = "0 0"; stage.style.transform = "scale (" + scaleToFit + ")";
Dette vil sikre at spillet ditt fyller hele ledig plass, men vil bevare skalaen slik at spillet ikke blir forvrengt. På store enheter vil spillet se litt uklart ut, men husk å passe på dette.
Hvis du jobber med et pikselkunstspill, er det veldig viktig å ha skarpe piksler i stedet for uklare - slå av glatting ved hjelp av JavaScript, og du er klar til å gå!
var context = canvas.getContext ('2d'); context.webkitImageSmoothingEnabled = false; context.mozImageSmoothingEnabled = false; context.imageSmoothingEnabled = false;
Takket være dette vil du få pikslene dine så skarpe som mulig, slik at spillerne helt kan nyte pikselkunst i spillet ditt.
Det er mange flere teknikker for å utforske som å bruke avskjerms lerret, fullpikselgengivelse, flere lerruter for lag og andre kule triks - sjekk ut denne utrolig nyttige artikkelen på Mozilla Hacks skrevet av Louis Stowasser og Harald Kirschner. Noen av teknikkene som er dekket i den artikkelen, brukes i ImpactJS-spillmotoren, så du trenger ikke engang å implementere det selv.
Det finnes to typer applikasjoner på Marketplace - pakket og selvvertjent. Den første typen er bare en .glidelås
pakke som inneholder alle eiendelene som vil bli lastet opp til markedsplassen. Den andre typen, selvvertjent, er en direkte kobling til spillet som du er vert for på din egen server. Pakkete apper får lov til å få mer tilgang til maskinvaren, da de leveres fra en sikker, Mozilla-kjent server, mens selvbehandlede apper er enklere å distribuere og endre.
For begge typer apper er den viktigste filen den
manifest.webapp som inneholder all nødvendig informasjon. En manifestfil er bare et enkelt JSON-objekt, hvorfra alle dataene vil bli gitt for de første innstillingene for Firefox Marketplace:
"navn": "Min app", "beskrivelse": "Min beskrivelse går her", "launch_path": "/", "ikoner": "128": "/img/icon-128.png", "utvikler": "navn": "Ditt navn eller din organisasjon", "url": "http://your-homepage-here.org", "default_locale": "no"
Du må bare gi svært grunnleggende opplysninger som navnet på programmet, det er description, gi ikoner til å vises på markedsplassen, grunnleggende informasjon om deg selv som utviklernavn og utviklerklubb, og på slutten er standardoverskriften (dvs. søknaden standard språkversjon). Du kan validere manifestfilen for å være sikker på at den er feilfri.
Hovedforskjellen mellom pakkede og selvbehandlede apper er tillatelsene - pakkede apper kan være privilegerte eller sertifiserte. Når du trenger tilgang til enhetens maskinvare som kameraet eller kontaktlisten, må du oppgi alt i tillatelsesdelen.
"tillatelser": "kontakter": "beskrivelse": "Kreves for autofullføring", "tilgang": "readcreate", "alarmer": "beskrivelse": "Kreves å planlegge varsler"
Priviledged apps har tilgang til web-APIer som har flere tillatelser for å få tilgang til maskinvare- og brukerdata på enheten, og er høyere i hierarkiet enn de vanlige webappene. Det er også den høyeste rangen som kalles sertifiserte applikasjoner som har kontroll over kritiske systemfunksjoner som for eksempel standard dialer - bare Mozilla og partnere gir slike apper.
Når du ikke trenger tilgang til WebAPIs på enheten og vil ha enkle og umiddelbare oppdateringer, kan du bestemme deg for å være vert for spillet selv. Det er noen ting du må huske på for å levere spillet uten problemer.
Cache alle filene dine slik at brukerne kan spille spillet offline og for å spare på trafikken på serveren din. Ikke cache manifestfilen selv om dette kan føre til problemer når du vil oppdatere spillet. Manifestfilen må ha en forlengelse .webapp
og må serveres fra samme opprinnelse. De Innholdstype
må settes til application / x-web-app-manifest + json
, UTF-8-koding anbefales.
Når du bruker Apache, bare slipp den linjen i din .htaccess
fil:
AddType-applikasjon / x-web-app-manifest + json .webapp
På Nginix må du redigere mime.types
fil og legg til lignende linje:
typer // ... application / x-web-app-manifest + json webapp;
For å teste appen din kan du også bruke GitHub Pages for hosting. Mozilla jobbet med GitHub for å få alle innstillingene på plass, bare husk å få manifestfilens filnavn til slutt .webapp
.
Tid til å legge til vårt spill på markedet slik at folk kan finne det enkelt på Firefox OS. Vi har vårt spill klar til å bli sendt til Firefox Marketplace - head over til Developer Hub og logg inn (eller registrer) for å få tilgang. Se etter "Send inn en ny app" -knapp - dette vil lede deg til skjemaet.
Du har ulike alternativer å velge mellom - om appen er gratis eller betalt, spillet er vert eller pakket, vil du også ha en liste over støttede plattformer. På bunnen er det en manifestvalidator som sikrer at manifestfilen er 100% korrekt. Et annet trinn er bare å fylle detaljene som skjermbilder, andre medier, støtteinformasjon og appdetaljer. Deretter er du ferdig - spillet ble sendt inn!
Alt du trenger å gjøre nå, er å vente på at spillet ditt er akseptert - det tar ikke lenger enn noen få dager. Deretter publiseres spillet ditt og er tilgjengelig for alle å se og spille!
Se gjennom administrasjonspanelet, legger du merke til statistikksiden der du finner all informasjon om installasjoner. Andre alternativer inkluderer redigering av et allerede sendt spill, administrerende lagmedlemmer, kompatibilitet, betalinger, status og versjoner. Hold øye med brukeranmeldelser siden de er en god kilde til tilbakemelding!
Som du ser, er det veldig enkelt å tilpasse spillet ditt til Firefox OS og publisere det på Marketplace. Dokumentasjonen er klar, all nødvendig informasjon venter på deg. Det var mye moro å jobbe med Captain Rogers med Firefox OS i tankene. Jeg er veldig nysgjerrig på hvordan Enclave Games vil bli oppfattet i markedsplassen sammenlignet med andre utviklere. Hvis du har noen meninger om selve spillet (eller vil teste det på enheten din og gi tilbakemelding), kan Firefox OS eller markedsplassen diskutere det i kommentarene!
Du er på kanten av det raskt voksende mobilmarkedet med stort potensial hvor utgivere lærer fort at HTML5 er fremtidens teknologi. Det finnes uendelige muligheter, du må bare ta sjansen, bruke muligheten og gå ut av konkurransen!
Det er ukjent hvordan det vil fungere - jeg tror virkelig på ideen om å ha et HTML5 mobil operativsystem, men fremtiden er avhengig av markedsreaksjonen sammen med kunder. En eller annen måte vil vi ha spennende tider for HTML5 mobilutvikling. Ingenting her er bortkastet innsats, da spillene kjører på alle plattformer og får spesiell tilgang på Firefox OS. Selv om Firefox OS mislykkes, er du fortsatt kompatibel med nettet i stedet for bare en plattform.