If-Koubou

Какви са прогресивните уеб приложения?

Какви са прогресивните уеб приложения? (Как да)

Някога желаете уеб приложенията да се държат по-скоро като истински приложения? Прогресивните уеб приложения са нова технология, която има за цел да направи това възможно.

Кратката версия: Какви са прогресивните уеб приложения?

Ето и кратко резюме: Google, Microsoft, Mozilla и други компании работят по нов, модерен стандарт за уеб приложения. Дори Apple се следи и изпълнява поддръжка за него. Тези приложения са уеб приложения, но се държат по-скоро като природни приложения. Подобно на съществуващите уеб приложения, те ще бъдат хоствани директно на свързания с тях уебсайт. Разработчиците могат да ги актуализират директно на уеб сървъра си, без да изпращат тези актуализации на няколко различни магазина за приложения, а същото приложение ще се показва на всички браузъри и платформи.

Когато инсталирате прогресивно уеб приложение, ще получите начален екран, лента за задания или пряк път на работния плот, който стартира приложението (в зависимост от платформата ви). Приложението ще се зарежда бързо и ще включва офлайн поддръжка, известия за натискане, поддръжка на синхронизиране на фона и други съвременни екстри.

Тези приложения могат да използват съществуващи уеб технологии за достъп до услугите за местоположението, уеб камерата ви и други подобни функции, които нормално свързваме с местни приложения. Разбира се, приложенията трябва да ви помолят и да получат разрешението ви, преди да получите достъп до тези неща.

Техническата версия: как работят те?

Прогресивните уеб приложения са традиционни уеб приложения, които са усъвършенствани с модерни уеб технологии, които им позволяват да осигурят по-голямо практическо приложение. "Прогресивната" част означава, че те са "постепенно подобрени" със съвременни уеб функции, което означава, че те ще работят и в по-стари браузъри, които не поддържат новите функции, но ще работят по-добре и с повече функции в съвременните браузъри.

Тези приложения ще получат свой собствен прозорец и пряк път на лентата на задачите (на Windows 10 и всичко, изпълняващо Chrome) или иконата на началния екран (на устройства с Android и други смартфони). Когато ги отваряте, те ще се зареждат бързо благодарение на API на Cache и IndexedDB, в който се съхраняват ресурсите и данните на приложението на устройството ви, което им позволява да работят дори когато са офлайн. Технологии като Служебни работници и известия за натискане ще позволят на приложението да изпълнява функции на заден план като синхронизиране и изпращане на известия, дори когато те не се изпълняват, като при родно приложение. Приложният програмен интерфейс (API) на Fetch прави по-бързо и по-лесно приложението да изисква данни. Те имат файл Manifest за уеб приложение, който предоставя име, икона, автор и описание, които се използват при инсталирането на приложението в началния екран или работния плот. Те винаги се обслужват чрез шифрован HTTPS, което означава, че те са сигурни и данните не могат да бъдат променяни при преминаване.

Прогресивните уеб приложения не са като приложенията на Google за пакетирани приложения или хостваните уеб приложения на Microsoft. Те изискват приложението да бъде "опакован" като файл и изпратен в магазин за приложения. Цялото приложение живееше в малко офлайн пакет и потребителите трябваше да го инсталират от уеб магазина на Chrome или от магазина на Windows. Те също са специфични за платформата и биха работили само в Chrome или Windows. Разработчикът трябваше да промени файловете на приложението офлайн и да подаде нова версия в магазина за приложения, за да го актуализира.

Вместо това PWAs никога не са опаковани в офлайн файл. Подобно на традиционните уеб приложения, които използваме днес, те се хостват изцяло на сървърите на приложението. Ако даден програмист иска да актуализира своето прогресивно уеб приложение, той го актуализира точно както би актуализирало уеб приложението на сървърите си. Всички платформи и браузъри, поддържащи PWA, могат да използват същите прогресивни уеб приложения.

PWA могат да се показват в магазините за приложения за по-лесно откриване и инсталиране, но магазинът за приложения просто ще насочва към сървърите на уеб приложението. Дори ако дадено приложение не е съвместимо с правилата за съдържанието на магазина за приложения, потребителите ще могат да го намират и инсталират директно от своя браузър.

Защо това има значение

Това не е просто да направите уеб приложенията малко по-хубаво. Става въпрос за определяне на нов стандарт за инсталируеми приложения, които всяка платформа поддържа. Това може да означава някои изненадващи събития в близко бъдеще.

Например, когато тази работа бъде свършена, Google може да разреши услугите като Gmail и Google Календар да функционират като PWA. Това означава, че те биха се изпълнявали като приложения с естествен стил в Windows 10 и са включени в магазина на Windows. Това ще отнеме много време за решаване на проблема с приложението на Windows Store, тъй като Google не иска да поддържа универсалната платформа на Microsoft (UWP) на Microsoft. Другите разработчици, които не са искали да създадат отделни UWP приложения, внезапно ще могат да поддържат Windows 10 с PWA с местен стил.

Разработчиците ще имат по-лесен начин да направят функциите си за уеб приложения по-мощен, интегриран начин на голямо разнообразие от устройства, без да скачат през обръчите на магазините за приложения. Уеб приложенията, които работят навсякъде, биха могли да се конкурират по-добре с родните приложения, които работят на една платформа. Фирмата, която разполага с ресурси за създаване на едно приложение, може да направи PWA и да поддържа всичко, вместо да създава отделни приложения за iOS, Android, Windows и мрежата.

И благодарение на предоставените от разработчиците на уеб приложенията Manifest, търсачките ще могат да обхождат мрежата и лесно да намерят наличните PWA онлайн. Това ще направи PWA лесно откриваемо, точно както уеб страниците.

На какви платформи се поддържат?

Прогресивните уеб приложения са в процес на разработка от известно време, но те ще направят по-голям скок в общественото око.

Следващата актуализация на Windows 10 - актуализацията от април 2018 г. с кодовото име Redstone 4, която ще бъде пусната на 30 април - Microsoft дава възможност за поддръжка на PWA. Както и на други платформи, можете да се насочите към уеб сайта на PWA и да го инсталирате чрез Microsoft Edge. Въпреки това, Microsoft ще включва и Progressive Web Apps в магазина за лесна инсталация.Разработчиците могат да извеждат свои собствени приложения в магазина, но Microsoft ще използва и Bing, за да намери добри PWA в мрежата и автоматично да ги изброи. Те пак ще бъдат хоствани нормално на уебсайта им и ще бъдат актуализирани от разработчика, но Microsoft прави по-лесно да ги намерите и инсталирате. Никога няма да ви се налага да отваряте браузъра Edge, за да намерите, инсталирате и стартирате PWA в Windows 10. Това би трябвало да помогне за насипването на Windows Store, но изглежда като лоша новина за платформата на Microsoft за UWP приложения. Защо много разработчици ще направят UWP приложение, когато PWA ще се оправи и ще работи на няколко операционни системи?

В Google Chrome - независимо дали за Windows, Mac, Linux или Chrome OS-PWAs, тепърва ще заменят преустановената платформа "Chrome Apps". Google твърди, че подкрепата за настолни инсталации на PWAs трябва да пристигне "в средата на 2018", приблизително. След това тези PWA ще работят с Chrome на работния плот. Тази функция вече се тества в нестабилната версия на Chrome, наречена Canary.

В Android Google Chrome вече поддържа инсталирането на PWA, както и други мобилни браузъри като Mozilla Firefox, Opera и браузъра Samsung. Google работи върху технология, наречена WebAPK, която ще позволи на PWA да се превърнат в APK файлове (файлове с приложения за Android) и да се инсталират на устройството, подобно на други приложения. Ръководителят на проекта на Chrome е намекнал, че PWA може да се добавят и в Google Play Магазин.

Докато Apple не е вокал или участник тук, те вече добавят функциите на PWA към браузъра Safari.

2018 трябва да бъде голяма година за PWA, особено на Windows 10, където те биха могли да помогнат на Microsoft да затвори разстоянието между приложенията и да има приложения, които са по-естествени.

Image Credit: Prabowo96