Modul în care aplicațiile web progresive fac din nou Webul grozav de Alan Semenov Medium
Alan Semenov
24 septembrie 2017 · 13 min de citire
Aplicațiile web progresive este una dintre cele mai tari tendințe în dezvoltarea web în acest moment, din ce în ce mai mulți oameni sunt dispuși să învețe despre concept și tehnologie. Majoritatea articolelor pe această temă sunt fie foarte scăzute și dificil de devorat pentru persoanele care nu sunt tehnice, fie, dimpotrivă, foarte scurte și superficiale. Acest articol încearcă să realizeze imposibilul - explicați conceptul din spatele PWA într-un mod care să fie atrăgător și de înțeles nu numai pentru profesioniștii IT, ci și pentru cei care sunt, în general, interesați de ceea ce este nou și fierbinte în industria web de astăzi.

A fi progresist este greu. Trebuie să țineți constant pasul cu lumea în continuă schimbare din afară și să fiți conștienți de noile tendințe în artă, modă, politică, sănătate și alimentație. Ar trebui să-i poți spune lui Trump de la Obama. Să știți că Manet și Monet nu sunt același tip, chiar dacă ambii obișnuiau să picteze lucruri. Gătiți ca Jamie Oliver (sau cel puțin prefaceți-vă că gătiți în timp ce aruncați aleatoare mâncare în bucătărie). Ștergeți burgeri și kebab în favoarea frunzelor verzi de origine necunoscută pe care chiar și vacile refuză să le mănânce. Beți smoothie-uri din aceleași frunze în timp ce încercați tot posibilul să nu aruncați.
A fi progresist în domeniul IT este și mai greu. În plus față de tot ceea ce am menționat mai sus, ar trebui să puteți programa în toate cadrele JavaScript populare, să dețineți 50 de tricouri din fiecare nuanță de gri, să recunoașteți fiecare Pokemon după nume și să nu confundați IPA și APA cu SPA. Creșterea barbei îți va oferi puncte suplimentare în progresivitate (puncte duble dacă ești fată).
Dacă nu sunteți un fermier în vârstă de 90 de ani din Texas, pariez că dețineți un smartphone. Uită-te la el - aceste pătrate colorate de pe ecranul său principal sunt numite „aplicații native”. Acestea sunt numite „native” deoarece sunt dezvoltate nativ pentru sistemul de operare al smartphone-ului dvs. (fie el iOS sau Android sau - Doamne ferește - Windows Phone).
Dacă sunteți dezvoltator web, cel mai probabil creați site-uri web. Dar site-urile web sunt atât de anii '90, este vorba despre aplicații în zilele noastre. Și, fiind un dezvoltator web progresiv, evident că nu poți doar să dezvolți cauza aplicațiilor mobile, ei bine, aplicațiile mobile sunt atât de mari. Deci, a fost doar o chestiune de timp înainte de conceptul de aplicații web progresive a fost nascut.
Dezvoltarea aplicațiilor mobile a fost întotdeauna această „zonă interzisă” în care câțiva dintre noi, dezvoltatorii web, au îndrăznit să pășească. Ar trebui să fii un programator hardend cu cunoștințe despre Objective-C, Java sau C ++ sau, mai recent, cadre precum Xamarin sau Cordova care permit dezvoltatorilor să vizeze mai multe platforme mobile cu o singură bază de cod. Și apoi, desigur, există întotdeauna o dificultate în a vă face publică aplicația (dacă ați încercat vreodată să implementați aplicația dvs. în Apple AppStore, atunci știți la ce mă refer) și să păstrați site-ul web și toate versiunile mobile sincronizate între ele.
Evident, dezvoltatorii web nu au fost mulțumiți de această situație. Au mormăit neîncetat din beciurile caselor părinților lor, unii chiar au jurat să renunțe la consumul de Coca-Cola și să mănânce chipsuri până când problema a fost rezolvată. Un suflet nechibzuit a mers chiar până a promis că își va spăla tricoul de joc, dar și-a revenit în fire înainte să fie prea târziu. Între timp, multe minți strălucitoare au încercat din greu să elimine decalajul iritant dintre web și dezvoltarea mobilului, până când în cele din urmă Google a introdus următoarea lor cea mai bună idee după fila Incognito din Chrome - conceptul de aplicații web progresive.
Conceptul este strălucit prin simplitatea sa curajoasă. Dezvolți un site web care arată și se comportă exact ca o aplicație mobilă nativă, ceea ce înseamnă că poate fi adăugat pe ecranul de start de pe un smartphone, trimite notificări push, accesează hardware-ul dispozitivului și - cel mai important - funcționează offline. Da, ați auzit-o bine - Progresiva aplicație web funcționează la fel de lină pe o rețea tremurată sau fără o rețea, precum ar avea acces complet la internet.
Dar ... dar ... cum poate un browser să deschidă un site web fără să îl poată accesa pe web? Ei bine, credeți sau nu, dar browserul dvs. este acum capabil de multe funcții interesante la care nu v-ați aștepta niciodată să fie acum doar câțiva ani, cu excepția cazului în care, desigur, sunteți un utilizator mândru și dedicat al Netscape sau Internet Explorer 6.
Site-uri precum whatwebcando.today sunt capabile să analizeze API-urile browserului dvs. și să arate care dintre funcțiile disponibile nativ pe dispozitivele mobile sunt, de asemenea, acceptate de browserul dvs. Încercați - pariez că veți fi surprinși. Versiunea mea actuală de Chrome (56) acceptă 33 din 36 de funcții, iar restul se lucrează. Da, asta era pe laptopul meu, dar browserele mobile nu sunt atât de în urmă (în special pe platforma Android).
„Ok”, credeți, „deci browserul meu acceptă toate aceste funcții - bine. Dar am atât de multe aplicații pe smartphone-ul meu pe care le folosesc în fiecare zi, încât nu pot să renunț la toate acestea și să trec la aplicații web ”. Dar probabil că vă înșelați și aici.
O cercetare efectuată în 2015 de marketingland.com arată statistici uimitoare:
Utilizatorii de telefonie mobilă petrec 80% din timp pe dispozitivul lor folosind doar primele trei aplicații
Arată că există șanse foarte mari ca o aplicație amuzantă pe care ați descărcat-o acum 5 ani pentru a desena o mustață pe o fotografie a soacrei dvs. nu a fost folosită de atunci. Majoritatea dintre noi folosim doar o mână de aplicații, cum ar fi Facebook, Instagram, Pinterest, Twitter, un cititor de e-mail, o aplicație meteo și cam atât. Și - surpriză! - cele mai multe dintre acestea pot funcționa și ca aplicații web, având în același timp o dimensiune mult mai ușoară.
Aplicația Facebook din AppStore cântărește până la 300 Megabytes (și asta fără conținut!). Dar când mi-am deschis feedul Facebook în browser, am descărcat doar 3Mb de conținut. Da, de 100 de ori diferență.
Un alt dezavantaj imens al aplicațiilor mobile este descoperirea lor. Pentru a descărca o aplicație dintr-un magazin, trebuie mai întâi de toate să o găsiți acolo (ceea ce înseamnă că trebuie să știți exact ce căutați, altfel va trebui să vă târâți prin tone de porcării prezentate), faceți clic pe „Descărcați”, confirmați, sunteți de acord cu termenii, introduceți parola, așteptați descărcarea aplicației, așteptați instalarea bla-bla-bla ... Până când s-a terminat, s-ar putea să uitați cu ușurință ce ați căutat pentru început.
Potrivit lui Gabor Csele, un manager de produs în Google, într-o aplicație mobilă, fiecare pas pe care îl faceți să efectueze un utilizator înainte de a obține valoare din aplicația dvs. vă va costa 20% din utilizatori.
Graficul de mai sus compară cât durează un utilizator din momentul în care a descoperit o aplicație până în momentul în care a deschis-o efectiv, pe web și pe un telefon mobil. Diferența este de 40 de secunde și este o perioadă lungă de timp pe scala internetului. Frumusețea unei aplicații web este că este extrem de ușor de descoperit, la fel ca un site obișnuit - pe Google, faceți clic pe link pentru a o deschide și gata, aveți aplicația pe dispozitiv, gata de rulare.
Este greu de crezut, dar în doar un an din mai ’15 până în mai ’16 descărcările de aplicații mobile din SUA au scăzut cu peste 20%.