Programavimas

Mobiliųjų programų kūrimas po „PhoneGap“ ir „Cordova“

Toddas Anglinas yra „Progress“ produktų strategijos ir kūrėjų santykių viceprezidentas.

Beveik dešimtmetį „PhoneGap“ interneto kūrėjams pasiūlė mažos trinties kelią kurti mobilias programas, turinčias prieigą prie vietinių įrenginių galimybių. „PhoneGap“ leidžia daugeliui kūrėjų kurti „iOS“ ir „Android“ programas (ir tam tikrą laiką net „Windows Phone“ ir „BlackBerry“), naudojant jau žinomus ir mėgstamus įgūdžius bei „JavaScript“ bibliotekas. Šis žiniatinklio įgūdžių ir prieigos prie vietinio įrenginio derinys (paprastai žinomas kaip „hibridas“) buvo tvirtai įsišaknijęs kaip vienas iš pagrindinių mobiliųjų programų kūrimo būdų.

Dabar, kai sulėtėja darbas plėtojant „PhoneGap“ (ir susijusį „Apache Cordova“ atvirojo kodo projektą), kas toliau bus hibridinio mobiliojo ryšio plėtrai?

Akivaizdu, kad kaip atvirojo kodo projektas Apache Cordova netrukus neišnyks. Daugelis kompanijų investuoja į Kordovą dideles investicijas, o „Cordova“ bendruomenė ir toliau užpildo spragas, kai įmonių įsipareigotojai mažėja ir plūsta.

Tačiau „PhoneGap“ buvo projektas, sukurtas siekiant aiškiai pasenti, ir tai gali būti mūsų akimirka.

Per pastaruosius 10 metų atsirado dvi neabejotinai geresnės galimybės, kurios yra pasirengusios užimti „PhoneGap“ ir „hibridinio 1.0“ vietą. Tai yra progresyvios žiniatinklio programos ir „JavaScript“ valdomos savosios programos.

Progresyvios žiniatinklio programos

„PhoneGap“ visada buvo skirta padėti interneto svetainių kūrėjams padaryti daugiau mobiliuosiuose įrenginiuose, kai jie pasiekia mobiliųjų interneto naršyklių ribas. „PhoneGap“ pakartotinai naudoja viską iš interneto - HTML, CSS, „JavaScript“ - ir naudojasi papildiniais, parašytais gimtuoju kodu („Objective-C“, „Swift“, „Java“), kad pasiektų konkrečias vietinio įrenginio funkcijas naudodamas „JavaScript“. Laikui bėgant tai pasirodė ir palaima, ir prakeiksmas. Mokymosi kreivė yra labai žema, tačiau „PhoneGap“ programose įdėtos žiniatinklio naršyklės dažnai kovoja su našumu (ne „Apple“ ir ilgą laiką numatytojo „Android“ žiniatinklio rodinio dėka). Vis dėlto „PhoneGap“ buvo veikiantis sprendimas, kuris daugeliui davė „pakankamai gerų“ rezultatų.

Tuo tarpu žiniatinklio standartai ir toliau tobulėjo, o per pastaruosius trejus ar ketverius metus „pažangių žiniatinklio programų“ sąvoka paskatino pastangas tobulinti žiniatinklio standartus, reikalingus kuriant didesnio našumo ir neprisijungus parengtas mobiliąsias programas.

Naudodama progresyvias žiniatinklio programas, interneto platforma žengia dar vieną milžinišką žingsnį į priekį. Dabar žiniatinklio programos gali visiškai kontroliuoti tinklo kaminą, todėl galima atlikti išplėstines talpyklos ir neprisijungus atliekamas operacijas. Taip pat yra naujų API, padedančių žiniatinklio programoms atlikti kitus dalykus, dažnai susijusius su vietinėmis mobiliesiems skirtomis programomis, pvz., Paleidimą su paleidžiamuoju ekranu, siuntimo pranešimų siuntimą ar vartotojų prašymą pateikti mokėjimo informacijos. Pridėkite tai prie visų kitų „HTML5“ API, patekusių į naršykles, pvz., Prieigą prie akselerometrų, fotoaparatų ir kt., Ir jūs turite labai pajėgią interneto platformą daugeliui programų.

Kuriant „PhoneGap“ visoms šioms galimybėms būtų reikėję savosios programos, tačiau dabar naršyklės pasivijo. Mes galime nusiimti hibridinius treniruoklius.

Vis dėlto žiniatinklyje išlieka ribos. Tai tik lėtai judančios, standartais pagrįstos platformos pobūdis. progresyvios žiniatinklio programos yra milžiniškas žingsnis į priekį, tačiau jos nėra puikus visų programų pakaitalas. Taigi ką daryti interneto kūrėjams po hibridinio, jei jiems vis tiek reikia visiškos prieigos prie vietinių įrenginių API? Įveskite „JavaScript“ valdomas savąsias programas.

„JavaScript“ valdomos savosios programos

Maždaug prieš penkerius metus kelios kompanijos pradėjo bandyti rasti dažnų našumo problemų, kurios kankino hibridines mobiliąsias programėles, sprendimą. Tikslas: Sukurkite sistemas, kurios galėtų suteikti „tikrai gimtą“ našumą ir vartotojo sąsajos turtingumą, tačiau vis tiek būti įvairiomis platformomis ir žinomos žiniatinklio kūrėjams. Iš šio darbo atsirado dvi populiarios parinktys: „React Native“ (iš „Facebook“) ir „NativeScript“ (iš „Progress“).

Šios naujos sistemos leidžia kūrėjams ir toliau pakartotinai naudoti savo žiniatinklio įgūdžius, tačiau užuot paprasčiausiai suvynioję žiniatinklio naršyklę į vietinį programos apvalkalą (kaip tai daro „PhoneGap“), šie nauji metodai sukuria vietinę vartotojo sąsają. Rezultatas yra mobiliosios programos, kurios jaučiasi ir veikia labiau kaip „neapdorotos“ vienos platformos savosios programos, tačiau vis tiek pasiekia įvairių platformų produktyvumą.

Šiam požiūriui apibūdinti buvo keli pavadinimai: „hibridas 2.0“, „vietinis hibridas“ ir „vietinis tarp platformų“. „Forrester“ pristatė terminą „„ JavaScript “valdomos vietinės programos“, ir nors jis tiksliai nenusileidžia liežuviu, tai bent jau tikslus ir apibūdinantis vardas.

Naudodami „JavaScript“ pagrįstas savąsias programų sistemas, interneto kūrėjai turi daugumą tai, kas jiems patiko, naudojant „PhoneGap“, tačiau dar daugiau galios ir našumo. Pavyzdžiui, „NativeScript“, kuris yra labai integruotas tiek su „Angular“, tiek su „Vue“, suteikia kūrėjams visišką prieigą prie visų vietinių API per „JavaScript“. Kiekvienas jų. Jei tai galima padaryti savojoje programoje, tai galima padaryti naudojant „NativeScript“, o kelių platformų moduliai leidžia daugelį dalykų vieną kartą užkoduoti ir veikti tiek „iOS“, tiek „Android“. Tai panašu į „PhoneGap“ papildinius ant steroidų.

„React Native“ ir „NativeScript“ yra klestintys atvirojo kodo projektai ir abu yra pasirengę tapti natūraliu „hibridinio 1.0“ evoliucija tais atvejais, kai progresyvios žiniatinklio programos neatitinka sąskaitos.

Kurį pasirenkate jūs?

Nors „PhoneGap“ nėra, sunku įsivaizduoti, kodėl bet kuris naujas projektas prasidėtų „PhoneGap“ šiandien, kai egzistuoja tokios parinktys kaip progresyviosios žiniatinklio programos ir „JavaScript“ valdomos savosios programos. Abi parinktys reiškia ateities kelius ir yra ganėtinai nereikšmingos žiniatinklio kūrėjams, jau žinantiems hibridinių programų kūrimą.

Pasirinkimas tarp variantų taip pat turėtų būti paprastas:

  1. Jei jūsų programai nereikia daug prieigos prie įrenginio API, jos nereikia būti programų parduotuvėse ir ji gali gyventi su kai kuriais papildomais „iOS“ apribojimais (kol kas), sukurkite progresyvią žiniatinklio programą.
  2. Jei jūsų programos reikalavimai viršija progresyvių žiniatinklio programų ribas, pasirinkite vieną iš „JavaScript“ valdomų savųjų programų platformų:
    1. Jei esate „React“ parduotuvė, pasirinkite „React Native“.
    2. Jei esate „Angular“ arba „Vue“ parduotuvė, pasirinkite „NativeScript“.

Daugelis bendrovių, kurios kuria šias atvirojo kodo sistemas, labai nori padėti ir dauguma siūlo technines rekomendacijas, kaip pereiti nuo „PhoneGap“ prie jų sistemos. Jei ieškote vietos, kur pradėti savo migracijos kelionę, visada verta pasikonsultuoti su ekspertu.

Ir jei jūs užstrigsite ar norėtumėte tiesiog pasikalbėti su trečiosios šalies ekspertu, kūrėjų bendruomenei yra daugybė puikių išteklių - akivaizdus ir populiariausias pasirinkimas yra „GitHub“. Tačiau jau kurį laiką buvo sukurta daugybė kitų forumų, padedančių kūrėjams pereiti nuo „PhoneGap“ ir hibridinių prie progresyvių žiniatinklio programų, ir jie siūlo puikių patarimų.

Galiausiai „PhoneGap“ atitiko savo vardą. Tai padėjo žiniatinklio kūrėjams beveik dešimtmetį apimti mobiliųjų programų kūrimo „spragas“. Tai įspūdingas bet kokio standarto valdymas. Dabar atėjo laikas progresyvioms žiniatinklio programoms ir „JavaScript“ valdomoms savųjų programų sistemoms pasiimti mantiją ir vesti kūrėjus į ateitį.

Hibridas (1.0) mirė. Tegyvuoja hibridas (2.0).

Toddas Anglinas yra „Progress“ produktų strategijos ir ryšių su kūrėjais viceprezidentas.

Naujųjų technologijų forumas suteikia galimybę tyrinėti ir aptarti besiformuojančios įmonės technologijas beprecedentiame gylyje. Atranka yra subjektyvi, atsižvelgiant į mūsų pasirinktas technologijas, kurios, mūsų manymu, yra svarbios ir labiausiai domina skaitytojus. nepriima rinkodaros užtikrinimo priemonės paskelbimui ir pasilieka teisę redaguoti visą pateiktą turinį. Visus klausimus siųskite adresu[email protected].