Top Banner
WEI LUN HUANG 1 p1 Web Development - Progressive Web App WEI LUN HUANG
14

Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

Aug 15, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEILUNHUANG 1

p1

WebDevelopment-ProgressiveWebApp

WEILUNHUANG

Page 2: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEI LUN HUANG 2

IntroductionofProgressiveWebApp

BecausetheearlyWebAppisstillnotabletorunoffline,receivepush

notificationsorlinksintohardware0,GoogleofferedChromeAppservicesince2013.

However,bycontinuingoperatewithwebstandardorganization,Googleannounceda

newapproachfordevelopingwebappsforAndroidinthe2015WebSummit

Conference.TheinnovativetechnologyprovidesServiceWorkerandWebPushand

advancedAPItobuildthemutil-browsercrossingapplicationcalled“ProgressiveWeb

App(PWA)”.PWAwillbeabletousein-devicehardwarelikepushnotifications,and

offlinework.Inaddition,therewillbeotherfeaturesdirectlyinstallintouserdesktop,

suchasaddinganicontothehomescreen,launchinginfull-screenwithURLbarand

displayingasplashscreeneffectthatusesadvancedwebcapabilitiesfordeliveringan

app-like(actasNativeApp)userexperience.

Bylookingbacktheevolutionofwebprograms,“XMLHTTPRequest”was

availablewidelysinceIE5andintheGecko-basedbrowser(qwebbrowserengine

usedinapplicationsdevelopedbytheMozillaFoundation1)fromasearlyas2000.

Later,AJAX(themethodofexchangingdatawithaserverandupdatingpartsofaweb

pagewithoutreloadingtheentirepage2)happenedinthenext5years.Recently,PWA

hastakenoverandseemstohavebecomethemainstreamapplication,these

Page 3: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEILUNHUANG 3

principlesofwebdevelopmenthavecertainrulestofollow:UsingURLsandlinksas

thecoreorganizingsystem,havingaccessibilityinmarkupandstylingtohumansand

searchengines,providingadditionaluserinterfaceandsystemcapabilities,and

implementingwithoutpermissionorpaymentinstandards-based3.Brillianttoolsthat

haveattemptedtogainaccesstoallowdeveloperstobuildwithclient-sidetechnology

formobilewebapplications,suchasAdobeAIRApplications,WindowsStoreApps,

Cordova,PhoneGapandotheronlineplatforms.Comparatively,PWAprovidedmore

technologypossibilityandexpansibility.FunctionslikeaccesssystemAPIs,asetof

toolsforbuildingsoftwareandapplications,createblocksforprogrammerstomake

programmingeasiertodevelop4.Usersusedtodownloadentirelypackagednative

apps,butnowPWAprovidesabetterexperiencetoenhancetheimprovementofweb.

FeaturesofProgressiveWebApp

UnlikeNativeAppneedstobedownloadedinGooglePlayorAppleStore,

ProgressiveWebApppresentsanapp-likewebthroughbrowser.Inaddition,PWAis

anexistingappthatcouldbuildwithJavaScriptFramework.Asaresult,thedevelopers

caneasilyimplementwithprogressivewebprogramming.Inthiscase,“progressive”

Page 4: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEI LUN HUANG 4

meansthatthemorefeaturesbrowsersupports,themoreprogressivelyenhancedin

datarenderingcouldbe.Theperformancedependsclient-sidedevices,soifthe

environmentwerenotallowed,PWAwouldevolvefrompagesinbrowsertabstohave

immersive,top-levelapps,andmaintainingtheweb'slowfrictionateverymomentin

ordertoachieveapp-likeexperience5.

ProgressiveWebApplicationsfeaturestakeadvantagetobringthebestofmobile

sitesandnativeapplicationstousers.Thesefeaturesincluded:ResponsiveWebDesign

(RWD),ServiceWorkers,WebAppManifest,andApplicationShell.

-ResponsiveWebDesign(RWD)

ProgressiveWebAppappliedthefoundationofResponsiveWebDesign,whichmeans

thecontextsaresensitiveandcross-platformforbuildinguser-friendlyinterface6.In

otherwords,PWAnotonlybeanAppbutalsoberegardedascomputersoftware.The

datastoresinCloud,andthecontentindifferentdevicesappropriatelyadaptforuser.

-ServiceWorkers

Aserviceworkerisascriptthatyourbrowserrunsinthebackground,separatefroma

Page 5: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEILUNHUANG 5

webpage,openingthedoortofeaturesthatdonotrequireawebpageoruser

interaction.7ServiceWorkersaretoprogressivewebappsasXMLHTTPRequestwasto

AJAX.Forexample,itactsasaclientsideproxywritteninJavaScriptinPWA,soyou

cancache(filesareloadedonceoverthenetworkandthensavedtothelocaldevice)

assetslocally.Nomatterwhatrathernetworktheuserisconnectedto,appsloadnear

instantly.Appscanevenworkofflinebecausetheserviceworkerwillrespondto

networkrequests7.Moreover,serverworkercandefinewhateventhastowakeitup,

suchaspushmessagescanwakeupaserverworker.

Anoverlysimplifiedversionoftheserviceworkerlifecycleonitsfirstinstallation.p2

Page 6: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEI LUN HUANG 6

-WebAppManifestfile

Webappmanifestsstoremetadataforaprogressivewebapp.ItprovidesMetadatato

tellthebrowserhowitshouldlookwheninstalled.Icons,description,colors,and

relatedinfoconvertinJSONformat7thatletsbrowserscreatehigh-qualityexperiences

forthelaunchericon,taskswitcher,andsplashscreen.Smoothanimations,scrolling

andnavigationskeeptheprocesssilky.“Addtohomescreen”functioninbrowserput

thePWAondevices’desktophelpusersre-engages.Inorderfortheappinstall

promptstodisplayinappmustcontainvalidserviceworkerregisteredandWebApp

manifest,beservedoverHTTPS(thesecureversionofHTTP,meansall

communicationsbetweenbrowserandwebsiteareencrypted.8)andbevisitedtwice,

withatleast5minutesbetweenvisits.

-ApplicationShell(AppShell)

AppShellistheminimalwebprogrammingthatisrequiredtopowertheuser

interfaceofPWAandisoneofthecomponentsthatensurereliablyforgood

performance.IntheApplicationShellmodel,server-siderenderingshouldbeusedas

muchaspossibleandclient-sideprogressiverenderingshouldbeusedasan

enhancementinthesamewaywhenserviceworkerissupported.5Itsfirstloadshould

Page 7: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEILUNHUANG 7

beextremelyquickandimmediatelycached.Everyconsecutivetimethatuseropens

theapp;theshellfilesareloadedfromthelocaldevice'scache,whichresultsinrapid

startuptimes.

Manysitesorappsassemblethepageandallofitscontentasonebeforesending

itdowntothebrowser.PWAchangesthismodelbyseparatingthepartsthatchange

oftenessentiallythecontentfromthepartsthatdonotchangeoften.Theappshellcan

supportthecontenttodownloadanddisplayandmayevenstorethecontentinalocal

databasesothatitcanoperatenexttimeonopenonslownetwork.

SpeedIndexinPWAUniversalRenderPerformance.p3

Page 8: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEI LUN HUANG 8

BusinessesinProgressiveWebApp

Theaverageuservisitsmorethan100websitesontheirmobiledeviceevery

month,andexpectationsforspeedandqualityhigherthanever.InContrast,the

averageNativeAppsuseronlyvisits25appspermonthbymobile.

MobileAppusercomparewithMobileWebUserP4

ProgressiveWebAppisaweb-basedapplication,whichcanlightlyinstallintouser

desktop,withoutactuallysearchinganddownloadingintheappstore.Accordingthe

EveryStepCostsYou20%ofUsers(2012),whichwaswrittenbyGaborCselle9,workas

ProductManagerinGoogle,describedthateverystepyoumakeauserperformbefore

theygetvalueoutofyourappwillcost20%ofpotentialusersinaconsumermobile

app.Asaresult,lettinguserexperiencedalongprocessinmobiledeviceswillbe

confusingandlosingofcustomerprofits.

Page 9: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEILUNHUANG 9

Percentageoftypicalconsumerappfunnelp5

Furthermore,theresearchfoundthatitwasexpensivetogetusertoactuallyusetheir

nativeapp.Fiksuisacompanythatkeepstrackingnativeapplicationecosystems.

BelowindexshowsthatthecosttogettingausertotryoutaNativeAppbyusing

applicationadsrangesfrom$1-$2upanddownbefore,andthatnumberhasincreased

from$2ayearagotoover$4today.

TheCPMindex,measuringthecostperthousandadimpressionsacrossawiderangeofexchangesand

adformats,revealstherelativecompetitionformobileadimpressions.p6

Page 10: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEI LUN HUANG 10

Flipkart,India’slargeste-commercesite,decidedtocombinetheirwebpresence

andnativeappintoaProgressiveWebApplication.Afterthat,ittriplesthetimeonits

websitewithefficiencyandhasresultedina70%increaseinconversions.

AnotherexampleisAliExpress,partoftheAlibabaGroupwaslookingforawayto

providetheirwebuserswiththebenefitsoftheirapp,suchastheabilitytowork

offline,performance,andre-engageusers.Finally,theyuseProgressiveWebApp

reachtheincreasingconversationby104%thanbefore.10

BusinessInsider,MostAmericansDownloadZeroAppsEveryMonth,Steven

Tweedie(2014)evenwrote“65.5%ofUSsmartphoneusersdon'tdownloadanynew

appseachmonth.”Thestaticsshowedthatdespiteofpeopleareusingtheappsthey

havemorethanever,onlyapproximatelyathirdofU.S.smartphoneuserschooseto

tryanewapp11.

SmartphoneUser’sNumberofAppDownloadsPerMonthp7

Page 11: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEILUNHUANG 11

ProgressiveWebAppsV.SNativeApps

ThemajoradvantagesofProgressiveWebAppsofferfeaturesthatnativeapps

lackisitcanreplaceallthefunctionsofnativeappsandwebsitesatonce.Inthe

beginning,PWAcanbereliable,loadquicklyandeasilydiscoverthecontentbysearch

engines.Ontheotherhand,thecontent-centricmethodnativeappwillnotshow

amongappstoresearchresultsforcontentcannotexposeitscommunitieswidelytothe

appstoreasindividual.Next,forthereasonthatanypageorscreenhasabookmarkor

directlink,itwillbeeasilytosaveorshareinformationinsocialmedia.Furthermore,PWA

alwayssynchronizefreshdata,thereisnoneedtogothroughtheappstorestopush

updatesanymore.Moreover,PWAhasuniversalaccess(basedonweb),butappstores

havesomerestrictionsandpoliciesincontrol.Finally,PWAcanbeextremelyimportantin

largedatasavinglikeemergingmarketswithslowInternetaccess.Forexample,

e-commercewebsiteKongacutdatausageby92%forthefirstloadbymigratingtoa

PWA.12

However,thedisadvantageofPWAtoNativeAppisitlacksofprivacypermission,

suchasusercontacts,calendar,alarmsandotherfeatures.Usercannotgetaphonecallor

usedevice’sflashlight.Itdoesnotallowaccessingsystemliketaskmanagement,oreven

Page 12: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEI LUN HUANG 12

modifyingsystemsettings.Inthewebsite,Isserviceworkerready13,showsthatnotallthe

browserscansupportserviceworkerrunning.Inaddition,inanotherwebsite,WhatWeb

CanDoToday14,hasseveralpostingsthatlistfeaturesstillnotavailableforweb.Moreover,

PWAisnotfeasibleforSafaritohaveapop-up“addtohomescreen”function.Iwouldsay

thatthegapbetweenWebandAppstillexist.

ProgressiveWebAppFinalThought

ForthenewPWAs’developingstrategy,Googleannouncedthattheydecidedto

terminateChromeappintwoyearsafterduetoWindows,MacandLinuxonly1%user

frequentlyuseit.ThePWAcanbeforecastinginfuturewebfiery-trend.AlthoughPWA

usedtoleavesomeproblemsforcompatibilityiniOSplatform,theprompttoinstall

thewebappiscurrentlyshownundervaryingconditionsacrossOpera,Chromeand

theSamsungbrowser.ApplehasindicatedinterestinprogressivewebappsforiOS,

butatthetimeofwriting,itstillreliesonMetatagsforwebappconfigurationandthe

applicationcacheforofflineuse.Bypayingattentionatnewreleasingproducts,Apple

seemstointegrateappintotheirownsystem.Onthecontrary,Googlewillcontinue

promotingProgressiveWebApptodevelopthewebmore“App-like”.

Page 13: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEILUNHUANG 13

Reference

0RahulRoy-Chowdhury,ProductMangersfromGoogleDevelopmentteam

1Wikipedia,Listofwebbrowsers,Gecko-basedbrowserdefinition,

https://en.wikipedia.org/wiki/List_of_web_browsers

2SegueTechnologies(2013),WhatisAjax,http://www.seguetech.com/ajax-technology/

3InfrequentlyNote(2015),ProgressiveWebApps:EscapingTabsWithoutLosingOurSoul(2015),

https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/

4MuleSoftVideos(2015),WhatisanAPI?,https://www.youtube.com/watch?v=s7wmiS2mSXY

5AddyOsmani,GettingstartedwithProgressiveWebApps(2015),

https://addyosmani.com/blog/getting-started-with-progressive-web-apps/

6JayBryantandMikeJones,ProHTML5Performance(2012Published),Chapter4-Responsive

WebDesign

7W3Cschool.com,JSON–Introduction,http://www.w3schools.com/js/js_json_intro.asp

8InstantSSLbyCOMODO,WhatisHTTPS,HTTPVSHTTPS,

https://www.instantssl.com/ssl-certificate-products/https.html

9GaborCselle(2012),EveryStepCostsYou20%ofUsers,

http://blog.gaborcselle.com/2012/10/every-step-costs-you-20-of-users.html

10GoogledevelopersWebsite,https://developers.google.com/web

11StevenTweedie(2014),BusinessInsider,MostAmericansDownloadZeroAppsEveryMonth,

http://www.businessinsider.com/how-many-apps-people-download-per-month-2014-8

12Googledevelopers,CaseStudy,https://developers.google.com/web/showcase/2016/konga

13IsServiceWorkerReady?,https://jakearchibald.github.io/isserviceworkerready/

14WhatWebCanDoToday?,https://whatwebcando.today

Page 14: Progressive web app3 - Smart LunWEI LUN HUANG 2 Introduction of Progressive Web App Because the early Web App is still not able to run offline, receive push notifications 0or links

WEI LUN HUANG 14

p1Max(2016),IONIC,WhatareProgressiveWebApps?,

http://blog.ionic.io/what-is-a-progressive-web-app/

P2MattGaunt,ServiceWorkers:anIntroduction,

https://developers.google.com/web/fundamentals/getting-started/primers/service-workers

p3AddyOsmani,SpeakDeck,ProgressiveWebAppsAcrossAllFrameworks,

https://speakerdeck.com/addyosmani/progressive-web-apps-across-all-frameworks

p4ProgressiveWebApps-ChromeDevSummit(2015)Video,

https://www.youtube.com/watch?v=MyQ8mtR9WxI

P5GaborCselle(2012),EveryStepCostsYou20%ofUsers,

http://blog.gaborcselle.com/2012/10/every-step-costs-you-20-of-users.html

p6Fiksu,CPMIndex:September2016,https://fiksu.com/fiksu-dsp-indexes/#analysis

p7ComScore’sU.S.MobileAppReport(2014),Insights,

https://www.comscore.com/Insights/Press-Releases/2014/8/comScore-s-US-Mobile-App-Report-Avai

lable-for-Download?_ga=1.27795452.1596473589.1407244908