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.

Kako riješiti date.timezone error (Joomla 1.5 + PHP 5.3) ?

Kada vaš pružatelj hosting usluga prijeđe na PHP verzije 5.3 vrlo je vjerojatno da će vas dočekati date.timezone error kao prst u oko vašem web projektu ili još gore projektu za vašeg klijenta. To se događa kada se PHP ne pogoni kao dio Apache modula zbog veće sigurnost kada je u pitanju dijeljeni (shared) hosting.

Koliko god se stanje činilo alarmantno stvar nije toliko komplicirana i zapravo ova je pogreška vrlo česta u što se možete uvjeriti ako ‘guglate’ poruku o pogrešci.

Kroz jedan konkretan primjer pokazat ću vam kako se riješiti ovog errora na primjeru CMS-a Joomla 1.5.x, foruma Kunena 1.5.x  (ex. Fireboard) i naravno PHP-a verzije 5.3. Iako mora biti jasno da ovo nije problem samo Joomle niti je ekskluzivan za Joomlu.

Ako se pitate zašto bi netko još uvijek koristio Joomlu verzije 1.5.x u pitanju je jedan stari projekt te je prije migracije na WordPress potrebno ispeglati sve postojeće probleme.

Prvi način na koji ovaj problem možete riješiti je pomoću php.ini datoteke tako da ubacite sljedeći sadržaj unutar nje.


Popis podržanih vremenskih zona možete pronaći ovdje no ako nemate pristup toj datoteci to ne znači da ostajete bez opcija.

Kod Joomle npr. možete očekivati sljedeće dvije poruke:



U ovom slučaju je dovoljno u date.php na dno ubaciti:


Dok kod Kunena foruma možete očekivati sljedeće poruke:



Pri čemu je dovoljno u kunena.timeformat.class.php datoteku odmah iza:


ubaciti