Programovanie

Vývoj mobilných aplikácií po PhoneGap a Cordova

Todd Anglin je viceprezidentom produktovej stratégie a vzťahov s vývojármi v spoločnosti Progress.

Už takmer desať rokov ponúka PhoneGap webovým vývojárom cestu s nízkym trením pre vytváranie mobilných aplikácií, ktoré majú prístup k možnostiam natívnych zariadení. Aplikácia PhoneGap umožňuje mnohým vývojárom vytvárať aplikácie pre iOS a Android (a na chvíľu dokonca aj Windows Phone a BlackBerry) pomocou zručností a knižníc JavaScript, ktoré už poznajú a milujú. Táto kombinácia webových zručností a prístupu k natívnym zariadeniam (všeobecne známy ako „hybridný“) sa pevne zakorenila ako jeden z primárnych prístupov k vývoju mobilných aplikácií.

Teraz, keď sa práca na vývoji PhoneGap (a súvisiaceho projektu open source Apache Cordova) spomaľuje, čo bude ďalej s vývojom hybridných mobilných zariadení?

Je zrejmé, že ako projekt s otvoreným zdrojom Apache Cordova v dohľadnej dobe nezmizne. Mnoho spoločností má veľké investície do Cordovy a komunita Cordova naďalej vypĺňa medzery, keď príliv a odliv korporácií klesá.

Ale PhoneGap bol projekt vytvorený s výslovným úmyslom nakoniec zastarať a ten okamih môže byť na nás.

V priebehu posledných 10 rokov sa objavili dve pravdepodobne vynikajúce možnosti, ktoré sú pripravené nahradiť PhoneGap a „hybrid 1.0“. Jedná sa o progresívne webové aplikácie a natívne aplikácie založené na JavaScripte.

Progresívne webové aplikácie

Aplikácia PhoneGap mala vždy pomáhať vývojárom webových stránok robiť na mobilných zariadeniach viac, keď narazí na hranice mobilných webových prehliadačov. Aplikácia PhoneGap opakovane využíva všetko z webu - HTML, CSS, JavaScript - a pri prístupe ku konkrétnym funkciám natívneho zariadenia pomocou kódu JavaScript sa spolieha na doplnky napísané v natívnom kóde (Objective-C, Swift, Java). Postupom času sa to ukázalo ako požehnanie aj prekliatie. Krivka učenia je veľmi nízka, ale zabudované webové prehľadávače v aplikáciách PhoneGap často zápasia s výkonom (nie vďaka spoločnosti Apple a dlho aj predvolenému zobrazeniu webu pre Android). Napriek tomu bol PhoneGap funkčným riešením, ktoré pre mnohých prinieslo výsledky „dosť dobré“.

Medzitým sa webové štandardy neustále vyvíjali a za posledné tri až štyri roky sa pod výrazom „progresívne webové aplikácie“ katalyzoval tlak na zlepšenie webových štandardov potrebných na vytváranie výkonnejších mobilných aplikácií pripravených na offline použitie.

Vďaka progresívnym webovým aplikáciám robí webová platforma ďalší obrovský krok vpred. Teraz majú webové aplikácie úplnú kontrolu nad sieťovým zásobníkom, čo umožňuje vykonávať pokročilé operácie ukladania do pamäte cache a offline. K dispozícii sú tiež nové rozhrania API, ktoré pomáhajú webovým aplikáciám robiť iné veci, ktoré sú často spojené s natívnymi mobilnými aplikáciami, napríklad spúšťanie pomocou úvodnej obrazovky, posielanie upozornení push alebo požadovanie informácií o platbe od používateľov. Pridajte to ku všetkým ostatným rozhraniam API „HTML5“, ktoré pristáli v prehliadačoch, napríklad k akcelerometrom, kamerám atď., A máte veľmi schopnú webovú platformu pre mnoho druhov aplikácií.

Všetky tieto funkcie by si pri vytváraní aplikácie PhoneGap vyžadovali natívnu aplikáciu, teraz sa však prehliadače chytili. Môžeme zložiť hybridné cvičné kolesá.

Na webe stále existujú obmedzenia. Je to len podstata pomaly sa rozvíjajúcej platformy založenej na štandardoch. progresívne webové aplikácie sú obrovským krokom vpred, ale nie sú dokonalou náhradou všetkých aplikácií. Čo teda majú robiť vývojári webu po hybridnom riešení, ak stále potrebujú úplný prístup k natívnym rozhraniam API zariadení? Zadajte natívne aplikácie založené na JavaScripte.

Natívne aplikácie založené na JavaScripte

Asi pred piatimi rokmi sa niekoľko spoločností začalo snažiť hľadať riešenie častých problémov s výkonom, ktoré trápili hybridné mobilné aplikácie. Cieľ: Vytvoriť rámce, ktoré by mohli poskytovať „skutočne natívny“ výkon a bohatosť používateľského rozhrania a zároveň byť medziplatformové a známe webovým vývojárom. Z tejto práce vyplynuli dve populárne možnosti: React Native (z Facebooku) a NativeScript (z Progressu).

Tieto nové rámce umožňujú vývojárom naďalej využívať svoje webové zručnosti, ale namiesto jednoduchého zabalenia webového prehliadača do natívneho aplikačného shellu (ako to robí PhoneGap), tieto nové prístupy vytvárajú natívne používateľské rozhranie. Výsledkom sú mobilné aplikácie, ktoré sa cítia a fungujú viac ako „nespracované“ natívne aplikácie pre jednu platformu, pričom stále zvyšujú produktivitu naprieč platformami.

Existuje niekoľko názvov, ktoré tento prístup popisujú: „hybrid 2.0“, „native hybrid“ a „cross-platform native“. Spoločnosť Forrester predstavila výraz „natívne aplikácie založené na JavaScripte“, a hoci to nevychádza z jazyka, je to prinajmenšom presný a popisný názov.

Vďaka natívnym rámcom natívnych aplikácií založeným na JavaScripte majú weboví vývojári väčšinu toho, čo sa im na PhoneGap páčilo, ale s ešte väčšou silou a výkonom. Napríklad NativeScript, ktorý je hlboko integrovaný s Angular aj Vue, poskytuje vývojárom plný prístup ku všetkým natívnym API prostredníctvom JavaScriptu. Každý z nich. Ak je to možné v natívnej aplikácii, je to možné v jazyku NativeScript a medziplatformové moduly umožňujú väčšinu vecí kódovať naraz a fungujú v systéme iOS aj Android. Je to ako doplnky PhoneGap na steroidoch.

React Native a NativeScript sú prosperujúce projekty otvoreného zdroja a oba sú pripravené byť prirodzeným vývojom verzie „hybrid 1.0“ v prípadoch, keď progresívne webové aplikácie nezaplatia.

Ktoré si vyberiete?

Aj keď PhoneGap nie je preč, je ťažké si predstaviť, prečo by každý nový projekt začal s PhoneGapom už dnes, keď existujú možnosti ako progresívne webové aplikácie a natívne aplikácie založené na JavaScripte. Obe možnosti predstavujú cesty postavené do budúcnosti a je relatívne triviálne ich prijať pre webových vývojárov, ktorí už poznajú vývoj hybridných aplikácií.

Tiež by mal byť jednoduchý výber z týchto možností:

  1. Ak vaša aplikácia nepotrebuje veľa prístupov k rozhraniu API zariadenia, nemusí byť v obchodoch s aplikáciami a pre iOS (zatiaľ) môže žiť s niektorými ďalšími obmedzeniami, vytvorte si progresívnu webovú aplikáciu.
  2. Ak požiadavky vašej aplikácie presahujú limity progresívnych webových aplikácií, vyberte si jednu z platforiem natívnych aplikácií založených na JavaScripte:
    1. Ak ste obchodom React, vyberte React Native.
    2. Ak ste obchodom Angular alebo Vue, zvoľte NativeScript.

Mnoho spoločností, ktoré vytvárajú tieto open-source rámce, sú veľmi ochotné pomôcť a väčšina ponúka technické poradenstvo pri prechode z PhoneGap na svoj rámec. Ak hľadáte miesto, kde začať svoju migračnú cestu, konzultácia s odborníkom je vždy dobrý nápad.

A ak sa zaseknete alebo by ste radšej hovorili s odborníkom tretej strany, pre vývojársku komunitu je k dispozícii množstvo skvelých zdrojov - zrejmou a najobľúbenejšou voľbou je GitHub. Existuje však veľa ďalších fór, ktoré vývojárom na chvíľu pomáhajú migrovať z PhoneGap a hybridných na progresívne webové aplikácie a ponúkajú niekoľko skvelých ukazovateľov.

Názov PhoneGap nakoniec splnil svoje meno. Pomohlo webovým vývojárom prekonať „medzeru“ vo vývoji mobilných aplikácií takmer desať rokov. To je pôsobivý beh podľa každého štandardu. Teraz je čas, aby progresívne webové aplikácie a rámce natívnych aplikácií založené na JavaScripte vyzdvihli plášť a viedli vývojárov do budúcnosti.

Hybrid (1.0) je mŕtvy. Nech žije hybrid (2.0).

Todd Anglin je viceprezidentom produktovej stratégie a vzťahov s vývojármi v spoločnosti Progress.

Nové technologické fórum poskytuje miesto na preskúmanie a diskusiu o vznikajúcich podnikových technológiách v nebývalej hĺbke a šírke. Výber je subjektívny, založený na našom výbere technológií, ktoré považujeme za dôležité a pre čitateľov najväčší záujem. neprijíma marketingové záruky na zverejnenie a vyhradzuje si právo upravovať všetok prispievaný obsah. Všetky otázky posielajte na adresu[email protected].

$config[zx-auto] not found$config[zx-overlay] not found