Three Perspectives on Progressive Web Apps

Three Perspectives on Progressive Web Apps

August 19, 2019 0 By Peter Engel


My name is Bjarke,
and I’m an app developer for Adapt My name is Christian Asmussen,
I work as frontend lead At Adapt in Copenhagen “Why are we talking about
progressive web apps today?” It’s buzzing! We’re talking about
progressive web apps today Because it’s the browser’s way Of creating a native app feeling One of the main reasons is
that the gap between capabilities for a native app And a web app Has narrowed down to almost nothing “So what makes a progressive web app special?” Well, it needs to be progressive Meaning that it should work for every user,
in every browser On every platform Well, the best quote I’ve heard so far Is that it’s a website that took all the right vitamins What is behind that quote Is that it’s a website that’s full of capabilities A progressive web app is really
a list of many different features And one of them is called fresh The experience needs to be updated All the time You can always get the latest information And you get it, when it actually arrives In web development, some years back There were a discussion Between the distinction of
progressively enhancing websites, Or gracefully degrading them That discussion came about,
when the browser diversity increased And the device diversity increased And so you would have all these different browsers That would work on these different devices And they would have different capabilities So should you create a baseline
and from that remove features Which would be graceful degradation Or should you have a baseline,
and then add features According to the browser’s capability And you would call that progressive enhancement So the whole idea of websites being progressive Stems from this idea of looking at the browser’s
capability and adding features One of the big differences between a
native app and a progressive web app Is that a progressive web app is normally
a lot smaller in size: It’s faster than a normal website Because your phone or your browser
on native as well Has already downloaded this page,
to show you You install a service worker A service worker allows you to get offline support So you can cache stuff in a different way
than you could without the service worker So let’s say that you’re browsing
through a category page And you’re looking at shoes And you’re sitting in the train Let’s say you go through a tunnel And you loose the internet connection With the service worker
we can actually cache into the service worker And you would still see the shoes,
and you could still browse around and refresh the page Even though there’s no internet So you can make… When the application fails, it will not fail
too harshly, it will be a smoother experience “You’re saying it’s cutting edge, Are there any issues with PWAs?” There are still a lot of issues with the
performance of a progressive web app It’s running as a website on your phone This means that it doesn’t get the same
amount of power as a native app The thing is, There’s absolutely nothing stopping you from
making a crappy progressive web app! And one of the things that would, I guess,
make a crappy progressive web app Is a website trying to do too much Down to basics, you could say Offline support, served over https and a web manifest You could say that you have a progressive web app Yea, that enables some features It’s still the users that are our main focus It’s not whether we call these new features… or if we package them in something called a ‘PWA’ So essentially a web app is an application that
runs in a different application Namely, a browser And a progressive web app is a… Is a web app with… Progressive features “Maybe I should ask you, what is a web app?” A web app is an application that runs in the browser “Where would I see a web app?” In your browser “But, could you give me an example
of a web app?” Yea, anything that runs in a browser…