DEV Community

Aditya Modi
Aditya Modi

Posted on

Progressive Web Apps - Blurring the Lines between Web and Mobile Apps

Progressive Web Apps

Steve Job jobs kicked off the smartphone revolution when he introduced the iPhone and on the iPhone there was kind of mobile browser but it was a poor experience of going online. A year later Apple kicked off the App Store and you've got the native apps and this is a really good way of getting online in interacting with online content and I'm sure you've all use that loads of apps over the last 10 years.

Gmail app for sending emails, Twitter for sending tweets, and Snapchat for sending two delightful pictures of yourself. Talking about view time with those apps, I'm sure you would have spent many weeks and months playing Flappy Birds

Since 2008, the mobile web has increased dramatically.I'm sure that many of you are reading this in Chrome.

What is exactly a Progressive Web App (PWA)?

Well, the idea goes back to 2015 in an article written by Alex Russell, who is a Google engineer. In there, he outlined the requirements for PWA, or progressive web applications. Since then, the whole industry has been working towards progressive web apps. So, Google Chrome supports it. Edge will be supporting it in Redstone4. Even Safari is getting a version of it in11.3, later on this year.

What makes progressive web apps unique are its abilities. For the first time, web applications can work offline and in the background,and that's done through a thing called service workers.

Think of service workers as little web components that work in the background. They pull in notifications. They cache app data. That's how they work offline. When you launch a progressive web app, it doesn't look like you're in the browser. It looks like an application.

instagram-native-and-pwas

For instance, Instagram has a PWA. If you go to Instagram on your Android phone, assuming it's a modern one, and you log in, you'll be asked if you want to pin this to your start screen or your application screen and would you like to receive notifications. Once you do that and then you open that app, it looks just like the regular Instagram application. In fact, the scrolling is better than a native app of Android, which tells you a lot.

Progressive Web Apps vs Native Apps

PWA Features comparison with Native apps

Native apps have a huge benefit in loads of areas: they are fast and quick to respond. You've got a really nice icon that you can click on. As soon as you click on that, you get really nice ‘scaffolded’ app screen that comes up. Let's say you go onto Facebook. It's kind of a nice blue look and you have a Facebook icon.

Benefits of Native Apps

When I get my Twitter wrap up,I've got a load of tweets there. From Twitter app, I can see those straightaway there's no going into Chrome and trying to find a URL and load up a page.

Apps also have a smooth consistent, self-contained UI that looks really good on your smartphone. The best part is this that native apps works consistently well offline.

PWA vs. Native Apps

If you are checking your emails in no dead zones, that's not a matter. You can check your emails in basements, tube stations, and other no coverage areas the app seized during the day. You can even reply to those emails. When you come in coverage area, it goes and all works well.

App Development can be Painful

Native app development can be painful. There are different languages between Android and iOS. You got Java. Perhaps, your funk-in-hipster uses Kotlin. Otherwise, you're using Swift. You can use React Native and still have to change the way you develop a whole load of things.

In React Native, you have to do different stuff depending on the platform you're on and even then you can have to develop differently for the web. You're already developing for three different platforms. It's expensive to develop.

If you want to release apps on the web, it goes to your customer straightaway whereas a native app you have to go through app stores’ certification. There are separate app stores for Android and iOS.

Progressive Web Apps to the Rescue...

One of the best things about progressive web apps is it used web standard technology. It uses JavaScript. It uses JSON.

It got most of the benefits of native apps, including performance and UI tweaks.

Write once work everywhere. You just build it once and hopefully it should work everywhere. You have one team. Maybe you need a few tweaks depending on the target platform.

What does Progressive Mean?

In the old days, we just have static HTML pages and then JavaScript came around and we wanted to enhance our pages. JavaScript can make the app faster and feel better but if you didn't run JavaScript, it would still work. It's a kind of the same thing. Progressive enhancement is a whole bunch of features that you can add to your app. There's a level that Google lists and each of these should improve the experience for the customer. If their platform doesn't have one of those features, it shouldn't break your app.

Progressive web app is a case of extra technologies. They can add to the performance of your app. With more of the features, the benefits across desktop and web kind of always keep comparing against native apps but a lot of these performances are also on the website.

If you have a website you don't really care so much about your mobile customers, a lot of these technologies can really improve the performance of your websites.

Discoverability and Future of App Stores

Since progressive web apps are websites at the end of the day, app stores don't need permission from their publishers to publish on their platform. All they're doing is putting websites in the store. They will act much like websites directories. App stores will have to look at PWA sites that are live right now and if they meet certain standards, they're going to be putting these in the store automatically. So, we can expect probably a couple hundred maybe even a thousand of these things to all of a sudden show up in the store.

Now since no money is being transpired here, the app store is not making money on ads through these things. It's all just pulling in a website from a company. There's no reason there that a company needs its permission. Twitter is Twitter. If Twitter wanted to deny a PWA on Windows10, they would be effectively saying, you can't go to twitter.com on your web browser, which would be insane.

By putting progressive web apps right in the store and it's going to be therefor users but without the discoverability problem of having to go to the website,log in and then pin it to your start screen. It's a unique thing and it should be happening a lot more in coming times.

What is the State of Progressive Web Apps Right Now?

Many progressive web apps are already out there, including Google Maps. You can pin it to your start screen and have a PWA of Google Maps that uses your location and works just like the app itself.

Starbucks has a preview version. If you go to app.starbucks.com on your phone,you can see it there, log in, and pin that to your start screen and that is a PWA, as well. You also have Twitter, you have Instagram,you have Tinder, you have Uber, and you have Lyft. Even Pinterest has a PWA. All the major companies are embracing this, because again, companies hate paying developers. They would rather just have a web developer, make a PWA website, and call it a day.

What does the Future Hold?

I also expect a lot of banks to jump into this because maintaining a banking app is super expensive. There's a lot of security involved. There are many laws, in effect,that they need to be compliant with. That's one reason why Windows 10 always had an issue with banking apps. They're very expensive to maintain.

But, what is always maintained? A banking website. In fact, that is updated even before any iOS and Android apps. So, if a bank can maintain a PWA website, well that's a win-win for everybody, including them and their consumers.

CTA2 - PWA

The post Progressive Web Apps - Blurring the Lines between Web and Mobile Apps was originally published on TOPS Infosolutions

Top comments (1)

Collapse
 
cris_tineo profile image
Cristian Tineo • Edited

Progressive Web Apps bridge the gap between websites and native apps, offering seamless user experiences. Imagine a branding agency in Las Vegas, Nevada, leveraging PWA technology for immersive client interactions.