Բովանդակություն
- PWA- ն ընդդեմ բնիկ հավելվածների. Ի՞նչ տարբերություն:
- Պրոգրեսիվ վեբ հավելվածներ. Վեբ կառուցում
- PWA- ների ուժեղ կողմերը
- PWA- ների թույլ կողմերը
- Արձագանքել բնիկ
- React Native- ի ուժեղ կողմերը
- React Native- ի թույլ կողմերը
- NativeScript
- NativeScript- ի ուժեղ կողմերը
- NativeScript- ի թույլ կողմերը
Whichրագիր կառուցելիս ո՞ր մոտեցումը պետք է ձեռնարկեք: Պե՞տք է անցնեք PWA / վեբ տեխնոլոգիաների երթուղին, թե՞ պետք է գնաք բնիկ և նախագծեք հատուկ պլատֆորմների համար: Երկու տարբերակներն էլ ունեն իրենց դրական և բացասական կողմերը, և այս հոդվածում մենք կենտրոնանում ենք մի քանի հայտնի ընտրությունների վրա, որոնք օգտագործվում են վեբ և բնիկ հավելվածներ ստեղծելու համար:
PWA- ները (առաջադեմ վեբ հավելվածներ), նույնն էլ վեբ հավելվածներ, կառուցված են հանրաճանաչ վեբ տեխնոլոգիաներով HTML, CSS և JavaScript և աշխատում են վեբ զննարկչում: (Ստուգեք որոշ էական HTML պիտակներ ՝ ձեր կառուցվածքներին օգնելու համար:) PWA- ներն արդյունավետ բջջային կայքեր են, որոնք նախատեսված են նմանվել ծրագրի, և վեբ API- ների օգտագործումը նրանց տալիս է հարազատ ծրագրի նման գործունակություն:
Appրագրերի ստեղծման վերաբերյալ լրացուցիչ խորհրդատվության համար տե՛ս մեր գրառումը, թե ինչպես կարելի է ծրագիր պատրաստել, կամ եթե դա կայք է, որը ցանկանում եք ստեղծել, տեսեք այս վեբ կայքեր ստեղծողների և վեբ հոստինգի ծառայությունները:
PWA- ն ընդդեմ բնիկ հավելվածների. Ի՞նչ տարբերություն:
Պրոգրեսիվ վեբ հավելվածները տեղադրման ենթակա և սարքում աշխատելու առավելություն ունեն ՝ առանց հավելվածների խանութի անհրաժեշտության: Գործընթացի մի մասը Վեբ հավելվածի մանիֆեստն է, որը թույլ է տալիս մշակողներին վերահսկել, թե ինչպես է ծրագիրը հայտնվում և ինչպես է այն գործարկվում: Բացի այդ, վեբ դիզայներները / ճակատային ծրագրավորողներն արդեն կունենան հմտություններ, որոնք անհրաժեշտ են անմիջապես շինարարություն սկսելու համար: Ի տարբերություն հայրենի ծրագրերի, նոր լեզու սովորելու անհրաժեշտություն չկա:
Մայրենի հավելվածները կառուցված են հատուկ OS- ի մտքում, այսինքն ` iOS և Android - և այդ նպատակն իրականացնելու համար օգտագործեք շրջանակ կամ լեզու: iOS ծրագրերը սովորաբար օգտագործում են Xcode կամ Swift և Android ծրագրեր, JavaScript: Բայց այս հոդվածի համար մենք կենտրոնանում ենք մի քանի JavaScript- ի վրա հիմնված բաց աղբյուրների շրջանակների վրա ՝ React Native և NativeScript, որոնք աշխատում են երկու պլատֆորմների համար:
Հայրենի հավելվածների առավելությունն այն է, որ դրանք սովորաբար ավելի լավ ֆունկցիոնալություն են բերում, քանի որ դրանք ավելի լավ են օգտագործում սարքերի ապարատային և ծրագրային ապահովումը, ավելի արագ և ավելի արձագանքող են, և դուք ստանում եք որակի ապահովում ՝ չնայած գնահատականներին հավելվածների խանութներում: Դա կնշանակի սովորել, թե ինչպես օգտագործել որոշակի շրջանակ կամ գրադարան:
Այստեղ մենք նայում ենք երեք տարբեր ընտրանքների ՝ մեկը վեբ (PWA) և երկրորդը բնիկների համար (React Native, NativeScript) ՝ հավելված կառուցելու համար: Մենք ստուգում ենք, թե ինչպես են դրանք գործում, ինչ կարող են նրանք անել, և դիտում ենք դրանց ուժեղ և թույլ կողմերը, որոնք կօգնեն ձեզ որոշել, թե որ տարբերակն եք ընտրելու ձեր ծրագիրը կառուցելու համար:
Պրոգրեսիվ վեբ հավելվածներ. Վեբ կառուցում
PWA- ների ուժեղ կողմերը
- Հավելվածները գործում են նաև զննարկչում
- Բաշխում. Զննարկիչ, ձեռնարկություն և հավելվածների խանութներ
- Կարող է օգտագործել React, Angular, Vue, վանիլին կամ այլ շրջանակներ
PWA- ների թույլ կողմերը
- Մատչելի է յուրաքանչյուր հարազատ API
- IOS- ի և iPadOS- ի հնարավորությունները և խանութների բաշխումը սահմանափակ են
- Դա շարունակական էվոլյուցիայի մեջ է
PWA- ներն այժմյան դիզայնի օրինակն են `բարձր կատարողական, անցանց, տեղադրվող ծրագրեր ստեղծելու համար, օգտագործելով հենց վեբ բույրը` HTML, CSS, JavaScript և դիտարկիչների API: Workerառայողական աշխատողի և վեբ հավելվածի մանիֆեստի բնութագրերի շնորհիվ մենք այժմ կարող ենք ստեղծել առաջին կարգի հավելվածի փորձ Android, iOS, iPadOS, Windows, macOS, Chrome OS և Linux- ներ տեղադրելուց հետո:
PWA ստեղծելու համար կարող եք օգտագործել ցանկացած ճարտարապետություն. Սերվերի կողմից, վանիլային JavaScript- ից, React- ից, Vue- ից, Angular- ից կամ հաճախորդի կողմից այլ շրջանակներից: Դա կարող է լինել մեկ էջից բաղկացած ծրագիր կամ բազմ էջանոց վեբ հավելված, և մենք սահմանում ենք, թե ինչպես ենք օժանդակելու օգտվողներին անցանց ռեժիմում:
Այս մոտեցման մեջ մեզ հարկավոր չէ փաթեթավորել և ստորագրել մեր ծրագրի ռեսուրսները. Մենք պարզապես ֆայլերը հյուրընկալում ենք վեբ սերվերում, և սպասարկող աշխատակիցը պատասխանատու կլինի հաճախորդի ֆայլերը պահելու համար և դրանք տեղադրելուց հետո սպասարկում է դրանք: Սա նաև նշանակում է, որ եթե ծրագիրը թարմացման կարիք ունի, դուք պարզապես փոխում եք սերվերի ֆայլերը, և ծառայության աշխատողի տրամաբանությունը պատասխանատու կլինի օգտվողների սարքերում դրանք թարմացնելու համար ՝ առանց օգտագործողի կամ հավելվածների խանութի միջամտության:
Բաշխման առումով ամենատարածված մեթոդը զննարկիչն է: Օգտագործողները ծրագիրը տեղադրում են զննարկիչից ՝ օգտագործելով «Ավելացնել հիմնական էկրանին» կամ «Տեղադրել» ընտրացանկը, ընդունելու հրավերն ընդունելով կամ համատեղելի հարթակներում օգտագործելով հատուկ վեբ հավելվածի օգտագործողի միջերես: Հարկ է նշել, որ Apple- ը մերժում է App Store- ում հրապարակված մաքուր PWA- ները և խրախուսում է վեբ մշակողներին տարածել այն Safari- ի միջոցով:
Օգտագործողի միջերեսը զուտ կառավարվում է վեբ գործարկման ժամանակի միջոցով, ինչը նշանակում է, որ վեբ դիզայները պատասխանատու է էկրանին յուրաքանչյուր հսկողություն մատուցելու համար: Եթե օգտագործում եք UI շրջանակ, ինչպիսին է Ionic- ը կամ Material Design գրադարանը, HTML- ը և CSS- ը կպատկերացնեն բնիկ ինտերֆեյսերը Android- ի կամ iOS- ի վրա, բայց դա պարտադիր չէ:PWA- ներ կատարելիս օգտագործողի լավ փորձը պահպանելու համար վեբ կատարման տեխնիկայի կիրառումը պարտադիր է:
Հնարավորությունների տեսանկյունից PWA- ին հասանելի կլինեն միայն այդ հարթակում զննարկիչի շարժիչում առկա API- ներ, և այն հնարավոր չէ ընդլայնել մայրենի կոդով, բացառությամբ հավելվածների խանութների PWA բաշխման: Այս հարցում iOS- ը և iPadOS- ը PWA- ների համար ավելի սահմանափակ հարթակներն են, մինչդեռ Chrome- ը (Android- ի և սեղանադիր OS- ների համար) ավելի մատչելի է և քրտնաջան աշխատում է Fugu նախագծով JavaScript- ին ավելացնել բոլոր հնարավոր API- ները:
- Լավագույն ամպային պահեստ. Ընտրեք ճիշտ տարբերակը ձեզ համար:
Արձագանքել բնիկ
React Native- ի ուժեղ կողմերը
- Նույն օրինաչափությունները, ինչ React.js- ի դեպքում
- Որոշ վեբ API- ներ ենթարկվում են
- Վեբ և աշխատասեղանի աջակցություն
React Native- ի թույլ կողմերը
- Հնարավոր չէ կրկին օգտագործել վեբ UI բաղադրիչները
- Հայրենի կամուրջը որոշակի աշխատանքի կարիք ունի
- Արձագանքելու փորձ է պետք
React Native- ը բաց կոդով JavaScript- ի վրա հիմնված բաղադրիչ շրջանակ է, որը հովանավորվում է Facebook- ի կողմից, որն օգտագործում է React դիզայնի ձևեր, ինչպես նաև JavaScript լեզու iOS, iPadOS և Android համակարգերի համար մեկ սկզբնաղբյուրից տեղական ծրագրեր կազմելու համար:
Բայց ոչ մի HTML տարր չի ընդունվում մատուցման համար; վավեր են միայն այլ բնիկ բաղադրիչները: Հետևաբար, ա div> հետ պ> և ա մուտքագրում> JSX- ի տարր, դուք կստանաք a Դիտել> հետ Տեքստ>> և ա TextInput>, Ձևավորման բաղադրիչների համար դուք դեռ օգտագործում եք CSS, և դասավորությունը որոշվում է Flexbox- ի միջոցով:
Օգտագործողի միջերեսը չի մատուցվի զննարկչի DOM- ում, այլ օգտագործելով բնիկ օգտագործողի ինտերֆեյսի գրադարաններ Android- ի և iOS- ի վրա: Հետեւաբար, ա Կոճակ> ReactNative- ում կդառնա UIB կոճակի օրինակ iOS- ում և android.widget. Կոճակ դաս Android- ում; React Native- ում վեբ գործառույթ չկա:
Այնուամենայնիվ, JavaScript- ի ամբողջ կոդը կկատարվի JavaScript վիրտուալ մեքենայում `սարքում, ուստի ծրագիրը կազմելու ժամանակ JavaScript- ի իրական հայրենի կոդի փոխարկում չկա: Վեբ մշակողների համար կա մի շարք հայտնի API- ներ, ինչպիսիք են Fetch API- ն, WebSockets- ը և զննարկչի ժամանակաչափերը. SetInterval և requestAnimationFrame: Այլ հնարավորություններ տեղակայված են պլատֆորմի մեջ ՝ անհատական API- ների միջոցով, ինչպիսիք են անիմացիաները:
Դուք կարող եք սկսել արագ React Native նախագիծ երկու անվճար CLI- ներով ՝ Expo կամ ավելի առաջադեմ և պաշտոնական ReactNative CLI: Եթե օգտագործում եք պաշտոնական CLI, ապա ձեզ հարկավոր է նաև Android Studio ՝ Android հավելվածը և Xcode- ը կազմելու և փորձարկելու համար, որպեսզի նույնն անենք iOS- ի և iPadOS- ի վրա, այնպես որ այդ պլատֆորմի համար ձեզ հարկավոր է macOS համակարգիչ:
React Native- ը կազմում է բնիկ ծրագրեր iOS- ի և Android- ի համար, ինչը նշանակում է, որ ձեր ծրագրի բաշխումը հետևելու է նույն կանոններին, ինչ մյուս հայրենի ծրագրերը. Հանրային հավելվածների հավելվածների խանութներ, ձեռնարկությունների բաշխում և ալֆա / բետա փորձարկում: Սովորաբար, դուք չեք կարող ծրագիր բաշխել զննարկչի միջոցով, չնայած կարող են օգնել React Native- ը վեբի համար և Microsoft- ի React Native- ը Windows պլատֆորմների համար:
NativeScript
NativeScript- ի ուժեղ կողմերը
- Կոդավորման և փորձարկման լավ գործիքներ
- Appsրագրերի ընդարձակ պատկերասրահ, որոնց հետ պատրաստ են խաղալ
- Android և iOS բոլոր API- ները ենթարկվում են JS- ի
NativeScript- ի թույլ կողմերը
- Փոքր համայնք
- Հնարավոր չէ կրկին օգտագործել վեբ UI բաղադրիչները
- Վեբ, սեղանադիր կամ React աջակցություն չկա
NativeScript- ը այնքան հայտնի չէ, որքան React Native- ը, բայց այն մրցում է նույն դաշտում. Բնիկ iOS և Android ծրագրեր JavaScript- ից և վեբ շրջանակներից: Այն թույլ է տալիս օգտագործել JavaScript կամ TypeScript և XML օգտվողի միջերեսի ֆայլ ՝ բնիկ ծրագրեր ստեղծելու համար: Այն նաև աջակցում է Angular- ին և Vue- ին արկղից դուրս, այնպես որ դա հիանալի լուծում է այս շրջանակներին սովոր մշակողների համար:
NativeScript- ի առավելություններն ավելի պարզ են, երբ օգտագործում եք Angular կամ Vue: Angular- ի համար դուք ստեղծում եք նույն բաղադրիչները, որոնց սովոր եք, բայց ձևանմուշի համար HTML- ի փոխարեն օգտագործում եք XML, ներառյալ տվյալների բոլոր կապակցումները: XML- ում `ա-ի փոխարեն div> հետ պ> և img>, դուք կտեղադրեք ա StackLayout> հետ Պիտակ> և Պատկեր> բաղադրիչ
CSS- ը և Sass- ը ապահովվում են բրաուզերում CSS- ի նման ոճերով: Երթուղին և ցանցի կառավարումը կատարվում են ստանդարտ անկյունային ծառայությունների ներդրման միջոցով: Vue- ի համար դա նման է մի բան; Դուք ձևանմուշը գրում եք XML- ով `փոխարենը նույն HTML- ն օգտագործելու փոխարեն ձևանմուշ> տարրը ձեր .vue ֆայլում:
NativeScript- ը պարունակում է բաղադրիչների հավաքածու, որոնք այնուհետև քարտեզագրվում են Android- ի կամ iOS- ի բնիկ կառավարման համար, այնպես որ, երբ ցուցակ կամ ընտրիչ եք մատուցում, այն կլինի հարազատ ծրագիրը `օգտագործելով նույն գաղափարը, ինչ React Native- ում:
Ձեր JavaScript- ի կամ TypeScript- ի կոդը (փոխադրված) իրականացվում է սարքում տեղադրված JavaScript վիրտուալ մեքենայում `կամրջով դեպի հայրենի միջավայր / դեպի: Այդ կամրջում ամբողջ Android- ի կամ iOS / iPadOS- ի բնիկ API- ները ենթարկվում են ազդեցության, այնպես որ, չնայած խաչբազային API- ներ ունենալուն, մենք կարող ենք JavaScript / TypeScript- ից և NativeScript- ից ցանկացած Java կամ Objective-C կոդ օրինակագրել կամ զանգահարել տվյալների տեսակների մարշալ:
NativeScript- ը մեծ աջակցություն է ցուցաբերում գործիքակազմին, ներառյալ VS կոդերի պլագինները, CLI- ը, տաք վերբեռնման փորձարկման համակարգը և NativeScript խաղահրապարակային ծրագիրը, այնպես որ փորձարկման ընթացքում ձեզ հարկավոր չէ տեղադրել բոլոր կախվածությունները, ինչպես նաև մի քանի լրացուցիչ ծառայություններ, ինչպիսիք են առցանց խաղահրապարակ:
Վերջապես, NativeScript- ը կազմում է ծրագիր Android- ի և iOS- ի համար, որը կարող է տեղադրվել պաշտոնական բաշխման ալիքներից և հավելվածների խանութներից, եթե դուք համապատասխանում եք դրանց կանոններին, ձեռնարկության բաշխմանը և ալֆա / բետա փորձարկմանը: Սովորաբար զննարկիչից ծրագրեր բաշխելու ոչ մի եղանակ չի լինի, և այս հարթակի համար սեղանադիր ծրագրերի համար լուծումներ չկան:
Այս հոդվածն ի սկզբանե տպագրվել է ք թողարկում 325 ցանցի ՝ աշխարհի ամենավաճառվող ամսագիրը վեբ դիզայներների և մշակողների համար: Գնել թողարկում 325 կամ բաժանորդագրվել ցանցի վրա
Միացեք մեզ 2020 թ.-ի ապրիլին ՝ GenerateJS- ում JavaScript գերաստղերի մեր շարքով. Համաժողովը, որն օգնում է ձեզ ավելի լավ JavaScript կառուցել: Ամրագրեք հիմա ժամըgenerateconf.com