A mobil most a web forgalmának több mint felét teszi ki, és a webes alkalmazások lehetővé teszik a felhasználók számára, hogy a rivális natív alkalmazások böngészőjében dolgokat végezzenek, de van egy probléma: a kapcsolatok és eszközök minősége hatalmasan változik a világon.
Vendéglátás mind a felhasználók, mind a villámgyors kapcsolatok Szöulban, és a felhasználók a vidéki India egy elavult telefon, a legújabb használhatósági kihívás, és a progresszív webes alkalmazások a megoldás.
PWAs használjon progresszív növelése betölteni a legfontosabb tartalom az első, majd adjunk hozzá prezentációs és funkcionális extrák szükség, ami azt jelenti, hogy az összes felhasználó kap ugyanolyan alapvető élmény a lehető leggyorsabban. Ha el szeretné érni a lehető legszélesebb közönséget, a PWAS az út.
Bár a progresszív webes alkalmazások sok előnyöket és funkcionalitást hoznak az interneten, nem igényelnek átírni az egész alkalmazást. Bármely alkalmazás átalakítható PWA-nak, néhány extra réteg hozzáadásával.
A legjobb eredmény érdekében nagy hangsúlyt fektethet a teljesítményre a kezdetektől - de ez igaz minden webes alkalmazásra. Itt járunk a lépcsőn, hogy az alkalmazás progresszív legyen.
Ha sima futóhelyet szeretne építeni, győződjön meg róla, hogy a web hosting a helyszínen van, és tisztességes weboldal építője .
Légy őszinte: Mindenesetre meg kell csinálnod. Az SSL egy extra biztonsági réteget ad az interneten, segítve a felhasználókat biztonságban a webhely használatával. A PWAS-val a HTTPS elengedhetetlen a szolgáltató munkavállalók használatához és a kezdőképernyő telepítéséhez. SSL-tanúsítványt vásárolhat a domain regisztrátorából kis költséggel, majd konfigurálhatja azt a hosting szolgáltatáson keresztül.
Az alkalmazáshéj az első dolog, ami betölti - az első dolog, amit a felhasználó lát. Teljesen az index HTML-dokumentumban kell lennie, az Inline CSS-vel, hogy biztosítsa, hogy a lehető leggyorsabban jelenjen meg, és a felhasználó nem bámul egy fehér képernyőn hosszabb ideig. Az alkalmazási héj a progresszív javítás mintázatának részét képezi. Az alkalmazásnak a lehető leghamarabb megadnia kell a felhasználói tartalmat, majd fokozatosan fokozza azt, mint több adat (valószínű JavaScript) terhelés.
Az alábbi példa egy React.js alkalmazásból származik. A felhasználó az alkalmazás körvonalával és az index.html betöltésével jelenik meg. Ezután, miután a JavaScript terheléseket és reagálni kell, a teljes alkalmazás a héjban van.
& lt;! - index.html - & gt;
& lt; test & gt;
& lt; div id = "root" & gt;
& lt; div id = "konténer" & gt;
& lt; div osztály = "belső konténer" & gt;
& lt; div id = "fejléc" & gt;
& lt; img src = "/ eszközök / icon.png" alt = "logo" / & gt;
& lt; h1 & gt; chat & lt; / h1 & gt;
& lt; / div & gt;
& lt; div id = "rakodótartály" & gt;
& lt; img src = "/ eszközök / icon.png" alt = "logo" id = "betöltő" / & gt;
& lt; / div & gt;
& lt; / div & gt;
& lt; / div & gt;
& lt; / div & gt;
& lt; / test & gt;
// index.js
Reagrestem.render (
& lt; app / & gt;
document.getelementbyid ('Root')
);
Ahhoz, hogy megérintse a PWA Goodies teljes spektrumát (Push Értesítések, gyorsítótárazás, telepítés kéri), szüksége lesz egy szolgáltatónak.
Szerencsére nagyon könnyen felállíthatók. Az alábbiakban először ellenőrizzük, hogy a felhasználó böngészője támogatja-e a szolgáltatókat. Ezután, ha igen, akkor továbbléphetünk a szolgáltatási munkavállalói fájl regisztrálásával, itt szerviz-worker.js . Ne feledje, hogy ebben a pontban nincs szükség semmire a fájlba, amelyre üres lehet.
Az alábbi példában azonban megmutatjuk, hogyan kell megérinteni a három kulcsfontosságú szolgáltatási életciklus eseményt. Ezek "telepítve", amikor a felhasználó először látogatja meg az oldalt; "Aktiválja", a regisztráció előtt közvetlenül; és a "Fetch", ha az alkalmazás hálózati kérelmet nyújt. Az utolsó a gyorsítótárazás és az offline képesség szempontjából releváns.
& lt; script & gt;
ha ("szolgáltató" a navigátorban) {
window.addeventlistener ('terhelés, funkció () {
navigator.serviceworker.register ("szolgáltatás-worker.js"). Ezután (funkció (regisztráció) {
// Sikeres regisztráció
konzol.log ("regisztrált!");
}, funkció (hibás) {
// a regisztráció meghiúsult :(
konzol.log ("Serviceworker regisztráció sikertelen:", hibás);
}). fogás (funkció (hibás) {
konzol.log (hibás);
});
});
} más {
A konzol.log ("szolgáltató munkás nem támogatott");
}
& lt; / script & gt;
// szolgáltatás-worker.js
self.addeventlistener ("Telepítés", funkció () {
konzol.log ("Telepítés!");
});
self.addeventlistener ("Aktiválás", esemény = & gt; {
konzol.log ("Aktiválás!");
});
self.addeventlistener ("Fetch", funkció (esemény) {
konzol.log ("Fetch!", esemény.request);
});
Szolgáltatási dolgozók teszik a felhasználók számára, hogy megkapja push értesítéseket az interneten keresztül push API-t. Ahhoz, hogy elérje, megérintheti self.registration.pushmanager a szolgáltatási munkás fájljában. Mivel a push értesítések küldése nagymértékben támaszkodik a backend beállításaira, itt nem merülünk bele.
Ha kezdő egy alkalmazást a semmiből, a Google Firebase szolgáltatás jön Firebase Cloud Messaging viszonylag fájdalommentes push bejelentéseket (emlékeztetőül: győződjön meg róla, hogy tartsa a tervezési fájlokat biztonságban felhő tárolás) . Az alábbi kód megmutatja, hogyan regisztrálhat a push értesítésekre a Push API segítségével.
Navigator.serviceworker.Ready.Then (funkció (regisztráció) {
Ha (! Regisztráció.Pushmanager) {
riasztás ("Nincs push értesítések támogatása");
vissza a hamis;
}
// a "Push Notification" előfizetése a Push Manager-től
regisztrációs.Pushmanager.subscribe ({
Uservisibleonly: True // Mindig jelenítse meg az értesítést, ha beérkezett
})
.hen (funkció (előfizetés) {
konzol.log ("feliratkozott");
})
.catch (funkció (hiba) {
konzol.log ("előfizetési hiba:", hiba);
});
})
Annak érdekében, hogy az alkalmazás telepíthető legyen, be kell tartalmaznia a manifest.json Az alkalmazás root könyvtárában. Ezt úgy gondolhatja, hogy az alkalmazás leírása, hasonló ahhoz, amit az App Store-hoz nyújthat be. Ez magában foglalja az ikonokat, a splash képernyőt, a nevet és a leírást.
Van egy bizonyos konfiguráció, hogy az alkalmazás megjelenik a felhasználó kezdőképernyőjéből: Szeretné megmutatni a címsávot a böngészőben, vagy sem? Milyen színt szeretne az állapotsor? Stb. Vegye figyelembe, hogy megfelelő manifest.json Tartalmaznia kell egy teljes spektrumot ikonméreteket különböző eszközökhöz. Az alábbi kód a manifeszt egyes tulajdonságainak előnézete.
{
"Short_name": "Chat",
"Név": "Chat",
"Ikonok": [
{
"SRC": "/ Eszközök / Icon.png",
"Méretek": "192x192",
"Típus": "Kép / PNG"
}
],
"START_URL": "/? UTM_SOURCE = HOMESCREEN",
"Background_color": "# E05A47",
"Theme_color": "# E05A47",
"Kijelző": "önálló"
}
Ha a felhasználó a PWA-t látogatja meg a szolgáltató munkás és manifeszt, akkor a Chrome automatikusan felkéri őket, hogy telepítsenek otthonuk képernyőjére, tekintettel a következőkre: a felhasználónak kétszer meg kell látogatnia a webhelyet, öt perccel a látogatások között.
Az ötlet az, hogy várjon, amíg a felhasználó érdekli az alkalmazás iránti érdeklődést, majd kérje meg őket, hogy tegyék meg az eszközüket (ez éles ellentétben áll a natív alkalmazás megközelítéssel, amely kéri a beruházást.
De esetleg olyan esetek lehetnek, amikor a telepítési kérelmet különböző helyzetekben szeretné megmutatni, például a felhasználónak egy adott hasznos műveletet. Ehhez elfogjuk a előzetesenstalllombirat Esemény és mentés később, majd telepítse a parancsot, amikor jól látjuk.
ablak.addeventlistener ("előzetesenstalllprompt", e = & gt; {
console.log ("előzetesen telepített esemény");
e.preventdefault ();
// stash az esemény, így később aktiválható.
Ez.deferredPrompt = E;
vissza a hamis;
});
// Ha parancsot szeretne indítani:
ez.deferredprompt.prompt ();
ez.deferredprompt.Userchoice.then (választás = & gt; {
konzol.log (választás);
});
ez.deferredPrompt = null;
A teljesítmény a pwas szíve és lelke. Az alkalmazásnak gyorsnak kell lennie a felhasználók számára az összes hálózati feltételre. A gyorsítótár és az offline képességek segítenek sokat, de a nap végén az alkalmazásnak gyorsnak kell lennie, még akkor is, ha a felhasználónak nincs böngészője a szerviz munkás technológiájának támogatására. Ez a progresszív javítás meghatározása - nagyszerű élményt nyújt mindenkinek, függetlenül az eszköz modernitásától vagy a hálózati feltételektől.
Ehhez egy hasznos metrikészlet a vasúti rendszer. A sín az, amit a Google a "felhasználó-központi teljesítménymodell" - egy sor iránymutatás az alkalmazás teljesítményének mérésére.
A mozaikszó jelentése Response (meddig tart az alkalmazáshoz reagálni a felhasználói műveletek), animáció (vezetésére animáció sebessége másodpercenként 60 képkocka), Idle (a idő, amikor az alkalmazás nem csinál mást a terhelés és cache további eszközöket) és Terhelés (az alkalmazás betöltése egy másodpercen belül vagy kevesebb).
Itt van egy táblázat az értelmes referenciaértékek az alkalmazás betöltésére, amelyet a MEGGIN Kearney, a Tech Writer Google Web Alapjai .
A Google a legnagyobb bajnok nyomja a progresszív webes alkalmazásokat, mint a web jövőjét. Mint ilyen, hasznos eszközt szolgáltatott a PWA fejlesztésének irányításához.
Korábban világítótoronynak nevezték, és krómozott kiterjesztésként szolgáltak, a Chrome 60-tól a Chrome Devtools része, az "Auditok" lap alatt. Milyen világítótorony van a kérelmet különböző körülmények között, és mérje meg válaszát és sikerét a PWA iránymutatásai szerint. Ezután 100-as pontszámot ad neked. Ez ugyanúgy pontot szerezhet az alkalmazás webes bevált gyakorlatokon is.
A következő szöveg a mért értékek listája. A használatban leírást mutat.
Ez a cikk eredetileg a webtervezőben jelent meg; Iratkozzon fel itt .
Kapcsolódó cikkek:
(Kép hitel: blackmagic design) Ebben a cikkben a 3D-s kompozitok szakterületére kerülünk. Feltárás, hogy mi az..
Az alábbi rövid képernyős videók felett, Charlie Davis , a londoni alapú illusztrátor, fedezi, hogyan kell ..
Affinity Designer népszerű vektoros művészet eszköz. Valamint Mac és Windows verziók, a Serif a ..
Képzőművészetet tanulmányoztam és Festési technikák És hosszú ideig teljesen a digitális elképzelés e..
A verzióvezérlést eredetileg a kóddal dolgozó fejlesztőknek célozták meg, mint a több fejlesztő számára, hogy ugyanab..
Szeretném, ha felvennél egy új készséget, de úgy tűnik, hogy megtalálja az időt, hogy leüljön és tanuljon? Adobe Hogy most lejátszási lista legyen lehet, hogy csa..
A székhelyek szórakoztatóak a festékhez, de a sisakrész trükkös lehet, hogy jobbra, különösen az üvegelemre, mert figy..
Ebben a bemutatóban megmutatom, hogyan festeni a misztikus rúnákat, amelyek úgy tűnik, hogy ragyognak. Az izzó dolgok fest�..