Intervju med Brian Leroux från Adobes PhoneGap Team

Mobil webbutveckling är hård speciellt när du försöker erbjuda inbyggda erfarenheter till användarna. För flera år sedan satsade ett litet företag som heter Nitobi att förenkla byggandet av inbyggda mobilappar med traditionell webbutveckling. Ambitiös och ibland kontroversiell växte ansträngningen som kallas PhoneGap ut ur detta behov och en omvandlar vänster och höger.

En av de viktigaste mastermindsna bakom ramen är Brian Leroux som förutom att vara väl respekterad för sin utvecklingsfärdigheter och otroligt sympatisk personlighet är också en av de smartaste mobilutvecklarna runt. Med tanke på antalet mobila enheter PhoneGap-mål måste du vara ganska välbevandrad i en mängd olika enheter och operativsystem.

Nitobi har sedan förvärvats av Adobe och PhoneGap-kodbasen donerade till Apache Software Foundation för att fortsätta sin utveckling som Apache Cordova-projektet. Brian flyttade till Adobe och fortsätter att steward codebasen. I den här intervjun ska vi chatta med Brian om hur PhoneGap kom fram och vad framtiden för mobilbanan rymmer.


Q Låt oss börja med det vanliga. Kan du ge oss en snabb introduktion om dig själv?

Hej jag är Brian. Jag jobbar på Apache Cordova, PhoneGap och ett nytt css-bibliotek som heter Topcoat på Adobe. På min fritid skapade jag en kodskämtplats som heter http://wtfjs.com vilken typ av följer mig runt.


Q Du var en av skaparna av PhoneGap. Hur bestämde sig Nitobi för att bygga en sådan ambitiös ram?

Jag har definitivt varit en av förvaltarna av PhoneGap men det är väldigt viktigt för mig att säga att många människor bidrog till skapandet och tillväxten av det. Ingen person bestämde sig verkligen för att göra någonting, det var en massa styrkor som kom ihop samtidigt. PhoneGap var ett resultat av den primordiska soppen som var den nya Github-modellen för öppen källkod, bländande mobila webbläsare och nya generationens smartphones. Vi började hacka, och gjorde det hela i det öppna, och så småningom fler personer prenumererade på projektfilosofin och verktyget. Det växte därifrån.


Q Nu när Adobe har förvärvat Nitobi, vad är framtiden för PhoneGap?

Adobe förvärvade Nitobi 2011! Det är lite svårt att tro att det var nära för två år sedan redan. Sedan vårt förvärv donerade vi källan till PhoneGap till Apache som nu kallas Cordova. Vi förbättrar ständigt projektet, lägger till funktioner, polska, prestandaförbättringar, nytt verktyg och nyligen levererade vi en väldigt förbättrad pluginarkitektur. PhoneGap har blivit lika mycket om verktyg och förlängning som det är en fin inbyggd webbläsare för att bygga appar.

Vi arbetar också nära ett nytt team på Adobe på ett CSS-bibliotek som heter Topcoat, som är utformat för att bygga snabba och rena appar. Allting i Adobe Edge ökar naturligtvis mobil medvetenhet som en del av vårt fokus på webbteknik. Fästen är bra för att skapa webbcentriska kod. Reflow and Inspect är bra nya verktyg som hjälper till med tämlig responsiv design. Vi får se mer och djupare integreringar mellan dessa verktyg och PhoneGap i framtiden.


Q Det finns mycket förvirring om PhoneGap och Cordova. Kan du rensa upp saker?

Adobe PhoneGap är en downstream distribution av Apache Cordova. Det är detsamma som förhållandet mellan Safari och WebKit. När Adobe förvärvade Nitobi donerades den ursprungliga källan till PhoneGap till Apache för att fortsätta sin öppna utveckling och uppmuntra bidrag från det bredare utvecklingssamhället. Det har varit riktigt bra, och samhället har vuxit exponentiellt sedan han gick med i Apache. Det var ett bra drag för projektet och har verkligen utvecklat utvecklingen.

Författare Obs! Brian går in mer detaljerat om detta i det här blogginlägget.


Q Det har funnits ett antal andra liknande projekt, men PhoneGap har fått större delen av uppmärksamheten. Vad kan du attributa till dess popularitet?

Jag tror att vår popularitet delvis beror på mycket tydligt definierade principer och mål. Vi vill att webben ska vara en förstklassig plattform och vi anger ofta ett syfte med att projektet ska upphöra att existera. Det är en kraftfull erkännande av vår avsikt att komma tillbaka till webbutveckling. Detta resonans med webbgemenskapen.

PhoneGap är också bara ett riktigt bra namn som tydligt kommunicerar projektet tydligt. Vi hade tur där. Jag är inte säker på om det var Brock Whitten eller Andre Charland som myntade det. Rob Ellis var där men jag tvivlar på att han skulle komma ihåg heller. Jag hatade det först men efter fem års arbete med det som jag brukar vara van vid!

Antagandet av PhoneGap var förmodligen lite dum tur också. Jag skulle vilja tro att vi gjorde en del av den lyckan med en regelbunden frisättningskadens och en stark testfilosofi. Vi har sällan regressioner, och vi skickar kontinuerligt kvalitetsutgåvor. Den hälsosamma aktiviteten har hjälpt till att bygga förtroendet för vår utvecklingssamhälle och de företag och organisationer som använder PhoneGap idag.


Q Vad gäller mobil, hur enkelt eller utmanande har det varit att använda webbteknologi som HTML & JavaScript för att skapa en plattform som bygger inbyggda appar för mobila enheter?

Jo, å ena sidan är det väldigt enkelt att komma igång med att bygga en webbapp. Å andra sidan kan webapplikationer växa snabbt, och de enheter vi pratar om har inte mycket hästkraft till att börja med. Programutveckling är en balansräkning. Vi balanserar alla slags styrkor. Skicklighet och kodåteranvändning. Lägger till fler funktioner eller arbetar med prestanda.


Q Fick du mobila operativsystemsleverantörer mottagliga för PhoneGap? Vilka utmaningar måste du övervinna?

De flesta mobila operativsystemleverantörer bidrar direkt till Cordova!

Vi har vänner från Google som levererar Chrome Packaged Apps till fray. Mozilla stöter på Firefox OS med oss. Canonical har hackare som arbetar på Ubuntu Phone. Blackberry har en massa devs som ger oss Blackberry Webworks perspektiv. Intel och Samsung representerar Tizen.

Tidigt i PhoneGap-projektet, före hela denna glamorösa Apache-verksamhet , Vi var tillfälligt blockerade från App Store av Apple. Det var det bästa någonsin. Det tog ett ton av uppmärksamhet på projektet. Efter mycket kerfuffle granskade Apple vår kod till vår gemensamma tillfredsställelse att vi inte bryter mot någon av App Store-policyerna och PhoneGap-appar har sänts där sedan.


Q Vilka är de praktiska användningsfallen för att använda PhoneGap och vid vilken tidpunkt bör utvecklarna överväga att gå helt inbyggd?

Tja, om du har en befintlig investering i webbinnehåll eller webbutvecklare så är PhoneGap värt att titta på. Om du letar efter portabilitet är webteknologi uppenbarligen användbar, och detta kan till och med betyda på en enda plattform, men kan automatiskt rikta handenhet och tablettformsfaktorer med en enda kodbas.

Jag brukade säga att webbteknik inte är det bästa valet för spel. Men det beror på vilken typ av spel som helst. Speciellt mobila spel tenderar att vara fler pussel, kort eller tvådimensionella sortering av saker som inte kräver nedsänkande grafik. Webteknik är överraskande bra för dessa typer av spel. Innan vi får bättre stöd för WebGL tror jag att gå inbyggd är fortfarande övertygande. W3C- och webbläsarsäljare är mycket medvetna om denna brist och det är bara en fråga om tid innan spelkontrollen, orienteringslås, fullskärms-API och Audio API är fullt realiserade. Konsolen kommer att flytta in i webbläsaren och intäktsgenereringen kommer att röra sig mot en servicemodell som ett resultat.


Q När ska utvecklare titta på inbyggda versus rent webbläsarbaserade för mobilappar?

Tja, om du har tid att investera i en viss plattform (ibland även proprietär) så är inhemsk en bra, om dyr, väg att investera i.

Det är lätt att skriva en crummy native app som det är med web tech men det är ännu enklare att felsöka dessa saker med hjälp av den inbyggda plattformen verktyg. Denna verktygsintegration gör de flesta utvecklingsmiljöer mycket bekväma, med stor dokumentation, och distributionen är typ av inbyggd. (Du får dessa fördelar med PhoneGap också, eftersom vi inte gömmer dessa detaljer.) Jag uppmuntrar utvecklare att alltid lära sig så mycket du kan och inbyggd mobil utveckling är super roliga saker att lära.

Som sagt är jag inte så övertygad om affärsfördelarna med att gå inbyggd. Du ärvt ett beroende av (ofta) proprietära verktyg och distributionskanaler som är inherent riskabelt. När säljaren gör en förändring så gör du det. Om de valde att stänga av, avskriva eller på annat sätt överge infrastruktur som du är beroende av för intäkter får du inte något att säga eller använda. Jag skulle inte personligen bygga ett företag på det sättet, men jag kan också respektera att vissa gör det, och hur som helst kan du använda PhoneGap för att mildra den risken.


Q Är webbläsarbaserad mobil webb redo för primetime? Om inte, vad saknas?

Offline är fortfarande rörigt, vi har App Cache men det är väldigt komplext och skapar en janky användarupplevelse. När en ny version är tillgänglig måste du uppmana användaren att ladda om. Men jag har stora förhoppningar om navigeringskontrollerns insats för att fixa det.

Push-meddelanden är en annan sak som webben behöver få rätt. Meddelanden är avgörande för användarengagemang. Dessa standarder och support börjar dyka upp i stationära webbläsare, men vi behöver de möjligheterna att stiga upp i mobila webbläsare.

Säkerhetsmodellerna för förpackade appar har behov av förfining. Men det händer. Som ett resultat kommer vi att vinna fler och bättre API-enheter. Firefox OS och Chrome OS kommer att peka vägen. Vi ska göra allt vi kan för att hjälpa till genom att tillhandahålla en snabb prototyperyta för webbläsare.

Utvecklarverktygsupplevelse behöver kärlek. Det blir ganska bra och det finns en riktig sund konkurrens mellan Firefox, Chrome, Opera och i mindre utsträckning IE och Safari. Prestationsinstrument för övervakning och särskilt rapportering av kraschrapportering skulle vara särskilt bra.


Tack Brian

Jag vill tacka Brian för att ta oss tid att förse oss med PhoneGaps historia och hans inblick i mobilwebben. Om du är intresserad av att bygga mobila applikationer med hjälp av dina webbutvecklings färdigheter, var god och kolla in Apache Cordova och Adobe PhoneGap.