PWA ir vietinės programos: kurias turėtumėte pasirinkti?

Autorius: Randy Alexander
Kūrybos Data: 2 Balandis 2021
Atnaujinimo Data: 16 Gegužė 2024
Anonim
Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов.
Video.: Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов.

Turinys

Kokio požiūrio turėtumėte laikytis kurdami programą? Ar turėtumėte pasirinkti PWA / žiniatinklio technologijų kelią, ar turėtumėte pradėti kurti ir kurti konkrečias platformas? Abi parinktys turi savo pliusų ir minusų, ir šiame straipsnyje mes sutelkiame dėmesį į keletą populiariausių pasirinkimų, naudojamų kuriant žiniatinklio ir savąsias programas.

PWA („Progressive Web Apps“) žinomos žiniatinklio programos yra sukurtos naudojant populiarias interneto technologijas HTML, CSS ir „JavaScript“ ir veikia žiniatinklio naršyklėje. (Peržiūrėkite keletą pagrindinių HTML žymų, padedančių kurti jūsų versijas.) PWA yra iš tikrųjų mobiliosios svetainės, skirtos atrodyti kaip programa, o žiniatinklio API naudojimas suteikia joms funkcijų, panašių į savąją programą.

Norėdami gauti daugiau patarimų apie programų kūrimą, žiūrėkite mūsų įrašą, kaip sukurti programą, arba, jei norite sukurti svetainę, peržiūrėkite šiuos geriausius svetainių kūrėjus ir žiniatinklio prieglobos paslaugas.

PWA ir vietinės programos: koks skirtumas?

Progresyvių žiniatinklio programų pranašumas yra tai, kad jas galima įdiegti ir gyventi įrenginyje, nereikia programų parduotuvės. Proceso dalis yra žiniatinklio programų manifestas, leidžiantis kūrėjams kontroliuoti, kaip rodoma programa ir kaip ji paleista. Be to, interneto dizaineriai ir (arba) sąsajos kūrėjai jau turės įgūdžių, reikalingų nedelsiant pradėti kurti. Skirtingai nuo vietinių programų, nereikia mokytis naujos kalbos.


Savosios programos kuriamos atsižvelgiant į konkrečią OS - t. „iOS“ ir „Android“ - ir tam tikslui pasiekti naudokite sistemą ar kalbą. „iOS“ programose paprastai naudojamos „Xcode“ arba „Swift“, o „Android“ programos - „JavaScript“. Tačiau šiame straipsnyje daugiausia dėmesio skiriame kelioms „JavaScript“ pagrįstoms atvirojo kodo sistemoms - „React Native“ ir „NativeScript“ - kurios veikia abiejose platformose.

Vietinių programų pranašumai yra tai, kad jos paprastai suteikia geresnes funkcijas, nes jos geriau naudoja įrenginių techninę ir programinę įrangą, yra greitesnės ir jautresnės, o jūs gaunate kokybės užtikrinimą, nors įvertinimai programų parduotuvėse. Bet tai reikš, kad reikės išmokti naudotis konkrečia sistema ar biblioteka.

Čia apžvelgiamos trys skirtingos programos parinktys - viena skirta žiniatinkliui (PWA) ir dvi - vietinei („React Native“, „NativeScript“) - kuriant programą. Peržiūrime, kaip jie veikia, ką jie gali padaryti, ir apžvelgiame jų stipriąsias bei silpnąsias puses, kad padėtų jums nuspręsti, kurią parinktį turėtumėte pasirinkti kurdami savo programą.


Pažangios žiniatinklio programos: žiniatinklio kūrimas

PWA stipriosios pusės

  • Programos taip pat veikia naršyklėje
  • Platinimas: naršyklė, įmonės ir programų parduotuvės
  • Gali panaudoti „React“, „Angular“, „Vue“, vanilės ar kitas sistemas

PWA trūkumai

  • Nėra prieigos prie kiekvienos savosios API
  • Gebėjimai ir parduotuvių platinimas „iOS“ ir „iPadOS“ yra riboti
  • Tai nuolat vystosi

PWA yra dabartinis dizaino modelis, sukuriantis našias, neprisijungus veikiančias, įdiegiamas programas, naudojant tik žiniatinklio kaminą: HTML, CSS, „JavaScript“ ir naršyklių API. Aptarnavimo darbuotojo ir žiniatinklio programų aprašo dėka, įdiegę „Android“, „iOS“, „iPadOS“, „Windows“, „MacOS“, „Chrome“ OS ir „Linux“, dabar galime sukurti aukščiausios klasės programų patirtį.

Norėdami sukurti PWA, galite naudoti bet kokią architektūrą: iš serverio pusės, „vanilla JavaScript“, „React“, „Vue“, „Angular“ ar kitų kliento pusės rėmelių. Tai gali būti vieno puslapio programa arba kelių puslapių interneto programa, ir mes apibrėžiame, kaip palaikysime vartotojus neprisijungę.


Taikant šį metodą, mums nereikia pakuoti ir pasirašyti mūsų programos išteklių: mes tiesiog talpiname failus žiniatinklio serveryje, o paslaugų darbuotojas bus atsakingas už failų talpyklą kliente ir aptarnaus juos įdiegus. Tai taip pat reiškia, kad jei programą reikia atnaujinti, jūs tiesiog pakeiskite failus serveryje ir paslaugų darbuotojo logika bus atsakinga už jų atnaujinimą vartotojų įrenginiuose be vartotojo ar programų parduotuvės įsikišimo.

Kalbant apie platinimą, labiausiai paplitęs būdas yra naršyklė. Vartotojai įdiegia programą iš naršyklės naudodami meniu elementą Pridėti prie pagrindinio ekrano arba Įdiegti, priimdami kvietimą įdiegti arba naudodami tinkintą žiniatinklio programos vartotojo sąsają suderinamose platformose. Verta paminėti, kad „Apple“ atmeta grynus PWA, paskelbtus „App Store“, ir ragina interneto kūrėjus juos platinti per „Safari“.

Vartotojo sąsają valdo tik žiniatinklio vykdymo laikas, o tai reiškia, kad interneto dizaineris yra atsakingas už kiekvieno valdiklio pateikimą ekrane. Jei naudojate NS sąsają, pvz., „Ionic“, arba „Material Design“ biblioteką, HTML ir CSS imituos „Android“ ar „iOS“ vietines sąsajas, tačiau tai nėra privaloma.Atliekant PWA, norint išlaikyti gerą vartotojo patirtį, privaloma taikyti žiniatinklio našumo metodus.

Kalbant apie sugebėjimus, PWA turės prieigą tik prie tos platformos naršyklės variklyje esančių API ir jo negalima išplėsti naudojant vietinį kodą, išskyrus programų parduotuvės PWA platinimus. Šiuo klausimu „iOS“ ir „iPadOS“ yra labiau ribotos PWA platformos, o „Chrome“ (skirta „Android“ ir darbalaukio OS) turi daugiau prieinamumo ir sunkiai dirba, kad prie „Fugu“ projekto pridėtų visas įmanomas API prie „JavaScript“.

  • Geriausia debesies saugykla: pasirinkite sau tinkamą variantą.

Reaguoti Gimtoji

„React Native“ stipriosios pusės

  • Tie patys modeliai, kaip ir su React.js
  • Kai kurios žiniatinklio API yra veikiamos
  • Žiniatinklio ir darbalaukio palaikymas

„React Native“ silpnybės

  • Negalima pakartotinai naudoti žiniatinklio sąsajos komponentų
  • Gimtojo tilto reikia šiek tiek dirbti
  • Reikalinga reakcijos patirtis

„React Native“ yra atvirojo kodo „JavaScript“ pagrindu sukurta komponentų sistema, kurią remia „Facebook“ ir kuri naudoja „React“ dizaino modelius, taip pat „JavaScript“ kalbą, kad iš vieno šaltinio kodo sudarytų vietines „iOS“, „iPadOS“ ir „Android“ programas.

Bet nė vienas HTML elementas nepriimamas perteikti; galioja tik kiti vietiniai komponentai. Todėl užuot pateikę a div> su p> ir a įvestis> elementą su JSX, jūs atvaizduosite a Žiūrėti> su Tekstas> ir a Teksto įvestis>. Stiliaus komponentams vis tiek naudojate CSS, o išdėstymas apibrėžiamas per „Flexbox“.

Vartotojo sąsaja nebus teikiama naršyklės DOM, bet naudojant vietines „Android“ ir „iOS“ vartotojo sąsajos bibliotekas. Todėl a Mygtukas> „ReactNative“ taps „UIButton“ pavyzdžiu „iOS“ ir „ android.widget.Button klasė „Android“; „React Native“ nėra interneto vykdymo laiko.

Tačiau visas „JavaScript“ kodas bus vykdomas „JavaScript“ virtualioje mašinoje įrenginyje, todėl kompiliuojant programą nėra „JavaScript“ - tikro gimtojo kodo konversijos. Yra žinomų žiniatinklio kūrėjų API, tokių kaip „Fetch API“, „WebSockets“ ir naršyklės laikmačiai, rinkinys: setInterval ir requestAnimationFrame. Kiti gebėjimai platformoje diegiami naudojant pritaikytas API, pvz., Animacijas.

Galite pradėti greitą „React Native“ projektą naudodami du nemokamus CLI: „Expo“ arba pažangesnį ir oficialesnį „ReactNative CLI“. Jei naudojate oficialų CLI, jums taip pat reikia „Android Studio“, kad galėtumėte kompiliuoti ir išbandyti „Android“ programą ir „Xcode“, kad tą patį atliktumėte „iOS“ ir „iPadOS“, taigi tam platformai reikės „MacOS“ kompiuterio.

„React Native“ kompiliuoja savąsias „iOS“ ir „Android“ programas, o tai reiškia, kad jūsų programos platinimas vykdys tas pačias taisykles kaip ir kitos vietinės programos: viešųjų programų programų parduotuvės, įmonių platinimas ir alfa / beta testavimas. Paprastai negalima platinti programos per naršyklę, nors „React Native“ žiniatinkliui ir „Microsoft“ „React Native“, skirtos „Windows“ platformoms, gali padėti.

„NativeScript“

„NativeScript“ stipriosios pusės

  • Geros kodavimo ir testavimo priemonės
  • Plati galerija programų, parengtų žaisti
  • Visos „Android“ ir „iOS“ API yra rodomos JS

„NativeScript“ trūkumai

  • Maža bendruomenė
  • Negalima pakartotinai naudoti žiniatinklio sąsajos komponentų
  • Nėra žiniatinklio, darbalaukio ar „React“ palaikymo

„NativeScript“ nėra toks gerai žinomas kaip „React Native“, tačiau jis konkuruoja toje pačioje srityje: „iOS“ ir „Android“ programose iš „JavaScript“ ir žiniatinklio sistemų. Tai leidžia naudoti „JavaScript“ arba „TypeScript“ ir XML vartotojo sąsajos failą kuriant savąsias programas. Jis taip pat palaiko „Angular“ ir „Vue“ iš karto, todėl tai yra puikus sprendimas kūrėjams, pripratusiems prie šių sistemų.

„NativeScript“ pranašumai yra aiškesni, kai naudojate „Angular“ arba „Vue“. Jei naudojate „Angular“, sukuriate tuos pačius komponentus, kuriems esate įpratę, bet šablonui naudojate XML, o ne HTML, įskaitant visus duomenų susiejimus. XML vietoj a div> su p> ir an img>, įdėsite a „StackLayout“ su Etiketė> ir an Vaizdas> komponentas.

CSS ir „Sass“ yra palaikomi panašiais stiliais kaip ir naršyklės CSS. Maršrutai ir tinklo valdymas vykdomi įgyvendinant standartines „Angular“ paslaugas. „Vue“ tai kažkas panašaus; rašote šabloną XML, o ne naudojate HTML tame pačiame šablonas> elementą .vue faile.

„NativeScript“ apima komponentų rinkinį, kuris tada susietas su „Android“ arba „iOS“ savuoju valdikliu, taigi, kai pateiksite sąrašą ar rinkiklį, tai bus gimtoji programa, naudojant tą pačią idėją kaip ir „React Native“.

Jūsų „JavaScript“ arba „TypeScript“ kodas (perkeltas) vykdomas įrenginyje esančioje „JavaScript“ virtualioje mašinoje su tiltu į / iš vietinės aplinkos. Tame tilte yra eksponuojamos visos „Android“ arba „iOS“ / „iPadOS“ vietinės API, taigi, nepaisant to, kad turime prieigą prie kelių platformų API, galime iš karto iškviesti arba paskambinti bet kokiam „Java“ arba „C-objektas-C“ kodui iš „JavaScript“ / „TypeScript“, o „NativeScript“ padės nustatyti duomenų tipus.

„NativeScript“ puikiai palaiko įrankius, įskaitant VS kodo įskiepius, CLI, karšto įkrovimo testavimo sistemą ir „NativeScript“ žaidimų aikštelės programą, todėl bandant nereikia įdiegti visų priklausomybių, taip pat kelių papildomų paslaugų, tokių kaip internetinis žaidimų aikštelė.

Galiausiai „NativeScript“ surenka tik „Android“ ir „iOS“ skirtą programą, kurią galima įdiegti iš oficialių platinimo kanalų ir programų parduotuvių, jei laikotės jų taisyklių, įmonės platinimo ir alfa / beta testavimo. Paprastai nebus jokio būdo platinti programas iš naršyklės ir šioje platformoje nėra sprendimų darbalaukio programoms.

Šis straipsnis iš pradžių buvo paskelbtas 325 leidimas neto, perkamiausias pasaulyje žurnalas, skirtas interneto dizaineriams ir kūrėjams. Pirk 325 leidimas arba Prenumeruoti į tinklą.

Prisijunkite prie mūsų 2020 m. Balandžio mėn., Naudodamiesi „JavaScript“ superžvaigždžių grupe „GenerateJS“ - konferencijoje, padedančioje sukurti geresnę „JavaScript“. Užsisakykite dabargenerateconf.com 

Nauji Leidiniai
„App.net“ visam laikui pakeis socialinius tinklus
Skaityti Daugiau

„App.net“ visam laikui pakeis socialinius tinklus

Pri imink šiandien: 2012 m. Rugpjūčio 14 d. Šiandien gali būti tik ta diena, kai didieji keturi ocialiniai tinklai pradėjo prara ti avo kontrolę dalyti turiniu internete, kai pradėjo at iverti mikrobl...
Kaip sumodeliuoti ir perteikti siurrealistinę sceną
Skaityti Daugiau

Kaip sumodeliuoti ir perteikti siurrealistinę sceną

Mane vi ada žavėjo iurrealizma . Kai kuriu avo darbą, dažnai turiu omenyje „Magritte“, tokiu būdu ji iškreipia tikrovę, kad ukurtų neaiškumų ir pa tumtų žiūrovą ieškoti ir ra ti pa lėptu pranešimu , k...
Šiandien išbandykite 14 „Photoshop Elements“ pamokų
Skaityti Daugiau

Šiandien išbandykite 14 „Photoshop Elements“ pamokų

Pereiti į: Darbo pradžia Gydykite vaizdu pecialieji efektai Naudodamie i tinkamomi „Photo hop Element “ mokymo programomi , galite padaryti daug ką, ką galite pa iekti naudodami pilną „Photo hop CC“ v...