Što je i čemu služi ngCordova unutar Ionic aplikacije?

U pravilu, sve što radi u web pregledniku radit će i u vašoj hibridnoj mobilnoj aplikaciji. Ipak, mobilne aplikacije često zahtijevaju više od mogućnosti samog web preglednika jer ipak mobilni uređaji imaju različite senzore i ostale funkcionalnosti (žiroskop, vibracija i dr.) bez čega vaša hibridna mobilna aplikacija ne bi bila ništa više od neke obične responzivne web stranice. Tu uskaču Apache Cordova tj. ngCordova koji će vam omogućiti korištenje upravo tih nativnih funkcionalnosti mobilnog uređaja.

Prije nego se odlučite za korištenje nekog plugina zapitajte se koliko vam je stvarno potreban i koja ograničenja povlači za sobom.

P.S. Pluginove isprobavajte i testirajte na mobilnom uređaju umjesto u web pregledniku.

Apache Cordova

Cordova se u vašem Ionic projektu nalazi od samog početka ako se sjetite naredbe $ npm install -g cordova ionic, a da je to stvarno tako možete se uvjeriti ako bacite pogled na index.html.

S tako postavljenim Ionic projektom spremni ste za korištenje Cordova pluginova.

Plugin ćete dodati jednostavnom naredbom cordova plugin add. Svaki plugin ima svoju dokumentaciju, ili bi trebao imati, i svakako ju detaljno proučite prije nego se odlučite na korištenje nekog plugina.

ngCordova

Kako je ovdje primarno riječ o razvoju hibridnih mobilni aplikacija pomoću Ionic Frameworka važno je znati da postoji puno elegantnije rješenje kada su u pitanju pluginovi, a to je ngCordova.

ngCordova je set odabranih Apache Cordova pluginova prilagođenih Ionic Frameworku.

Koristeći Ionic CLI dodajte podršku za korištenje ngCordova pluginova unutar Ionic aplikacije.

Primjetit ćete novi direktorij unutar www/lib/

ngCordova Ionic

Sljedeći korak je pozvati ng-cordova.js unutar index.html

I zadnji korak je uključiti taj novi modul u Ionic aplikaciju. Otvorite www/js/app.js i dodajte ‘ngCordova’ unutar uglate zagrade.

Sada ste spremni za dodavanje pluginova.

Nakon što ste dodali plugin ubacite njegov kod, kojega ćete vidjeti u dokumentaciji, u kontroler i obavezno ga pišite unutar $ionicPlatform.ready() jer inače bi mogli vidjeti hrpu undefined errora.

Prikažite rezultat.

Zaključak

Nadam se da ste kroz ovaj blog post uspjeli shvatiti što su Apache Cordova tj. ngCordova i kako na jednostavan način mogu nadopuniti vašu Ionic aplikaciju. U nekom od idućih blog postova planiram prikazati konkretnu implementaciju pojedinih ngCordova pluginova.

Ionic Framework – priprema razvojne okoline

Ako imate iskustva u razvoju za web (HTML, CSS i JavaScript) onda će vam tranzicija u razvoj hibridnih mobilnih aplikacija biti logičan korak i prirodna nadogradnja postojećih znanja i vještina.

Ionic aplikacije možete razvijati na bilo kojem OS-u (OS X, Linux ili Windows) tj. Android aplikacije možete razvijati na bilo kojem OS-u, ali za razvoj iOS aplikacija trebate Mac, OS X i Xcode.

Iako polako već stiže Ionic 2 koji je trenutno u beti za sada ću tutorijalima pokrivati isključivo Ionic osim ako ne navedem drugačije.

Ionic je front-end SDK tj. skup tehnologija koje omogućavaju jednostavan i brz razvoj hibridnih mobilnih aplikacija koristeći HTML(5), CSS(3) i AngularJS.

Što je sve potrebno instalirati?

Prije nego započete s izradom mobilnih aplikacija trebate postaviti razvojno okruženje. Potrebni su vam:

  • Node.js
  • Cordova
  • Ionic
  • Bower
  • Git Bash (opcionalno)
  • Android SDK
  • Xcode (kada razvijate iOS aplikacije na Macu)

Dobro upoznajte CLI (command line interface) koji će vam maksimalno olakšati razvoj. Putem CLI-a ćete raditi SPBD (start – preview – build – deploy).

0.) Pokrenite Command Prompt (cmd.exe) ili još bolje instalirajte i pokrenite Git Bash. Pomoću ovoga ćete pokretati sve naredbe.

1.) Preuzmite i instalirajte Node.js. Uz njega ćete dobiti i npm. Ako niste sigurni imate li već instaliran Node.js ili vas zanima koju verziju imate pokrenite naredbu:

2.) Ionic i Cordova mogu se istovremeno instalirati pomoću naredbe:

Kako bi bili sigurni da su Ionic i Cordova uspješno instalirani pokrenite naredbe:

3.) Za brže i jednostavnije upravljanje paketima instalirajte Bower. O ovome će više riječi biti kasnije.

I to je skoro sve.

Nakon što ste instalirati sve ranije navedeno spremni ste za izradu svoje prve Ionic aplikacije.

Aplikaciju u ovom trenutku možete pokrenuti na računalu u web pregledniku

i dodati joj Android platformu

kako bi kasnije mogli napraviti .apk koji ćete pakirati za slanje na mobilne uređaje, ali ju nećete moći pokrenuti na mobilnom uređaju

prije nego instalirate i Android SDK.

Više o ovome u sljedećem blog postu.

Kako napraviti Apache Cordova Platform update

Kada dovoljno dugo razvijate mobilne aplikacije koristeći Apache Cordova odnosno Ionic Framework pitanje je vremena kada će vam se Google javiti sa zanimljivim e-mailom uz dramatičan naslov “You are using a vulnerable version of Apache Cordova” s obavijesti o uklanjaju vaše aplikacije sa Play Storea ako ne izvršite potreban sigurnosni update.

Hello Google Play Developer,

Your app(s) listed at the end of this email utilize a version of Apache Cordova, an open-source mobile development framework, that contains one or more security vulnerabilities. If you have more than 20 affected apps in your account, please check the Developer Console for a full list.

Please migrate your app(s) to Apache Cordova v.4.1.1 or higher as soon as possible and increment the version number of the upgraded APK. Beginning May 9, 2016, Google Play will block publishing of any new apps or updates that use pre-4.1.1 versions of Apache Cordova.

The vulnerabilities were addressed in Apache Cordova 4.1.1. If you’re using a 3rd party library that bundles Apache Cordova, you’ll need to upgrade it to a version that bundles Apache Cordova 4.1.1 or later.

To confirm you’ve upgraded correctly, submit the updated version to the Developer Console and check back after five hours. If the app hasn’t been correctly upgraded, we will display a warning.

For information about the vulnerabilities, please see this Google Help Center article. For other technical questions, you can post to Stack Overflow and use the tag “android-security.”

While these specific issues may not affect every app that uses Apache Cordova, it’s best to stay up to date on all security patches. Apps with vulnerabilities that expose users to risk of compromise may be considered Dangerous Products in violation of the Content Policy and section 4.4 of the Developer Distribution Agreement.

Apps must also comply with the Developer Distribution Agreement and Content Policy. If you feel we have sent this warning in error, contact our policy support team through the Google Play Developer Help Center.

Regards,

The Google Play Team

Ipak, nema mjesta panici. Nadogradnju možete napraviti pokretanjem naredbe

I to je skoro to. Sada možete nadograditi i platforme za koje ste radili mobilnu aplikaciju. U ovom slučaju aplikacija je rađena za iOS i Android platformu pa se nakon pokretanja naredbe

može vidjeti da postoji nadogradnja za obje platforme:

  • android @ 4.1.1 could be updated to 5.1.0
  • ios @ 3.8.0 could be update to 4.0.1

Možete pokrenuti nadogradnju platformi

i očekivati prikaz obavijesti o uspješnoj nadogradnji

  • Android project updated with cordova-android@5.1.0
  • iOS project updated with cordova-ios@4.0.1

Dalje možete normalno raditi pripremu za postavljanje aplikacije na Google Play Store tj. App Store.