PWA-lar va mahalliy dasturlar: Qaysi birini tanlashingiz kerak?

Muallif: Randy Alexander
Yaratilish Sanasi: 2 Aprel 2021
Yangilanish Sanasi: 16 Mayl 2024
Anonim
PWA-lar va mahalliy dasturlar: Qaysi birini tanlashingiz kerak? - Ijodiy
PWA-lar va mahalliy dasturlar: Qaysi birini tanlashingiz kerak? - Ijodiy

Tarkib

Ilovani yaratishda qanday yondashuvni tanlash kerak? Siz PWA / veb-texnologiyalar marshrutini tanlashingiz kerakmi yoki mahalliy platformaga chiqishingiz kerakmi? Ikkala variant ham ijobiy va salbiy tomonlariga ega va ushbu maqolada biz veb va mahalliy dasturlarni yaratish uchun ishlatiladigan bir nechta mashhur tanlovlarga e'tibor qaratamiz.

PWAs (Progressive Web Apps) aka veb-ilovalari mashhur HTML, CSS va JavaScript veb-texnologiyalari bilan yaratilgan va veb-brauzerda ishlaydi. (O'zingizning tuzilishingizga yordam beradigan ba'zi bir muhim HTML teglarini ko'rib chiqing.) PWA - bu ilova kabi ko'rinishga mo'ljallangan samarali mobil veb-saytlar va veb-API-lardan foydalanish ularga mahalliy dasturga o'xshash funktsiyalarni beradi.

Ilovalarni yaratish bo'yicha ko'proq maslahat olish uchun ilova yaratish haqida bizning xabarimizga qarang yoki agar u siz yaratmoqchi bo'lgan sayt bo'lsa, ushbu eng yaxshi veb-saytlarni yaratuvchilar va veb-hosting xizmatlarini ko'ring.

PWA-lar va mahalliy dasturlar: farq nima?

Progressive Web Apps-ning afzalligi shundaki, u o'rnatilishi mumkin va ilovalar do'koniga ehtiyoj sezmasdan qurilmada yashaydi. Va bu jarayonning bir qismi veb-ilovalar Manifestidir, bu dasturchilarga qanday qilib dastur paydo bo'lishi va qanday ishga tushirilishini boshqarish imkonini beradi. Bundan tashqari, veb-dizaynerlar / oldingi ishlab chiquvchilar darhol qurilishni boshlash uchun zarur bo'lgan malakaga ega bo'lishadi. Mahalliy dasturlardan farqli o'laroq, yangi tilni o'rganishga hojat yo'q.


Mahalliy dasturlar ma'lum bir OSni hisobga olgan holda qurilgan - ya'ni. iOS va Android - va ushbu maqsadni amalga oshirish uchun ramka yoki tildan foydalaning. IOS dasturlari odatda Xcode yoki Swift va Android dasturlari, JavaScript-ni ishlatadi. Ammo, ushbu maqola uchun biz ikkala platforma uchun ishlaydigan ikkita JavaScript-ga asoslangan ochiq manbali ramkalarga - React Native va NativeScript-ga e'tibor qaratamiz.

Mahalliy dasturlarning afzalliklari shundaki, ular odatda qurilmalarning apparat va dasturiy ta'minotidan unumli foydalanganliklari sababli tezroq ishlaydi, tezroq va tezkorroq ishlaydi va siz ilovalar do'konlarida reytinglarga qaramasdan sifatni kafolatlaysiz. Ammo, bu ma'lum bir ramka yoki kutubxonadan qanday foydalanishni o'rganish kerakligini anglatadi.

Bu erda biz uchta turli xil variantlarni ko'rib chiqamiz: biri veb (PWA) va ikkitasi mahalliy (React Native, NativeScript) - dastur yaratish uchun. Biz ularning qanday ishlashini, nima qila olishlarini ko'rib chiqamiz va kuchli va kuchsiz tomonlarini ko'rib chiqamiz, bu sizning ilovangizni yaratish uchun qaysi variantni tanlashingiz kerakligini hal qilishga yordam beradi.


Progressive veb-ilovalar: Internet uchun bino

PWA ning kuchli tomonlari

  • Ilovalar brauzerda ham ishlaydi
  • Tarqatish: brauzer, korporativ va dastur do'konlari
  • React, Angular, Vue, vanilla yoki boshqa ramkalardan foydalanish mumkin

PWAlarning zaif tomonlari

  • Har bir mahalliy API-ga kirish huquqi yo'q
  • IOS va iPadOS-da imkoniyatlar va do'konlarni tarqatish cheklangan
  • Bu doimiy evolyutsiyada

PWA - bu faqat veb-stek: HTML, CSS, JavaScript va brauzerlarning API-laridan foydalangan holda yuqori samarali, oflayn va o'rnatiladigan dasturlarni yaratish uchun mavjud dizayn namunasi. Xizmat ko'rsatuvchi xodim va veb-dasturning o'ziga xos xususiyatlari tufayli endi Android, iOS, iPadOS, Windows, macOS, Chrome OS va Linux uchun o'rnatgandan so'ng birinchi darajali dastur tajribasini yaratishimiz mumkin.

PWA yaratish uchun siz istalgan arxitekturadan foydalanishingiz mumkin: server tomondan, vanil JavaScript, React, Vue, Angular yoki boshqa mijozlar doirasidan. Bu bitta sahifali dastur yoki ko'p sahifali veb-dastur bo'lishi mumkin va biz oflayn rejimda foydalanuvchilarni qanday qo'llab-quvvatlashimiz kerakligini aniqlaymiz.


Ushbu yondashuvda biz o'z dasturimiz resurslarini paketlashimiz va imzolashimiz shart emas: biz shunchaki fayllarni veb-serverga joylashtiramiz va xizmat ko'rsatuvchi xodim mijozdagi fayllarni keshlash uchun javobgar bo'ladi va o'rnatilgandan so'ng ularga xizmat qiladi. Bu shuni anglatadiki, agar dastur yangilanishi kerak bo'lsa, siz shunchaki serverdagi fayllarni o'zgartirasiz va xizmat ko'rsatuvchi xodimning mantig'i ularni foydalanuvchilar qurilmalarida yangilash uchun javobgar bo'ladi.

Tarqatish nuqtai nazaridan eng keng tarqalgan usul - bu brauzer. Foydalanuvchilar dasturni brauzerdan "Bosh ekranga qo'shish" yoki "O'rnatish" menyusi, o'rnatish uchun taklifnomani qabul qilish yoki mos keladigan platformalarda moslashtirilgan veb-ilovalar foydalanuvchi interfeysi yordamida o'rnatishadi. Shuni ta'kidlash kerakki, Apple App Store-da nashr etilgan sof PWA-larni rad etadi va veb-ishlab chiquvchilarni Safari orqali tarqatishga undaydi.

Foydalanuvchi interfeysi veb-ish vaqti bilan to'liq boshqariladi, ya'ni veb-dizayner ekrandagi har bir boshqaruvni boshqarish uchun javobgardir. Agar siz Ioni yoki Material Design kutubxonasi kabi UI ramkasidan foydalansangiz, HTML va CSS Android yoki iOS-dagi mahalliy interfeyslarni taqlid qiladi, ammo bu majburiy emas.PWA-larda yaxshi foydalanuvchi tajribasini saqlab qolish uchun veb-ishlash texnikasini qo'llash majburiydir.

Qobiliyatlarga kelsak, PWA ushbu platformadagi brauzer dvigatelida mavjud bo'lgan API-larga kirish huquqiga ega bo'ladi va uni mahalliy kod bilan kengaytirish mumkin emas - ilovalar do'koni PWA tarqatishidan tashqari. Bu masalada iOS va iPadOS PWA uchun cheklangan platformalar bo'lib, Chrome (Android va ish stoli operatsion tizimlari uchun) ko'proq imkoniyatga ega va Fugu loyihasi bilan JavaScript-ga har qanday API-ni qo'shish uchun ko'p harakat qilmoqda.

  • Eng yaxshi bulutli saqlash: Siz uchun mos variantni tanlang.

React Native

React Native-ning kuchli tomonlari

  • React.js bilan bir xil naqshlar
  • Ba'zi veb API-lar ochiq
  • Veb va ish stolini qo'llab-quvvatlash

React Native-ning zaif tomonlari

  • Veb-interfeys komponentlarini qayta ishlatib bo'lmaydi
  • Tug'ma ko'prik biroz ishlashga muhtoj
  • Reaktiv tajriba zarur

React Native - bu ochiq manbali JavaScript-ga asoslangan, Facebook tomonidan homiylik qilingan, React dizayn naqshlaridan, shuningdek iOS, iPadOS va Android uchun mahalliy dasturlarni bitta manba kodidan kompilyatsiya qilish uchun JavaScript tilidan foydalanadi.

Lekin HTML uchun hech qanday element qabul qilinmaydi; faqat boshqa mahalliy komponentlar amal qiladi. Shuning uchun, a ko'rsatish o'rniga div> bilan p> va a kiritish> JSX bilan element, siz ko'rsatasiz Ko'rish> bilan Matn> va a TextInput>. Komponentlarni uslublash uchun siz hali ham CSS-dan foydalanasiz va tartib Flexbox orqali aniqlanadi.

Foydalanuvchi interfeysi brauzerning DOM-ida ko'rsatilmaydi, lekin Android va iOS-da mahalliy foydalanuvchi interfeysi kutubxonalaridan foydalanadi. Shuning uchun, a Tugma> ReactNative-da iOS va U-da UIButton-ning namunasi bo'ladi android.widget.Button Android-dagi sinf; React Native-da hech qanday veb-ish vaqti mavjud emas.

Shu bilan birga, barcha JavaScript kodlari qurilmadagi JavaScript virtual mashinasida bajariladi, shuning uchun dasturni kompilyatsiya qilishda mahalliy kodni haqiqiy konvertatsiya qilish uchun JavaScript yo'q. Fetch API, WebSockets va brauzerning taymerlari kabi veb-ishlab chiquvchilar uchun taniqli API to'plami mavjud: setInterval va requestAnimationFrame. Boshqa qobiliyatlar animatsiya kabi maxsus API-lar orqali platformada joylashtirilgan.

Siz ikkita bepul CLI bilan tezkor React Native loyihasini boshlashingiz mumkin: Expo yoki yanada rivojlangan va rasmiy ReactNative CLI. Agar siz rasmiy CLI-dan foydalansangiz, Android dasturini va Xcode-ni iOS va iPadOS-da xuddi shunday qilish uchun kompilyatsiya qilish va sinovdan o'tkazish uchun sizga Android Studio kerak, shuning uchun sizga ushbu platforma uchun macOS kompyuter kerak bo'ladi.

React Native iOS va Android uchun mahalliy dasturlarni to'playdi, ya'ni sizning ilovangiz tarqatilishi boshqa mahalliy ilovalar bilan bir xil qoidalarga amal qiladi: ommaviy dasturlar uchun dastur do'konlari, korporativ tarqatish va alfa / beta sinovlari. Odatda, siz dasturni brauzer orqali tarqatolmaysiz, ammo React Native for Web va Microsoft-ning React Native for Windows platformalari yordam berishi mumkin.

NativeScript

NativeScript-ning kuchli tomonlari

  • Kodlash va sinov uchun yaxshi vositalar
  • O'ynashga tayyor dasturlarning keng galereyasi
  • Barcha Android va iOS API-lari JS-da namoyish etiladi

NativeScript-ning zaif tomonlari

  • Kichik hamjamiyat
  • Veb-interfeys komponentlarini qayta ishlatib bo'lmaydi
  • Internet, ish stoli yoki React-ga yordam yo'q

NativeScript React Native singari taniqli emas, lekin u bir xil sohada raqobatlashadi: mahalliy iOS va Android dasturlari JavaScript va veb-ramkalardan. Mahalliy dasturlarni yaratish uchun JavaScript yoki TypeScript va XML foydalanuvchi interfeysi faylidan foydalanishga imkon beradi. Bundan tashqari, u burchakli va Vue-ni qutidan tashqarida qo'llab-quvvatlaydi, shuning uchun ushbu ramkalarga odatlangan ishlab chiquvchilar uchun ajoyib echim.

NativeScript-ning afzalliklari siz burchakli yoki Vue-dan foydalanganda aniqroq bo'ladi. Burchak uchun siz odatlangan komponentlarni yaratasiz, lekin shablon uchun HTML o'rniga XML-dan foydalanasiz, shu jumladan barcha ma'lumotlarni bog'lash. XML-da, o'rniga div> bilan p> va an img>, siz joylashtirasiz StackLayout> bilan Yorliq> va an Rasm> komponent.

CSS va Sass brauzerda CSS-ga o'xshash uslublar bilan qo'llab-quvvatlanadi. Marshrutlash va tarmoqni boshqarish standart burchakli xizmatlarni amalga oshirish orqali amalga oshiriladi. Vue uchun bu shunga o'xshash narsa; HTMLni bir xil ishlatish o'rniga shablonni XML-da yozasiz shablon> .vue faylidagi element.

NativeScript-da tarkibiy qismlar to'plami mavjud bo'lib, ular keyinchalik Android yoki iOS-ning mahalliy boshqaruviga taqqoslanadi, shuning uchun siz ro'yxat yoki tanlagichni ko'rsatganingizda, u React Native-dagi fikrdan foydalanib, mahalliy dastur bo'ladi.

Sizning JavaScript yoki TypeScript kodingiz (ko'chirilgan) mahalliy muhitga kirish / ko'prik bilan qurilmadagi JavaScript virtual mashinasida bajariladi. Ushbu ko'prikda Android yoki iOS / iPadOS-ning barcha mahalliy API-lari ochiq bo'lib, platformalararo API-larga ega bo'lishimizga qaramay, biz JavaScript / TypeScript-dan Java yoki Objective-C kodlarini o'rnatishimiz yoki chaqirishimiz mumkin va NativeScript marshal ma'lumotlar turlarini yaratamiz.

NativeScript-da VS kod plaginlari, CLI, issiq qayta yuklash sinov tizimi va NativeScript o'yin maydonchasi dasturini o'z ichiga olgan vositalarni qo'llab-quvvatlash juda yaxshi, shuning uchun sinov paytida barcha bog'liqliklarni o'rnatishingiz shart emas, shuningdek, onlayn kabi bir nechta qo'shimcha xizmatlar. bolalar maydonchasi.

Va nihoyat, NativeScript Android va iOS uchun faqat rasmiy tarqatish kanallari va dastur do'konlaridan o'rnatilishi mumkin bo'lgan dasturni tuzadi, agar siz ularning qoidalariga, korporativ tarqatish va alfa / beta-testlariga rioya qilsangiz. Odatda brauzerdan dasturlarni tarqatish imkoniyati bo'lmaydi va ushbu platforma uchun ish stoli dasturlari uchun echimlar mavjud emas.

Ushbu maqola dastlab nashr etilgan 325-son net, veb-dizaynerlar va ishlab chiquvchilar uchun dunyodagi eng ko'p sotiladigan jurnal. Sotib oling 325-son yoki obuna bo'lish to'rga

2020 yil aprel oyida GenerateJS-dagi JavaScript-ni yulduzlar qatoriga qo'shiling - bu sizga yaxshi JavaScript-ni yaratishda yordam beradigan konferentsiya. Endi bron qilinggenerateconf.com 

Yangi Xabarlar
Kino mavzusiga ega bo'lgan 4 ta ajoyib HBO markasi
O’Qimoq

Kino mavzusiga ega bo'lgan 4 ta ajoyib HBO markasi

Filmlar va televizorlar o'zingizni bo hqa hayotga yoki olamga ingdiri hga qaratilgan. hunday qilib, "Mirari & Co" dizaynerlik agentligi HBO outh A ia tomonidan o'zining premium t...
Illustrator-dagi ikonik albom rasmlarini qayta tarjima qiling
O’Qimoq

Illustrator-dagi ikonik albom rasmlarini qayta tarjima qiling

U hbu yuri h-turi hida men izga qanday qilib ikonik dizaynni oli hni va o'zingizning a l nu xangizni qayta tikla hni ko'r ataman. gt-ni qayta izohla himdan foydalanib. Pepper' Lonely Heart...
Brendni uy nomiga aylantirishning 6 usuli
O’Qimoq

Brendni uy nomiga aylantirishning 6 usuli

De ign tudio - bu o'nggi yillardagi eng yirik brend hikoyalarining nomi va tez orada tartaplarni uy nomlariga aylantiri h uchun obro'-e'tiborni o hirmoqda. Uning Airbnb uchun i hi kompaniy...