Programmēšana

Mobilās lietotnes izstrāde pēc PhoneGap un Cordova

Tods Anglins ir Progress produktu stratēģijas un izstrādātāju attiecību viceprezidents.

Gandrīz desmit gadus PhoneGap ir piedāvājis tīmekļa izstrādātājiem zemas berzes ceļu tādu mobilo lietotņu izveidei, kurām ir piekļuve vietējo ierīču iespējām. PhoneGap ļauj daudziem izstrādātājiem izveidot lietotnes iOS un Android (un uz laiku pat Windows Phone un BlackBerry), izmantojot prasmes un JavaScript bibliotēkas, kuras viņi jau zina un mīl. Šī tīmekļa prasmju un vietējās ierīces piekļuves kombinācija (parasti pazīstama kā “hibrīds”) ir stingri iesakņojusies kā viena no galvenajām pieejām mobilo lietotņu izstrādē.

Tagad, kad palēninās darbs pie PhoneGap (un ar to saistītā Apache Cordova atvērtā pirmkoda projekta) attīstīšanas, kas notiks tālāk mobilo sakaru hibrīda attīstībai?

Protams, Apache Cordova kā atvērtā koda projekts drīz vairs nepazudīs. Daudziem uzņēmumiem ir lieli ieguldījumi Kordovā, un Kordovas kopiena turpina aizpildīt nepilnības, kad korporatīvie apņēmēji samazinās un plūst.

Bet PhoneGap bija projekts, kas izveidots ar nepārprotamu nolūku novecot, un šis brīdis var būt mūsu rīcībā.

Pēdējo 10 gadu laikā ir parādījušās divas neapšaubāmi pārākas iespējas, kas ir gatavas ieņemt PhoneGap un “hybrid 1.0”. Tās ir progresīvas tīmekļa lietojumprogrammas un JavaScript virzītas vietējās lietotnes.

Progresīvas tīmekļa lietotnes

PhoneGap vienmēr bija domāts, lai palīdzētu tīmekļa izstrādātājiem darīt vairāk mobilajās ierīcēs, kad viņi sasniedz mobilo tīmekļa pārlūkprogrammu robežas. PhoneGap atkārtoti izmanto visu, sākot no tīmekļa - HTML, CSS, JavaScript - un paļaujas uz spraudņiem, kas rakstīti vietējā kodā (Objective-C, Swift, Java), lai piekļūtu konkrētām vietējo ierīču funkcijām, izmantojot JavaScript. Laika gaitā tas ir izrādījies gan svētība, gan lāsts. Mācīšanās līkne ir ļoti zema, taču PhoneGap lietotnēs iegultās tīmekļa pārlūkprogrammas bieži cīnās ar veiktspēju (nē, pateicoties Apple un ilgu laiku noklusējuma Android tīmekļa skatam). Tomēr PhoneGap bija efektīvs risinājums, kas daudziem sniedza pietiekami labus rezultātus.

Tikmēr tīmekļa standarti ir turpinājuši attīstīties, un pēdējo trīs līdz četru gadu laikā centieni uzlabot tīmekļa standartus, kas nepieciešami, lai izveidotu labākas veiktspējas un bezsaistē gatavas mobilās lietotnes, ir katalizēti ar terminu “progresīvās tīmekļa lietotnes”.

Izmantojot progresīvās tīmekļa lietotnes, tīmekļa platforma sper vēl vienu milzīgu soli uz priekšu. Tagad tīmekļa lietotnēm ir pilnīga tīkla kaudzes kontrole, kas ļauj veikt uzlabotas kešatmiņas un bezsaistes darbības. Ir arī jaunas API, kas palīdz tīmekļa lietotnēm veikt citas darbības, kas bieži saistītas ar vietējām mobilajām lietotnēm, piemēram, palaišanu ar uzspiešanas ekrānu, sūtīšanas paziņojumus vai lietotāju pieprasīšanu pēc maksājuma informācijas. Pievienojiet to visām citām “HTML5” API, kas nokļuvušas pārlūkprogrammās, piemēram, piekļūt akselerometriem, kamerām utt., Un jums ir ļoti spējīga tīmekļa platforma daudzu veidu lietotnēm.

Kad tika izveidota PhoneGap, visām šīm iespējām būtu nepieciešama vietēja lietotne, taču tagad pārlūkprogrammas ir panākušas. Mēs varam noņemt hibrīda apmācības riteņus.

Tomēr tīmeklī joprojām pastāv ierobežojumi. Tas ir tikai lēni pārvietojamās, uz standartiem balstītās platformas raksturs. progresīvās tīmekļa lietotnes ir milzīgs solis uz priekšu, taču tās nav ideāls visu lietotņu aizstājējs. Tātad, ko tīmekļa izstrādātājiem darīt pēc hibrīda, ja viņiem joprojām ir nepieciešama pilnīga piekļuve vietējo ierīču API? Ievadiet vietējās lietotnes, kuras nodrošina JavaScript.

JavaScript vadītas vietējās lietotnes

Apmēram pirms pieciem gadiem vairāki uzņēmumi sāka mēģināt rast risinājumu biežajām veiktspējas problēmām, kas skāra hibrīdās mobilās lietotnes. Mērķis: Izveidojiet ietvarus, kas varētu nodrošināt “patiesi vietējo” veiktspēju un lietotāja interfeisa bagātību, vienlaikus saglabājot starpplatformu un pazīstamu tīmekļa izstrādātājiem. No šī darba parādījās divas populāras iespējas: React Native (no Facebook) un NativeScript (no Progress).

Šīs jaunās sistēmas ļauj izstrādātājiem turpināt atkārtoti izmantot savas tīmekļa prasmes, taču tā vietā, lai vienkārši iesaiņotu tīmekļa pārlūku vietējā lietotnes apvalkā (kā to dara PhoneGap), šīs jaunās pieejas rada vietējo lietotāja interfeisu. Rezultāts ir mobilās lietojumprogrammas, kas jūtas un darbojas vairāk kā “neapstrādātas” vienas platformas vietējās lietotnes, vienlaikus iegūstot starpplatformu produktivitāti.

Lai aprakstītu šo pieeju, ir bijuši daži nosaukumi: “hibrīds 2.0”, “vietējais hibrīds” un “starpplatforms vietējais”. Forrester ieviesa terminu “JavaScript vadītas vietējās lietotnes”, un, lai arī tas precīzi nerit no mēles, tas ir vismaz precīzs un aprakstošs nosaukums.

Izmantojot JavaScript vadītu vietējo lietotņu ietvarus, tīmekļa izstrādātājiem ir lielākā daļa no tā, kas viņiem patika par PhoneGap, taču ar vēl lielāku jaudu un veiktspēju. Piemēram, NativeScript, kas ir dziļi integrēts gan Angular, gan Vue, dod izstrādātājiem pilnīgu piekļuvi visām vietējām API, izmantojot JavaScript. Katrs no viņiem. Ja to var izdarīt vietējā lietotnē, to var izdarīt NativeScript, un starpplatformu moduļi ļauj vienreiz kodēt lielāko daļu lietu un darboties gan iOS, gan Android. Tas ir kā steroīdu PhoneGap spraudņi.

React Native un NativeScript abi ir plaukstoši atvērtā koda projekti, un abi ir gatavi kļūt par “hibrīda 1.0” dabisko attīstību gadījumos, kad progresīvās tīmekļa lietotnes neatbilst rēķinam.

Kuru jūs izvēlaties?

Kaut arī PhoneGap nav pazudis, ir grūti iedomāties, kāpēc jebkurš jauns projekts sāktos ar PhoneGap šodien, kad pastāv tādas opcijas kā progresīvās tīmekļa lietotnes un JavaScript vadītās vietējās lietotnes. Abas opcijas atspoguļo nākotnei izveidotos ceļus, un tās ir salīdzinoši niecīgas, lai tās varētu izstrādāt tīmekļa izstrādātājiem, kuri jau pārzina hibrīdo lietotņu izstrādi.

Arī izvēlei starp iespējām jābūt vienkāršai:

  1. Ja jūsu lietotnei nav nepieciešama liela piekļuve ierīces API, tai nav jābūt lietotņu veikalos un tā var dzīvot ar dažiem papildu ierobežojumiem iOS (pagaidām), izveidojiet progresīvu tīmekļa lietotni.
  2. Ja jūsu lietotnes prasības pārsniedz progresīvo tīmekļa lietotņu ierobežojumus, izvēlieties vienu no vietējām JavaScript balstītām vietējo lietotņu platformām:
    1. Ja esat React veikals, izvēlieties React Native.
    2. Ja esat Angular vai Vue veikals, izvēlieties NativeScript.

Daudzi uzņēmumi, kas izveido šīs atvērtā koda sistēmas, ir ļoti gatavi palīdzēt, un lielākā daļa piedāvā tehniskas norādes, kā pāriet no PhoneGap uz savu sistēmu. Ja meklējat vietu, kur sākt migrācijas braucienu, konsultēšanās ar ekspertu vienmēr ir laba ideja.

Un, ja jūs iestrēgstat vai vēlaties vienkārši runāt ar trešās puses ekspertu, izstrādātāju kopienai ir pieejami daudzi lieliski resursi - acīmredzama un populārākā izvēle ir GitHub. Tomēr jau kādu laiku ir izveidoti daudzi citi forumi, kas palīdz izstrādātājiem pāriet no PhoneGap un hibrīda uz progresīvām tīmekļa lietotnēm, un tie piedāvā dažas lieliskas norādes.

Galu galā PhoneGap izpildīja savu vārdu. Tas palīdzēja tīmekļa izstrādātājiem gandrīz desmit gadus pārvarēt mobilo lietotņu izstrādes “plaisu”. Tas ir iespaidīgs jebkura standarta rādītājs. Tagad ir pienācis laiks progresīvām tīmekļa lietotnēm un JavaScript balstītiem vietējo lietotņu ietvariem uzņemt mantiju un vadīt izstrādātājus nākotnē.

Hibrīds (1.0) ir miris. Lai dzīvo hibrīds (2.0).

Tods Anglins ir Progress produktu stratēģijas un izstrādātāju attiecību viceprezidents.

Jauno tehnoloģiju forums nodrošina vietu, kur bezprecedenta dziļumā un plašumā izpētīt un pārrunāt topošās uzņēmuma tehnoloģijas. Izvēle ir subjektīva, balstoties uz mūsu izvēlētajām tehnoloģijām, kuras, mūsuprāt, ir svarīgas un interesē lasītājus. nepieņem mārketinga nodrošinājumu publicēšanai un patur tiesības rediģēt visu ieguldīto saturu. Nosūtiet visus jautājumus uz[email protected].

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