PWAs vs apps native: Кадомашро шумо бояд интихоб кунед?

Муаллиф: Randy Alexander
Санаи Таъсис: 2 Апрел 2021
Навсозӣ: 16 Май 2024
Anonim
АНКЕТА DS-160 ДЛЯ ВИЗЫ В США. ЗАПОЛНЯЕМ АНКЕТУ! ПОШАГОВАЯ ИНСТРУКЦИЯ [2022] US VISA FILLING FORM!
Видео: АНКЕТА DS-160 ДЛЯ ВИЗЫ В США. ЗАПОЛНЯЕМ АНКЕТУ! ПОШАГОВАЯ ИНСТРУКЦИЯ [2022] US VISA FILLING FORM!

Мундариҷа

Ҳангоми сохтани барнома шумо бояд кадом равишро интихоб кунед? Оё шумо бояд хатсайри PWA / веб-технологияро пеш гиред ё оё шумо ба ватан рафта, барои платформаҳои мушаххас тарроҳӣ кунед? Ҳарду вариант мусбат ва манфии худро доранд ва дар ин мақола мо ба чанд интихоби маъмуле, ки барои эҷоди веб ва барномаҳои ватанӣ истифода мешаванд, диққат медиҳем.

PWAs (Progressive Web Apps), яъне веб-барномаҳо, бо веб-технологияҳои маъмули HTML, CSS ва JavaScript сохта шудаанд ва дар браузери веб кор мекунанд. (Баъзе аз барчаспҳои муҳими HTML-ро санҷед, то ба шумо дар сохтани худ кумак кунанд.) PWA вебсайти мобилии муассир мебошанд, ки ба монанди барнома тарҳрезӣ шудаанд ва истифодаи веб APIҳо ба онҳо имконият медиҳанд, ки ба як барномаи ватанӣ монанд бошанд.

Барои гирифтани маслиҳатҳои бештар дар бораи сохтани барнома, ба навиштаи мо дар бораи сохтани барнома муроҷиат кунед, ё агар ин сайте, ки шумо мехоҳед эҷод кунед, ин вебсайтҳои беҳтарин ва хидматҳои хостинги вебро бубинед.

PWAs против барномаҳои модарӣ: Тафовут дар чист?

Progressive Web Apps бартарии насбшаванда дорад ва дар дастгоҳ бидуни ниёз ба мағозаи барнома зиндагӣ мекунад. Ва, як қисми раванди Манифести Веб Барнома мебошад, ки ба таҳиягарон имкон медиҳад, ки чӣ гуна пайдо шудани барнома ва чӣ гуна оғоз шудани онро назорат кунанд. Инчунин, веб-дизайнерҳо / таҳиягарони охири соҳа аллакай малакаи малакае доранд, ки барои фавран сохтан оғоз кардан лозим аст. Баръакси барномаҳои модарӣ, ҳоҷати омӯхтани забони нав нест.


Барномаҳои модарӣ бо назардошти як OS мушаххас сохта шудаанд - яъне. iOS ва Android - ва барои амалӣ намудани ин ҳадаф чаҳорчӯба ё забон истифода баред. Барномаҳои iOS одатан Xcode ё Swift ва барномаҳои Android, JavaScript -ро истифода мебаранд. Аммо, барои ин мақола мо ба якчанд чаҳорчӯбаи манбаъи кушоди JavaScript - React Native ва NativeScript - ки барои ҳарду платформа кор мекунанд, диққат медиҳем.

Афзалиятҳои барномаҳои ватанӣ дар он аст, ки онҳо одатан функсияҳои беҳтарро ба даст меоранд, зеро онҳо аз таҷҳизот ва нармафзори дастгоҳҳо беҳтар истифода мебаранд, зудтар ва ҷавобгӯтаранд ва шумо кафолати сифатро дар дӯкони барномаҳо мегиред. Аммо, ин маънои онро дорад, ки чӣ гуна истифода бурдани як чаҳорчӯба ё китобхонаи мушаххасро омӯхтан лозим аст.

Дар ин ҷо мо се варианти гуногунро дида мебароем - яке барои веб (PWA) ва ду вариант барои модар (React Native, NativeScript) - барои сохтани барнома. Мо аз тарзи корбарии онҳо, чӣ кор карда тавонистани онҳо мегузарем ва ҷиҳатҳои қавӣ ва сусти онҳоро дида мебароем, то ба шумо кӯмак расонем, ки кадом барномаи интихобро интихоб кунед.


Барномаҳои вебии пешрафта: Сохтани веб

Тарафҳои PWA

  • Барномаҳо инчунин дар браузер кор мекунанд
  • Тақсимот: мағозаҳои браузер, корхонаҳо ва барномаҳо
  • Метавонад React, Angular, Vue, vanilla ё чаҳорчӯбаи дигарро истифода барад

Заъфҳои PWA

  • Дастрасӣ ба ҳар як API маҳаллӣ
  • Имкониятҳо ва тақсимоти мағозаҳо дар iOS ва iPadOS маҳдуданд
  • Ин дар таҳаввулоти пайваста аст

PWAҳо намунаи тарроҳии ҳозира мебошанд, ки бо истифодаи танҳо веб стек: HTML, CSS, JavaScript ва API-ҳои браузерҳо барномаҳои баландмақом, мустақим ва васлшаванда эҷод мекунанд. Бо шарофати ба коргари хидматрасон ва мушаххасоти манифести веб-барнома, мо метавонем акнун пас аз насб барои Android, iOS, iPadOS, Windows, macOS, Chrome OS ва Linux таҷрибаи аввалини барнома созем.

Барои сохтани PWA, шумо метавонед ҳама гуна меъмориро истифода баред: аз тарафи сервер, JavaScript-и ванилӣ, React, Vue, Angular ё дигар чаҳорчӯбаҳои муштарӣ. Он метавонад як барномаи яксаҳифагӣ ё як веб-сафҳаи бисёрсаҳифа бошад ва мо муайян мекунем, ки чӣ гуна мо корбаронро ҳангоми офлайн дастгирӣ мекунем.


Дар ин равиш, мо ба бастабандӣ ва имзои захираҳои замимаи худ ниёз надорем: мо танҳо файлҳоро дар веб-сервер ҷойгир мекунем ва корманди хидматрасон барои кэш кардани файлҳои муштарӣ масъул аст ва пас аз насб ба онҳо хидмат хоҳад кард. Ин инчунин маънои онро дорад, ки агар барнома ба навсозӣ ниёз дорад, шумо танҳо файлҳоро дар сервер иваз мекунед ва мантиқи корманди хидмат барои навсозии онҳо дар дастгоҳҳои корбарон бидуни дахолати корбар ё мағозаи барнома масъул хоҳад буд.

Дар робита ба тақсимот, усули маъмултарин браузер мебошад. Истифодабарандагон барномаро аз браузер бо истифодаи Илова ба экрани асосӣ ё Насби менюи насб, бо қабули даъватнома барои насб кардан ё бо истифодаи интерфейси корбари барномавии веб дар платформаҳои мувофиқ насб мекунанд. Бояд қайд кард, ки Apple PWA-ҳои тозаи дар App Store нашршударо рад мекунад ва веб-таҳиягаронро ташвиқ мекунад, ки онро тавассути Safari паҳн кунанд.

Интерфейси корбар комилан аз ҷониби вақти кории веб идора карда мешавад, яъне маънои онро дорад, ки дизайнер барои иҷрои ҳар як назорат дар экран масъул аст. Агар шумо чаҳорчӯбаи интерфейсро истифода баред, ба монанди Ionic, ё китобхонаи Design Design, HTML ва CSS интерфейсҳои ватаниро дар Android ё iOS тақлид мекунанд, аммо ин ҳатмӣ нест.Ҳангоми иҷрои PWAs, истифодаи техникаи иҷрои веб барои нигоҳ доштани таҷрибаи хуби корбарон ҳатмист.

Дар робита ба қобилиятҳо, PWA танҳо ба API-ҳое, ки дар он муҳаррики браузер мавҷуданд, дастрасӣ дорад ва онро бо рамзи ватанӣ васеъ кардан мумкин нест - ба истиснои тақсимоти мағозаи барнома PWA. Дар ин маврид, iOS ва iPadOS платформаҳои маҳдудтар барои PWA мебошанд, дар ҳоле ки Chrome (барои ОС-ҳои Android ва мизи корӣ) дастрасии бештар доранд ва саъй доранд, ки ҳар як API имконпазирро бо лоиҳаи Fugu ба JavaScript илова кунанд.

  • Беҳтарин нигаҳдории абр: Имкони мувофиқро барои худ интихоб кунед.

Вокуниши модарӣ

Қувваҳои React Native

  • Ҳамин гуна намунаҳо бо React.js
  • Баъзе веб APIҳо дучор меоянд
  • Дастгирии веб ва мизи корӣ

Заъфҳои React Native

  • Қисматҳои интерфейси вебро дубора истифода бурда наметавонам
  • Купруки ватанӣ ба баъзе корҳо ниёз дорад
  • Таҷрибаи реаксия лозим аст

React Native як чаҳорчӯбаи кушоди JavaScript мебошад, ки аз ҷониби Facebook сарпарастӣ мешавад, ки намунаҳои тарроҳии React ва инчунин забони JavaScript -ро барои тартиб додани барномаҳои ватанӣ барои iOS, iPadOS ва Android аз як коди сарчашма истифода мекунад.

Аммо ягон унсури HTML барои расонидан қабул карда намешавад; танҳо дигар ҷузъҳои аслӣ эътибор доранд. Аз ин рӯ, ба ҷои расонидани а див> бо саҳ> ва а вуруд> унсур бо JSX, шумо а Намоиш> бо Матн> ва а TextInput>. Барои компонентҳои услубӣ шумо ҳоло ҳам CSS-ро истифода мебаред ва тарҳ ба воситаи Flexbox муайян карда мешавад.

Интерфейси корбар дар DOM-и браузер пешниҳод карда намешавад, аммо бо истифода аз китобхонаҳои интерфейси корбари ватанӣ дар Android ва iOS. Аз ин рӯ, а Тугма> дар ReactNative як намунаи UIButton дар iOS ва android.widget.Button синф дар Android; дар React Native ягон вақти кории веб вуҷуд надорад.

Аммо, ҳамаи рамзҳои JavaScript дар дастгоҳи виртуалии JavaScript дар дастгоҳ иҷро карда мешаванд, аз ин рӯ ҳангоми тартиб додани барнома JavaScript ба табдили рамзи ватанӣ вуҷуд надорад. Як маҷмӯи API-ҳои маъруф барои веб таҳиягарон мавҷуданд, ба монанди Fetch API, WebSockets ва таймерҳои браузер: setInterval and requestAnimationFrame. Қобилиятҳои дигар дар платформа тавассути API-ҳои фармоишӣ, ба монанди аниматсияҳо ҷойгир карда мешаванд.

Шумо метавонед як лоиҳаи зуд React Native-ро бо ду CLI-и ройгон оғоз кунед: Expo ё ReactNative CLI-и пешрафта ва расмӣ. Агар шумо CLI-и расмиро истифода баред, инчунин ба шумо Android Studio барои тартиб додан ва санҷидани барнома ва Xcode Android лозим аст, то инро дар iOS ва iPadOS иҷро кунанд, аз ин рӯ ба шумо барои он платформа компютери macOS лозим аст.

React Native барномаҳои ватаниро барои iOS ва Android тартиб медиҳад, яъне тақсимоти барномаи шумо ба ҳамон қоидаҳои дигар барномаҳои ватанӣ риоя хоҳад кард: мағозаҳои барномаҳо барои барномаҳои давлатӣ, тақсимоти корпоративӣ ва санҷиши алфа / бета. Одатан, шумо наметавонед барномаеро тавассути браузер паҳн кунед, гарчанде ки React Native for Web ва Microsoft React Native for Windows платформаҳо метавонанд кӯмак кунанд.

NativeScript

Тарафҳои NativeScript

  • Воситаҳои хуб барои рамзгузорӣ ва санҷиш
  • Галереяи васеи барномаҳо, ки барои бозӣ омодаанд
  • Ҳама API-ҳои Android ва iOS дар JS дучор мешаванд

Заъфҳои NativeScript

  • Ҷамъияти хурд
  • Қисматҳои интерфейси вебро дубора истифода бурда наметавонам
  • Дастгирии веб, мизи корӣ ё React нест

NativeScript ҳамчун React Native маъруф нест, аммо он дар як соҳа рақобат мекунад: барномаҳои маҳаллии iOS ва Android аз JavaScript ва фреймворкҳо. Он ба шумо имкон медиҳад, ки JavaScript ё TypeScript ва файли интерфейси XML-ро барои эҷоди барномаҳои ватанӣ истифода баред. Он инчунин Angular ва Vue -ро аз қуттӣ дастгирӣ мекунад, аз ин рӯ ҳалли олие барои таҳиягароне, ки ба ин чорчӯбаҳо одат кардаанд.

Афзалиятҳои NativeScript ҳангоми истифодаи Angular ё Vue равшантаранд. Барои Angular, шумо ҳамон ҷузъҳои ба шумо одатшударо месозед, аммо ба ҷои HTML барои қолаби XML истифода мебаред, аз он ҷумла ҳамаи пайвастагиҳои додаҳо. Дар XML, ба ҷои a див> бо саҳ> ва як имг>, шумо ҷойгир мекунед а StackLayout> бо Нишон> ва як Тасвир> ҷузъи

CSS ва Sass бо сабкҳои шабеҳ ба CSS дар браузер дастгирӣ карда мешаванд. Масир ва идоракунии шабака тавассути татбиқи хадамоти стандартии Angular амалӣ карда мешаванд. Барои Vue, ин чизе монанд аст; шумо шаблонро ба ҷои HTML дар ҳамон ҷо навиштан дар XML менависед шаблон> унсур дар файли .vue кунед.

NativeScript маҷмӯи компонентҳоро дар бар мегирад, ки пас аз он ба идоракунии аслии Android ё iOS дохил карда мешаванд, аз ин рӯ, вақте ки шумо рӯйхат ё интихобкунандаро пешниҳод мекунед, он барномаи ватанӣ хоҳад буд, бо истифода аз ҳамон идеяе, ки дар React Native истифода мешавад.

Рамзи JavaScript ё TypeScript-и шумо (интиқол додашуда) дар мошини виртуалии JavaScript-и дастгоҳ бо пул ба муҳити ватанӣ иҷро карда мешавад. Дар он пул, тамоми API-ҳои ватанӣ аз Android ё iOS / iPadOS дучор меоянд, бо вуҷуди дастрасӣ ба API-ҳои платформаи платформа, мо метавонем ягон коди Java ё Objective-C-ро аз JavaScript / TypeScript ва NativeScript нависем.

NativeScript барои асбобсозӣ, аз ҷумла плагинҳои коди VS, CLI, системаи санҷиши гармкунии дубора ва замимаи NativeScript, дастгирии хуб дорад, бинобар ин, ҳангоми вуруд кардани ҳамаи вобастагиҳо ва инчунин якчанд хидматҳои иловагӣ, ба монанди онлайн, майдончаи бозӣ.

Ниҳоят, NativeScript танҳо барномаеро барои Android ва iOS тартиб медиҳад, ки аз каналҳои паҳнкунандаи расмӣ ва мағозаҳои барнома насб карда мешавад, агар шумо ба қоидаҳои онҳо, тақсимоти корхонаҳо ва санҷиши алфа / бета риоя кунед. Одатан, ҳеҷ гуна роҳи паҳн кардани барномаҳо аз браузер нахоҳад буд ва барои барномаҳои мизи корӣ барои ин платформа ягон ҳал нест.

Ин мақола дар аввал нашр шудааст нашри 325 of net, маҷаллаи серхаридор дар ҷаҳон барои тарроҳон ва таҳиягарони веб. Харидан нашри 325 ё обуна шавед ба шабака.

Дар моҳи апрели соли 2020 бо сафи ситораҳои JavaScript дар GenerateJS ҳамроҳ шавед - конфронс, ки ба шумо дар сохтани JavaScript беҳтар кӯмак мекунад. Ҳоло брон кунедgenerateconf.com 

Ҷолиб Дар Сайт
8 абзорҳои беҳтарини 3D дар соли 2017
Бештар

8 абзорҳои беҳтарини 3D дар соли 2017

Таҳиягарони нармафзори 3D медонанд, ки рассомони 3D як кори эҷодкорона иҷро мекунанд, аммо мӯҳлати ниҳоӣ доранд ва соатҳои дароз доранд, бинобар ин онҳо доимо кӯшиш мекунанд, ки роҳҳои нави осон карда...
7 беҳтарин ҳуруфҳои нави 2017
Бештар

7 беҳтарин ҳуруфҳои нави 2017

Мисли ҳама гуна унсурҳои тарроҳӣ, ҳамаи мо ҳуруфҳои дӯстдоштаи худро дорем, ки бозмегардем. Аммо шумо намехоҳед, ки кори шумо кӯҳна шавад. Аз ин рӯ, хуб аст, ки баъзан ҳарфҳои навини навро ба бозор ба...
Google эълон кард, ки маҳсулоти нав кушта мешавад
Бештар

Google эълон кард, ки маҳсулоти нав кушта мешавад

Эълони калон имрӯз Google+, пешрафти навтарини бузургҷуссаи ҷустуҷӯ дар шабакаҳои иҷтимоӣ мебошад, аммо дар ғавғо дар бораи он, ки ду маҳсулоти дигари ҷолиб: Google Web Font ва wiffy гум шуданд.Ҳоло с...