O introducere în Cordova Noțiuni de bază

În acest articol, vă prezint Cordova, un cadru folosit pentru dezvoltarea aplicațiilor mobile. Dacă sunteți nou la Cordova sau doriți să știți dacă este instrumentul potrivit pentru următorul proiect, atunci sunteți în locul potrivit. În acest articol, voi încerca să răspund la următoarele întrebări:

  • Ce este Cordova?
  • Cum funcționează sub capotă?
  • Ce pot construi cu Cordova?
  • Cum încep cu Cordova și de ce am nevoie?

Să mergem mai departe și să ne aruncăm în apă.

1. Ce este Cordova?

Cordova este un cadru de dezvoltare a aplicațiilor mobile care este destinat în primul rând dezvoltatorilor web. Acesta permite dezvoltatorilor web să utilizeze tehnologii web, cum ar fi HTML, CSS și JavaScript, pentru a crea aplicații mobile. Ca orice altă tehnologie, Cordova are argumente pro și contra.

Pro-uri

  • Usor de invatat Dacă sunteți un dezvoltator web, atunci Cordova are o curbă blândă de învățare. Puteți aplica cu ușurință abilitățile dvs. ca dezvoltator web pentru a crea o aplicație cu Cordova. Tot ce ai nevoie este să te familiarizezi cu linia de comandă pentru a te ridica și a alerga cu Cordova.
  • Acces la funcționalitatea nativă Cu Cordova, aveți acces la capabilitățile native ale dispozitivului, cum ar fi camera, contactele, geolocația, mass-media, SMS-ul și multe altele.
  • Liber Nu trebuie să plătești nimic pentru a folosi Cordova.
  • Sursa deschisa Oricine poate contribui la codul sursă al lui Cordova pentru ao face mai bine. Pluginurile sunt, de asemenea, open source și oricine poate construi pluginuri personalizate. Acest lucru înseamnă că dezvoltatorii ca dvs. puteți instala și utiliza cu ușurință aceste pluginuri. Sau puteți crea propriul plugin și îl puteți împărtăși comunității.
  • Comunitate mare O mulțime de dezvoltatori folosesc Cordova. În cazul unei suprapuneri de stive, de exemplu, există aproape 40 000 de întrebări etichetate Cordova. Acest lucru înseamnă că nu veți fi lăsat niciodată singur în rezolvarea unor bug-uri ciudate (dacă le-ați întâlnit vreodată). Oamenii din comunitate sunt întotdeauna dispuși să ajute, tot ce trebuie să faceți este să întrebați.
  • Scrieți o singură dată, implementați peste tot Cordova compilează aplicația într-un fișier de pachete, care este cerut de majoritatea magazinelor de aplicații. Aceasta înseamnă că aplicațiile create cu Cordova pot fi ușor instalate în magazinul de aplicații ales de dvs. Dacă desfășurați Android, Cordova creează un APK (Android Application Package). Dacă vă deplasați la iOS, Cordova se compilează la IPA. Pentru Windows, este appx.

Contra

  • Documentație slabă Este greu să găsești informații despre lucruri cu adevărat specifice, cum ar fi pachetele pe care trebuie să le instalezi cu Android SDK Manager. Și când arăți ceva, rezultatele indică informații specifice diferitelor versiuni ale Cordova. Acest lucru este uneori confuz pentru incepatori, deoarece ar putea avea o versiune diferita de Cordova instalata si se uita la documentatia pentru o alta versiune a Cordova.
  • Mai încet decât nativ Deoarece aplicațiile construite cu Cordova sunt practic aplicații web care sunt conținute într-o vizualizare web, nu funcționează la fel de bine ca și omologii lor nativi. Aceasta înseamnă că există o limită a tipurilor de aplicații pe care le puteți construi. De exemplu, o aplicație de editare video este mai bine construită nativă, deoarece se va baza foarte mult pe CPU și GPU pentru a-și desfășura activitatea.
  • Cadrele Deoarece Cordova este doar un pachet pentru o aplicație web, nu vine cu componentele de interfață cu utilizatorul, animațiile și alte bunate pe care le găsiți în cele mai multe aplicații native. Aceasta înseamnă că trebuie să implementați toate aceste lucruri pe cont propriu. De aceea mulți dezvoltatori se bazează pe cadre precum Ionic sau Onsen UI pentru a construi interfața utilizator a aplicațiilor lor.
  • Bug-uri în plugin-uri Nu fiecare plugin este creat egal. Există aceia care au bug-uri sau nu funcționează conform așteptărilor.
  • Nu fiecare dispozitiv este același Funcția nativă a dispozitivului este accesată prin utilizarea pluginurilor. Cordova expune un API astfel încât aceste pluginuri să poată fi utilizate în vizualizarea web, dar nu fiecare dispozitiv este același. Pe fiecare dispozitiv există șmecheri. Pentru a spune pur și simplu, nu toate opțiunile pe care le puteți seta pe un plugin vor funcționa pe fiecare dispozitiv. De exemplu, pe Android, cameraDirection valoarea rezultă întotdeauna o fotografie realizată cu camera foto orientată spre spate.

2. Cordova și PhoneGap

Când lucrați cu Cordova, întâlniți adesea acest termen PhoneGap. PhoneGap este numele proiectului inițial creat de o lansare numită Nitobi în jurul anului 2009. În 2011, compania a fost achiziționată de Adobe.

Rețineți că Adobe nu a cumpărat codul de bază real, doar numele și persoanele care au lucrat la Nitobi. Miezul open source a fost donat Fundației Software Apache, cunoscută acum ca Cordova.

O analogie obișnuită folosită de dezvoltatori este aceea că Cordova este pentru PhoneGap ce este WebKit pentru Safari. Altfel, PhoneGap este o distribuție a Cordova care este menținută de Adobe. Dacă doriți să citiți mai multe despre istorie, puteți consulta acest articol pe blogul PhoneGap de Brian LeRoux.

În practică, PhoneGap și Cordova sunt practic aceleași. Aveți posibilitatea să alegeți PhoneGap sau Cordova atunci când începeți un proiect. Singura diferență este CLI (Interface Line Command). Telefonul CLI al PhoneGap se integrează cu Adobe PhoneGap Build. Acest serviciu permite dezvoltatorilor să-și compună aplicațiile pe platforma pe care o aleg, încărcând-o pe site-ul PhoneGap Build.

3. Cum funcționează Cordova sub capotă?

Interfața cu utilizatorul Cordova este o vizualizare pe web. Vă puteți gândi la vizualizarea web ca la o filă în browser. Când compilați o aplicație Cordova, aceasta nu vă duce de fapt codul dvs. HTML, CSS și JavaScript și îl transformă în mod automat în cod nativ, specific pentru fiecare platformă.

Cordova acționează ca un container pentru aplicația pe care o scrieți folosind tehnologii web. Când aplicația este compilată, codul dvs. rămâne de fapt intact. Compilatorul ia doar codul dvs. și îl pune la dispoziția vizualizării web pentru redare.

Dacă ați deschis vreodată un fișier HTML într-un browser, acesta este în esență același lucru. Trebuie să rețineți că această vizualizare web este implementată diferit pe fiecare dispozitiv. Aceasta înseamnă că există anumite caracteristici care nu sunt disponibile pe unele platforme sau sunt implementate diferit.

4. Funcționalitatea dispozitivului nativ

Cu Cordova, aveți acces la funcționalitatea dispozitivului nativ prin utilizarea pluginurilor. Pluginurile sunt add-on-uri care expun un API JavaScript pentru componentele native. Acestea vă permit să accesați capabilitățile dispozitivului nativ, utilizând JavaScript API pe care îl expune.

După cum ați suspecta, plugin-urile sunt scrise în cod nativ. Aceasta înseamnă că trebuie să aveți setul SDK instalat pentru diferitele platforme pe care intenționați să le implementați, doar atunci puteți scrie codul nativ pentru fiecare dintre aceste platforme. Apoi, invoca codul nativ prin API-ul JavaScript, astfel încât să poată fi accesat în vizualizarea web.

Există două tipuri de pluginuri pe care le puteți găsi în ecosistemul plugin Cordova. În primul rând sunt pluginurile oficiale. Acestea sunt menținute de comunitatea din Cordova. Veți ști că un plugin este oficial dacă acesta are Cordova-plugin prefix.

Celălalt tip de plugin sunt pluginurile personalizate. Acestea sunt construite de dezvoltatori ca tine și cu mine. De multe ori, acestea sunt construite pentru a rezolva o problemă foarte specifică, cum ar fi conectarea unei aplicații la Facebook sau a Pluginului pentru tastatură Ionic pentru a facilita interacțiunea cu tastatura.

Dacă doriți să aflați mai multe despre felul de pluginuri pe care le puteți utiliza cu Cordova, puteți vizita site-ul Cordova Plugins.

5. Ce puteți construi cu Cordova?

În timp ce puteți construi aproape orice fel de aplicație cu Cordova, există câteva limite pe care le vom vorbi mai târziu. Pentru moment, să trecem prin câteva exemple de aplicații pe care le puteți construi cu Cordova.

  • TripCase TripCase este o aplicație de călătorie care vă îndrumă în fiecare etapă a călătoriei dvs..
  • FruitSalad FruitSalad este un joc de puzzle similar cu Bejeweled.
  • Panasonic Calendarul Patrimoniului Mondial Aceasta este o aplicație calendaristică care vă arată fotografii frumoase ale siturilor Patrimoniului Mondial. Acesta include, de asemenea, trivia despre cultură și natură legate de site-uri.
  • HealthTap HealthTap este stack Overflow pentru întrebări de sănătate.
  • Wikipedia Aplicația oficială Wikipedia este construită cu Cordova.

Pe baza aplicațiilor listate mai sus, ar trebui să aveți acum o idee despre tipul de aplicații pe care le puteți construi cu Cordova. Dacă sunteți dezvoltator, este posibil să fi observat că toate aceste aplicații utilizează internetul. Toate comunică unui server de la distanță pentru a prelua date. Asta este ceea ce Cordova este bun, preluând datele dintr-un server, prezentând-o utilizatorului, ascultând și răspunzând la informațiile primite de la utilizator.

Dar asta nu înseamnă că nu poți construi aplicații cu Cordova. Există o mulțime de soluții baze de date bazate pe client pe care le puteți utiliza cu ușurință. Un exemplu popular este LokiJS, un datastore rapid, în memorie orientat spre documente pentru Node.js, browserul și Cordova. Într-o aplicație din galeria foto, de exemplu, puteți utiliza această bibliotecă pentru a stoca căile fotografiilor și apoi pentru a le lua de pe spațiul de stocare atunci când este necesar.

Cu Cordova, puteți folosi aproape orice bibliotecă CSS sau JavaScript pe care o puteți găsi pe cdnjs, deoarece codul pe care îl scrieți rulează în browser. Trebuie să fii atent, însă, nu toate browserele sunt la fel. Și asta ne aduce la următoarea secțiune.

6. Limitări

Ca și în orice altceva în viață, există întotdeauna limitări. Cordova nu face excepție. În această secțiune, voi vorbi despre unele dintre limitările lui Cordova.

Indiferent ce puteți realiza cu codul nativ, puteți realiza și cu Cordova. Există însă două limitări comune, performanţă și disponibilitatea pluginului.

Performanţă

Cordova accesează capabilitățile dispozitivului nativ prin pluginuri și acest lucru are un cost, un cost pe care aplicațiile native nu îl au. După cum am menționat mai devreme în acest tutorial, nu este o idee bună să construim aplicații cu Cordova care se bazează foarte mult pe CPU sau GPU. Astfel de aplicații nu vor fi la fel de performante ca și cum ați dori să fie, mai ales atunci când sunt comparate cu omologii lor nativi.

Plugin Disponibilitate

O altă limitare este disponibilitatea pluginului. Dacă o funcționalitate specifică nu este disponibilă printr-un plugin existent în repozitoriu, atunci singura dvs. alegere este să construiți singur pluginul.

Vizualizare pe Web

În mod implicit, Cordova utilizează vizualizarea web a platformei pentru a reda interfața cu utilizatorul, ceea ce înseamnă că interacționați cu o vizualizare web diferită pe fiecare platformă pe care o vizați.

Mai mult decât atât, versiuni diferite ale sistemului de operare al platformei pot avea o vizualizare web diferită sau una cu un set diferit de caracteristici. De exemplu, dispozitivele Android moderne pot avea o aromă de Android care au activat WebRTC, în timp ce versiunile mai vechi ale Android nu au această caracteristică.

Pentru dezvoltatorii din Cordova, este un lucru bun că proiectele precum Crosswalk vin la salvare. Crosswalk vă permite să utilizați o vizualizare personalizată în aplicațiile Cordova, normalizând diferențele dintre platforme. Mai târziu, în acest tutorial, vă voi arăta cum puteți utiliza Crosswalk într-un proiect Cordova.

Aflați mai multe în cursul nostru de la Cordova

Dacă doriți să aflați mai multe despre Cordova, verificați cursul lui Reggie Dawson pe Cordova. Reggie vă introduce pe platformă și vă ajută să creați o aplicație Cordova de la zero. Uitați-vă la videoclipul de mai jos pentru a obține un gust al cursului.

Concluzie

Ar trebui să aveți acum o idee bună despre ce este Cordova și cum își face magia. Sper că acest articol a răspuns la întrebarea dacă Cordova este instrumentul potrivit pentru următorul dvs. proiect mobil.

În articolul următor, vom fi murdari prin crearea unei aplicații mobile cu Cordova. Simțiți-vă liber să lăsați orice întrebări sau comentarii pe care le aveți în comentariile de mai jos.

Cod