In 2015 Alex Russel, an engineer at Google announced
Progressive Web Applications for the first time. In short, Progressive web apps
are web apps with the functionality and design of mobile apps. With this the
user can have an app-like experience on web pages or websites without
installing any application. So, the user can even use it offline while adding
the link to the web app in the home screen that looks like a native app. PWAs combine the flexibility of the web with
the experience of a native application. It's not that obvious if a web app is a
PWA or not from first glance. An app could be considered a PWA when it meets
certain requirements, or have implemented a set of given features such as,
- Progressive - so it's still usable on a basic level on older browsers, but fully-functional on the latest ones.
- Responsive - Fits any form factor: desktop, mobile, tablet, or forms yet to emerge.
- Network independent - so it works offline
or with a poor network connection.
- Installable - so it's available on the
device's home screen.
- Fresh - Always up-to-date as to the
service worker update process.
- Safe - Served via HTTPS to prevent
snooping and ensure content hasn't been tampered with.
- Discoverable - Are identifiable as
“applications” from W3C manifests and service worker registration scope
allowing search engines to find them.
- Re-engageable - Make re-engagement easy
through features like push notifications.
- Linkable - Easily shared via a URL and do
not require complex installation.
PWAs are web apps developed using a number of specific
technologies and standard patterns to allow them to take advantage of both web
and native app features. They represent a new philosophy for building web apps,
involving some specific patterns, APIs, and other features. There are tools to
measure the completeness of an app in percentages. Lighthouse is currently the
most popular one. There are three main requirements to develop a progressive
web application,
- Use HTTPS.
- Have a Valid Web Manifest.
- Register a Service Worker with a Fetch Event Handler.
- The name of the web application
- Links to the web app icons or image objects
- The preferred URL to launch or open the web app
- The web app configuration data for a number of characteristics
- Declaration for default orientation of the web app
- Enables to set the display mode e.g. full screen
The web app manifest is a W3C specification defining a
JSON-based manifest to provide developers a centralized place to put metadata
associated with a web application including:
This metadata is crucial for an app to be added to a home
screen or otherwise listed alongside native apps. Developers want more control
as to when their apps show the banner. For example, if an airline site has a
PWA for storing boarding passes, it only makes sense to ask people to install
it after they have actually bought a ticket. For a news site, users are logged
in, it might make sense to show the prompt immediately. And in some cases, even
if you have a fully qualifying PWA, you might not even want to show the prompt
at all. But most probably, you would want to define your own criteria in your
app to determine who’s a loyal enough user to show the banner to.
Developing a Progressive Web App has no relation to
what-so-ever language you choose to develop your web app in. If you’re hands
down on Angular, it would be much faster development. jQuery helps you build
multi page applications easily. In ideal web apps, Angular, Polymer, React,
jQuery or vanilla JavaScript are even used together for different sections.
If starting from scratch (as opposed to migrating an
existing app) React is probably the best framework to go for since it now (with
React PWA) integrates PWA to its create react app functionality by default. So,
if you run create react app you can proceed with your app creation in a really
fast and straightforward way, assuming you are familiar with React. All that it
takes to make any web application a PWA is for it to be served on https, have a
web manifest and use a service worker for offline functionality and any extras.
That means that you can really use any framework or none to create a PWA. If
it's going to be a complex application using multiple caching strategies for
different routes and assets, using Google's workbox library is the way to go.
If it's quite simple then running something like PWA builder on your website
will be enough
For Users
PWAs are actually created to increase the user experience of
websites. According to Google report, 53% of mobile site visits are abandoned
if it takes longer than three seconds for them to load. Progressive Web Apps
solve this problem well. PWA combines the best of the web and native
applications and users get full app experience without even installing an app.
Since 2016 users lean more and more towards the usage of PWAs. So, the PWA
demand grows fast enough to developers to encourage implementing more PWA
sites. Some of the biggest brands in the world already saw the benefits.
Forbes’ PWA increased impressions per visit by 10%. Alibaba increased mobile
conversions by 76% and Twitter saw a 20% decrease in bounce rate. Progressive
Web Apps are now supported on the desktop also so the desktop users can now
have the PWA experience. Twitter has adopted PWA technology to improve the
mobile engagement and reduce the data usage of its users. The social media
giant has 328 million monthly active users all around the globe, among which
80% are mobile users. This PWA has significantly met their expectations and the
following results were observed. 75% increase in Tweets sent 65% increase in
pages per session 20% decrease in bounce rate Reduced data consumption as much
as 70% by optimizing the images.
One of the most amazing features of PWA is that it is easy
to update. Since there is no app store that works as a mediator, users can
enjoy the updated app as soon as website have updated it from there side.
Making the user install an app from the store can be a pain in the neck. But
with a PWA the user can install the app with just one tap. This frictionless
installation lets users enjoy service instead of installing the bulky native
app.
Future
Google compared top 1000 mobile apps vs. top 1000 mobile app
properties (web) to study the reach and user engagement. The results of the
comparison showed a great disparity in user behavior. According to the study,
mobile web reach is way higher than native app reach. It was 11.4 million
unique visitors per month compared to 4 million visitors. Whereas the stats of
user engagement with services showed that users tend to spend more time on
native mobile apps compared to the mobile web. It was an average of 188.6
minutes on app against 9.3 minutes on the web. So, the idea was clear. They
wanted to provide a native app like engaging experience to users on the mobile
web. In this way, Progressive Web Apps were developed to deliver amazing user
experience on the web. And it was successful, since 2016 the PWA reach
increases higher. So, in future more and more progressive web apps will be
build and might overcome the native apps since it has the both good qualities of
both the website and native app. Some companies tend to build a PWAs because
building a web app and a native mobile app is too costly. In future there might
be even web apps for games and the PWA trend will catch up. So, a user can play
a game just as easy without downloading any application from an app store. In
Chrome 70, PWAs in Windows 10 function like regular apps. That means they
support notifications, Live Tiles and Cortana, and they’re accessible from the
Chrome menu, the Start Menu or as a pinned app on the taskbar. And they’re
available in the Microsoft Store. First it was only available on chrome since
PWA was invented by google now web browsers like Microsoft edge and opera are
catching up supporting Progressive Web Apps.
In my opinion this is a brilliant idea, because all the
parties users, developers and company owners have benefits from PWAs. All of
us, the users should tend to use PWAs more than native apps so the development
on this area will grow faster. Brands and organizations like Starbucks,
Twitter, Burger King, Home Depot and NASA are all switching to PWAs. Since very
large companies are now making them the development is going the right way. I’m
not saying we should abandon native apps totally, because there are things that
cannot be done only by a website. But it is going that way for example google
maps now have a PWA site, imagine you don’t have to wait for the google maps
app to load, that it loads as fast as you click on the PWA icon of the google
maps. Also, it has most of the functions of it. In Instagram’s PWA site have
the camera option. There is an app called Lyft it’s a transportation network
company which shows live cab locations. The best part is that Progressive Web
Apps comes with the better pats of both websites and native apps which are
smooth and not laggy scrolling or usage of the websites and app like quick
access from home of the phone tablet or even desktop.
Author:
Tharindu Kumarasiri
ABOUT THE AUTHORS
We are here to share with you everything about business, fashion, technology, communication and many more things. Make sure to stick with us to discover the original state of the art.
0 comments:
Post a Comment