Publikoval Michal Kočí dňa 2.3.2014 o 00:22 v kategórii Mobilné aplikácie
Pred pár dňami som dokončil svoju prvú aplikácie pre iOS. Rozhodol som sa na vývoj použiť PhoneGap respektíve Cordovu a povedal som si, že o vývoji mobilných aplikácií napíšem aj sem na blog, pre prípad, že by to niekoho zaujímalo.
Mám v pláne niekoľko príspevkov o vývoji mobilných aplikácií cez PhoneGap pre iOS. Ak však čakáte detailný návod, tak vás musím sklamať. Jednotlivé technológie o ktorých budem písať sú sami o sebe komplexné a písať detailne by znamenalo písať knihu. A toto je blog.
Skôr si za cieľ dávam trochu vám poodhaliť vývoj cez PhoneGap respektíve vývoj mobilných aplikácií v HTML. Aby ste mali predstavu, čo vás asi čaká a kde a ako začať. Ak máte v pláne programovať takéto aplikácie, snáď vás táto séria článkov naštartuje a nasmeruje.
Pripravený? Tak poďme na to...
PhoneGap je framework, ktorý vám umožní vyvíjať aplikácie pre mobilné telefóny. Aplikácie ale nepíšete v jazyku bežne používanom pre danú platformu (ObjectiveC pre iOS, Java pre Android či .Net pre Windows Phone), ale píšete ich v JavaScripte. Užívateľské rozhranie potom robíte v HTML a CSS.
Výhoda je to najmä pre tých, ktorý trojkombináciu HTML+CSS+JavaScript už ovládajú, nemusia sa tak učiť nové jazyky, nové sady knižníc pre tvorbu UI. Teoreticky. Prakticky sa pri zložitejších aplikáciách budete musieť naučiť daný programovací jazyk minimálne v prípade, že budete chcieť viac funkcionality, než PhoneGap ponúka - tú si môžete naprogramovať ako plugin, ktorý ale musí byť v danom programovacom jazyku.
Tiež platí, že takto vytvorená aplikácia potom môže bežať na rôznych platformách (iOS, Android, ...). Teoreticky. Prakticky ak si spravíte plugin pre jednu platformu, budete ho veľmi pravdepodobne potrebovať aj pre ďalšiu platformu. A možno kvôli funkcionalite danej platformy na to budete musieť ísť úplne inak.
Čiže skrátene: PhoneGap je super a pri jednoduchých aplikáciach sa vám možno podarí jednu aplikáciu bez (väčších) zmien úspešne nasadiť na viac platforiem. Pri zložitejších aplikáciach to už možno platiť nebude, ale na fakte, že PhoneGap je skvelý to moc nemení.
Ak ste už započuli názov Cordova a rozmýšlate čo je Cordova a čo PhoneGap, rozdiel a detaily sa dočítate v tomto článku. V skratke ale PhoneGap stavia na Cordove a ja v tomto aj ďalších článkoch budem poväčšine používať názov PhoneGap, najmä pre to, že je viac zaužívaný.
Stiahnete a nainštalujete si PhoneGap. Necháte si vytvoriť aplikáciu pre tú platformu, pre ktorú sa chystáte vyvíjať. V mojom prípade to bol iOS. PhoneGap vám vytvorí natívnu aplikáciu (áno, napísanú v danom jazyku - u mňa to bol ObjectiveC).
Táto natívna aplikácia obsahuje veľmi jednoduché UI - celé UI tvorí vlastne len webový prehliadač bez adresného riadku, v ktorom pobeží vaša aplikácia.
Keďže možnosti HTML a JavaScriptu sú obmedzené a štandardne neposkytujú funkcionalitu, ktorá sa bežne v mobilných aplikáciách používa (ako čo, samozrejme), prináša PhoneGap pluginy.
Plugin si predstavte ako natívny kód s API, ktoré je prístupné pre váš JavaScript. Potrebujete zistiť stav siete, niečo stiahnuť, uložiť na telefón, zistiť polohu a podobne? Áno, použijete plugin. Zavoláte JavaScriptové metódy, ktoré cez mechanizmus pluginov na pozadí zavolajú natívny kód.
PhoneGap prináša niekoľko predpripravených pluginov, ktoré môžete používať na všetkých platformách.
A ako som spomenul vyššie, ak nejakú funkcionalitu nemá v podobe pluginov, môžete alebo skúsiť pohľadať už existujúci plugin, alebo si napísať vlastný - tu však už musíte vedieť programovať v jazyku pre danú platformu.
Ak chcete PhoneGap použiť na vývoj iOS aplikácií, potrebujete Mac. Tým, že PhoneGap za vás vytvorí natívnu aplikáciu, túto otvárate a ďalej modifikujete (ak treba) a kompilujete v XCode.
XCode obsahuje emulátor zariadení, čiže zariadenie nepotrebujete. Teoreticky. Prakticky ale na zariadení chcete testovať a niektorá funkcionalita na emulátoroch nie je fukčná. Čiže potrebujete iPhone.
Ak chcete aplikáciu dostať na reálne zariadenie, potrebujete mať aj vývojársky účet pre iOS. Tento stojí cca 100 dolárov ročne.
Podľa mňa áno. Ak ste šikovný, ovládate HTML+CSS+JavaScript a viete sa prípadne naučiť ObjectiveC, máte šancu veľmi rýchlo vytvoriť skvelú aplikáciu a publikovať ju v AppStore.
Pokiaľ sa chcete rýchlo a ľahko naučiť programovať mobilné aplikácie v Javascripte, príďte na moje školenie programovania mobilných aplikácií v Cordove.
Samozrejme, môžete na to ísť aj tradičnou cestou, naučiť sa ObjectiveC a Cocoa Touch pre tvorbu UI. Mne sa táto cesta zdala nateraz zbytočná.
Náklady na Mac, iPhone a vývojársky účet sú rovnaké, nech sa rozhodnete pre jednu alebo druhú cestu.
PhoneGap som použil na vývoj aplikácie na sťahovanie a prehrávanie audiokníh pre Audiolibrix.
Promo vsuvka: Ak máte audioknihy radi, bežte si ju vyskúšať, ideálne ak máte u Audiolibrixu účet a zakúpenú aspoň jednu audioknihu. Tak si ju vyskúšate najlepšie :)
Nevravím, že je to zložitá aplikácia, ale určite ani nepatrí k tým jednoduchým. Vývoj ma vyslovene bavil a preto som sa rozhodol napísať pár článkov, aby som možno aj vás naladil a aby ste PhoneGap vyskúšali.
Super.
Bežte si zatiaľ prečítať podobne ladený článok na zdrojáku a zostante naladený. Nasledujúci článok sa bude venovať vývoju PhoneGap aplikácie v JavaScripte.
Ak nechceš premeškať príspevky ako je tento, sleduj ma na Twitteri, alebo ak máš RSS čítačku, môžeš sledovať môj RSS kanál.