Mobil nettutvikling er tøff spesielt når du prøver å tilby innfødte opplevelser til brukere. For flere år siden tok et lite firma kalt Nitobi arbeidet med å forenkle bygging av innbyggede mobilapper ved hjelp av tradisjonelle webutviklingsferdigheter. Ambisiøs og noen ganger kontroversiell, utfordringen kjent som PhoneGap vokste ut av dette behovet, og en konverterer til venstre og høyre.
En av de viktigste masterminds bak rammen er Brian Leroux som bortsett fra å være respektert for sin utviklingsferdigheter og utrolig sympatisk personlighet er også en av de savviest mobile utviklerne rundt. Med tanke på antall mobile enheter PhoneGap-mål, må du være ganske velbevandret i en rekke enheter og operativsystemer.
Nitobi har siden blitt anskaffet av Adobe og PhoneGap-kodebase donert til Apache Software Foundation for å fortsette sin utvikling som Apache Cordova-prosjektet. Brian flyttet til Adobe og fortsetter å forvalte kodebase. I dette intervjuet vil vi snakke med Brian om hvordan PhoneGap kom og hva fremtiden for mobilnett holder.
Hei, jeg er Brian. Jeg jobber på Apache Cordova, PhoneGap, og et nytt css-bibliotek som heter Topcoat på Adobe. På fritiden min opprettet jeg et kodespøksted som heter http://wtfjs.com hvilken slags følger meg rundt.
Jeg har definitivt vært en av stewards av PhoneGap, men det er veldig viktig for meg å si at mange mennesker bidro til etableringen og veksten av den. Ingen person bestemte seg virkelig for å gjøre noe, det var mange krefter som kom sammen på en gang. PhoneGap var et resultat av den primordiske suppen som var den nye Github-modellen for åpen kildekode, naserende mobile nettlesere og nye generasjons smartphones. Vi startet hacking, og gjorde alt i det åpne, og til slutt flere personer abonnement på prosjektfilosofien og verktøyet. Det vokste derfra.
Adobe kjøpte Nitobi i 2011! Det er litt vanskelig å tro at det var nær to år siden allerede. Siden oppkjøpet donerte vi kilden til PhoneGap til Apache som nå er kjent som Cordova. Vi forbedrer hele tiden prosjektet, legger til funksjoner, polsk, ytelsesforbedringer, nytt verktøy, og nylig sendte vi en kraftig forbedret pluginarkitektur. PhoneGap har blitt så mye om verktøy og utvidelse som det er en fancy innebygd nettleser for å bygge apps.
Vi jobber også tett med et nytt team på Adobe på et CSS-bibliotek, kalt Topcoat, som er designet for å bygge raske og rene apper. Selvfølgelig er alt i Adobe Edge voksende mobil bevissthet som en del av vårt fokus på webteknologi. Braketter er bra for å lage web-sentrisk kode. Reflow and Inspect er flotte nye verktøy som hjelper tam responsiv design. Vi vil se flere og dypere integrasjoner mellom disse verktøyene og PhoneGap i fremtiden.
Adobe PhoneGap er en nedstrøms distribusjon av Apache Cordova. Det er det samme som forholdet til Safari til WebKit. Da Adobe kjøpte Nitobi, ble den opprinnelige kilden til PhoneGap donert til Apache for å fortsette sin åpne utvikling, og oppfordre bidrag fra det bredere utviklingssamfunnet. Det har vært veldig bra, og samfunnet har vokst eksponentielt siden han ble med i Apache. Det var et flott trekk for prosjektet og har virkelig modnet utviklingen.
Forfatter Merknad: Brian går nærmere inn i dette blogginnlegget.
Jeg tror at vår popularitet skyldes delvis klart definerte prinsipper og mål. Vi vil at nettet skal være en førsteklasses plattform, og vi oppgir ofte et formål med prosjektet å slutte å eksistere. Det er en kraftig anerkjennelse av vår intensjon om å komme tilbake til webutvikling. Dette resonanserer med nettsamfunnet.
PhoneGap er bare et veldig godt navn som klart kommuniserer prosjektet kortfattet. Vi har det heldig der. Jeg er ikke sikker på om det var Brock Whitten eller Andre Charland som mente det. Rob Ellis var der, men jeg tviler på at han heller skulle huske. Jeg hatet det først, men etter fem år med å jobbe med saken, var jeg litt vant til det!
Adopsjonen av PhoneGap var sannsynligvis litt dum flaks også. Jeg vil gjerne tro at vi har gjort noe av det flaks med en vanlig utgivelseskadens og en sterk testfilosofi. Vi har sjelden regressjoner, og vi leverer kontinuerlig kvalitetsutgivelser. Den sunne aktiviteten har bidratt til å bygge tilliten til utviklerfellesskapet, og de virksomheter og organisasjoner som bruker PhoneGap i dag.
Vel, på den ene siden er det veldig enkelt å komme i gang med å bygge en web-app. På den annen side kan webapplikasjoner vokse komplisert raskt, og enhetene vi snakker om har ikke mye hestekrefter til å begynne med. Programvareutvikling er en balansehandling. Vi balanserer alle slags krefter. Ferdighet og kode gjenbruk. Legger til flere funksjoner eller jobber med ytelse.
De fleste mobiloperatørleverandører bidrar direkte til Cordova!
Vi har venner fra Google som bringer Chrome Packaged Apps til fray. Mozilla raser opp Firefox OS med oss. Canonical har hackere som jobber med Ubuntu Phone. Blackberry har en haug med devs som gir oss Blackberry Webworks-perspektivet. Intel og Samsung representerer Tizen.
Tidlig i PhoneGap-prosjektet, før all denne glamorøse Apache-virksomheten
Vel, hvis du har en eksisterende investering i webinnhold eller webutviklere, er PhoneGap verdt å se på. Hvis du er ute etter portabilitet, er webteknologi åpenbart nyttig, og dette kan til og med bety på en enkelt plattform, men kan automatisk målrette håndsett og tablettformfaktorer med en enkelt kodebase.
Jeg pleide å si at webteknologi egentlig ikke er det beste valget for spill. Men dette avhenger av hvilken type spill. Spesielt mobile spill pleier å være flere puslespill, kort eller todimensjonale sortering av ting som ikke krever etterslående grafikk. Webteknologi er overraskende bra for disse typer spill. Inntil vi får bedre støtte til WebGL, tror jeg at innfødt er fortsatt overbevisende. W3C og nettleservirksomhetene er svært oppmerksomme på denne mangelen, og det er bare et spørsmål om tid før spillkontrolleren, orienteringslås, fullskjerm-API og lyd-API er fullt realisert. Konsollen vil bevege seg inn i nettleseren, og inntektsgenerering vil føre til en servicemodell som et resultat.
Vel, hvis du har tid til å investere i en bestemt plattform (noen ganger proprietær også) så går innfødt en fin, om kostbar, rute for å investere i.
Det er enkelt å skrive en crummy innfødt app som det er med webteknologi, men det er enda enklere å feilsøke disse tingene ved hjelp av den innfødte plattformverktøyet. At integrering av verktøy gjør de fleste utviklingsmiljøer svært komfortable, med stor dokumentasjon, og distribusjonen er litt innbygget. (Du får disse fordelene med PhoneGap også, slik at vi ikke gjemmer disse detaljene.) Jeg oppfordrer utviklere til alltid å lære så mye du kan og innfødt mobil utvikling er super morsomme ting å lære.
Når det er sagt, er jeg ikke så overbevist om fordelene med å gå innfødt. Du arver en avhengighet av (ofte) proprietære verktøy og distribusjonskanaler som iboende er risikabelt. Når selgeren gjør en endring, gjør du det. Hvis de valgte å stenge, avskrive eller på annen måte forlate infrastruktur du stoler på for inntekter, vil du ikke ha noe å si eller bruke. Jeg personlig ville ikke bygge en bedrift på den måten, men jeg kan også respektere at noen gjør, og uansett kan du bruke PhoneGap til å redusere risikoen.
Frakoblet er fortsatt rotete, vi har App Cache, men det er veldig komplekst og skaper en janky brukeropplevelse. Når en ny versjon er tilgjengelig, må du be brukeren om å laste på nytt. Men jeg har høye forhåpninger for navigasjonskontrollørenes innsats for å fikse det.
Push meldinger er en annen ting weben trenger for å få riktig. Varsler er avgjørende for brukerengasjement. Disse standardene og støtten begynner å dukke opp i nettlesere på nettbrettet, men vi trenger disse evnene til å stige opp i de mobile nettleserne.
Sikkerhetsmodellene for pakkede apper trenger forbedring. Men det skjer. Som et resultat vil vi vinne flere og bedre enhets-APIer. Firefox OS og Chrome OS kommer til å peke på veien. Vi skal gjøre alt vi kan for å hjelpe ved å gi en rask prototypeflate for nettlesere.
Utviklerverktøys erfaring trenger kjærlighet. Det blir ganske bra, og det er en ekte sunn konkurranse mellom Firefox, Chrome, Opera og i mindre grad IE og Safari. Ytelsesinstrumenter for overvåking og spesielt rapportering av krasjrapportering vil være spesielt hyggelig.
Jeg vil takke Brian for å ta deg tid til å gi oss informasjon om PhoneGap og hans innsikt i mobilnett. Hvis du er interessert i å bygge mobile applikasjoner ved hjelp av webutviklingsferdigheter, må du sjekke ut Apache Cordova og Adobe PhoneGap.