I denne artikkelen vil jeg introdusere deg til Cordova, et rammeverk som brukes til å utvikle mobile applikasjoner. Hvis du er ny til Cordova, eller du vil vite om det er riktig verktøy for ditt neste prosjekt, så er du på rett sted. I denne artikkelen vil jeg sikte på å svare på følgende spørsmål:
La oss gå videre og dykke inn.
Cordova er en mobil applikasjonsutvikling rammeverk som er primært beregnet for webutviklere. Det tillater webutviklere å bruke webteknologier, for eksempel HTML, CSS og JavaScript, for å lage mobile applikasjoner. Som alle andre teknologier har Cordova sine fordeler og ulemper.
cameraDirection
verdi resulterer alltid i et bilde tatt med kameraet bakovervendt.Når du arbeider med Cordova, kommer du ofte over begrepet PhoneGap. PhoneGap er navnet på det opprinnelige prosjektet opprettet av en oppstart som heter Nitobi rundt 2009. I 2011 ble selskapet anskaffet av Adobe.
Merk at Adobe ikke kjøpte den faktiske kodebasen, bare navnet og personene som jobbet på Nitobi. Kjernekjernen ble donert til Apache Software Foundation, som nå er kjent som Cordova.
En vanlig analogi brukt av utviklere er at Cordova er å PhoneGap hva WebKit er for Safari. Sett forskjellig, PhoneGap er en distribusjon av Cordova som vedlikeholdes av Adobe. Hvis du vil lese mer om historien, kan du sjekke ut denne artikkelen på PhoneGap bloggen av Brian LeRoux.
I praksis er PhoneGap og Cordova i utgangspunktet det samme. Du kan velge enten PhoneGap eller Cordova når du starter et prosjekt. Den eneste forskjellen er CLI (Command Line Interface). PhoneGaps CLI integreres med Adobe PhoneGap Build. Denne tjenesten lar utviklere kompilere sine apper til plattformen etter eget valg ved å laste den opp til PhoneGap Build-nettstedet.
Cordovas brukergrensesnitt er en webvisning. Du kan tenke på nettvisningen som en fan i en nettleser. Når du kompilerer en Cordova-applikasjon, tar den ikke faktisk HTML-, CSS- og JavaScript-koden og konverterer den automatisk til innfødt kode, spesifikk for hver plattform.
Cordova fungerer som en beholder for appen du skriver ved hjelp av webteknologi. Når appen er kompilert, forblir koden din intakt. Kompilatoren tar bare koden din og gjør den tilgjengelig for webvisningen for gjengivelse.
Hvis du noen gang har åpnet en HTML-fil i en nettleser, er det i utgangspunktet det samme. Du må huske på at denne nettvisningen er implementert annerledes på hver enhet. Dette betyr at det finnes visse funksjoner som ikke er tilgjengelige på noen plattformer, eller de implementeres annerledes.
Med Cordova har du tilgang til innfødt enhetsfunksjonalitet ved hjelp av plugins. Plugins er tilleggsprogrammer som avslører en JavaScript API for innfødte komponenter. De lar deg få tilgang til innfødte enhetskapasiteter ved å benytte JavaScript-API-en som den avslører.
Som du kanskje mistenker, er plugins skrevet i innfødt kode. Dette betyr at du må ha SDK installert for de forskjellige plattformene du planlegger å distribuere til, bare da kan du skrive den innfødte koden for hver av disse plattformene. Deretter kaller du den opprinnelige koden gjennom JavaScript API, slik at den kan nås i nettvisningen.
Det finnes to typer plugins som du finner i Cordova plugin-økosystemet. Først er de offisielle plugins. Disse vedlikeholdes av Cordova-samfunnet. Du vet at et plugin er offisielt hvis det har cordova-plugin prefiks.
Den andre typen plugin er tilpassede plugins. Disse er bygget av utviklere som deg og meg. Ofte er de bygget for å løse et svært spesifikt problem, for eksempel å koble en app til Facebook eller Ionic Keyboard Plugin for å gjøre samhandling med tastaturet enklere.
Hvis du vil lære mer om hva slags plugins du kan bruke med Cordova, kan du besøke Cordova Plugins nettside.
Mens du kan bygge nesten alle slags app med Cordova, er det noen grenser som vi snakker om senere. For nå, la oss gå gjennom noen prøveapper som du kan bygge med Cordova.
Basert på appene som er oppført ovenfor, bør du nå ha en ide om hva slags apper du kan bygge med Cordova. Hvis du er en utvikler, kan du ha lagt merke til at alle disse appene bruker internett. De kommuniserer alle til en ekstern server for å hente data. Det er hva Cordova har det bra på, henter data fra en server, presenterer det for brukeren, og lytter etter og svarer på innspill fra brukeren.
Men dette betyr ikke at du ikke kan bygge selvforsynte apps med Cordova. Det finnes mange kundebaserte databaseløsninger som du enkelt kan bruke. Et populært eksempel er LokiJS, en rask dokumentorientert datastore for Node.js, nettleseren og Cordova. I et bildegalleri-app kan du for eksempel bruke dette biblioteket til å lagre stiene til bilder og deretter ta dem fra lageret når det trengs.
Med Cordova kan du bruke stort sett alle CSS eller JavaScript-bibliotek som du finner på cdnjs, fordi koden du skriver kjører i nettleseren. Du må være forsiktig, men ikke alle nettlesere er de samme. Og det bringer oss til neste del.
Som med alt annet i livet, er det alltid begrensninger. Cordova er ikke noe unntak. I dette avsnittet snakker jeg om noen av begrensningene i Cordova.
Uansett hva du kan oppnå med innfødt kode, kan du også oppnå med Cordova. Det er imidlertid to vanlige begrensninger skjønt, opptreden og plugin tilgjengelighet.
Cordova får tilgang til innfødte enhetskapasiteter via plugins, og dette har en kostnad, en kostnad som innfødte apper ikke har. Som jeg tidligere nevnte i denne opplæringen, er det ikke en god ide å bygge programmer med Cordova som er avhengige av CPU eller GPU. Slike programmer vil ikke være like performant som du vil at de skal være, spesielt når sammenlignet med innfødte kolleger.
En annen begrensning er plugin tilgjengelighet. Hvis en bestemt funksjonalitet ikke er tilgjengelig gjennom et eksisterende plugin i depotet, er det eneste valget å bygge pluggen selv.
Som standard bruker Cordova plattformens nettvisning for å gi brukergrensesnittet, noe som betyr at du samhandler med en annen nettvisning på alle plattformer du målretter mot.
Videre kan forskjellige versjoner av plattformens operativsystem ha en annen nettvisning eller en med et annet sett med funksjoner. For eksempel kan moderne Android-enheter kjøre en smak av Android som har WebRTC aktivert, mens eldre versjoner av Android mangler denne funksjonen.
For Cordova-utviklere er det en god ting som prosjekter som Crosswalk kommer til redning. Crosswalk lar deg bruke en tilpasset webvisning i Cordova apps, normalisere forskjellene mellom plattformer. Senere i denne opplæringen vil jeg vise deg hvordan du kan bruke Crosswalk i et Cordova-prosjekt.
Hvis du liker å lære mer om Cordova, så sjekk ut Reggie Dawson kurs på Cordova. Reggie introduserer deg til plattformen og hjelper deg med å lage en Cordova-app fra bunnen av. Ta en titt på videoen nedenfor for å få en smak av kurset.
Du bør nå ha en god ide om hva Cordova er, og hvordan det gjør sin magi. Jeg håper denne artikkelen har besvart spørsmålet om Cordova er det riktige verktøyet for ditt neste mobilprosjekt.
I neste artikkel får vi hendene skitne ved å lage et mobilprogram med Cordova. Ta gjerne spørsmål eller kommentarer i kommentarene nedenfor.