Progressive Web App VS Responsive Website VS Native App

Aykhan Nazimzada
5 min readDec 18, 2020

Are you building a mobile application and unsure whether it should be a Progressive Web App, a Native App or a Responsive Website? I’m going to be talking about all of these things in this article.

Let’s focus on what is a Progressive Web App? You might have heard this which is a very trendy word. Essentially, a progressive web app is a website which just has all of the same features of a normal website. You can create that as an application that can be saved on your mobile phone or your tablet. Now, the thing that makes a web app progressive is the fact that it can be used online and offline. Differently, when you’re dealing with a website while you’re offline, you just can’t access that website through your browser on your mobile phones or tablets. It simply communicates through the network to retrieve new content and cache that content on your local device. It means that you can then use that application offline. Also, progressive web apps can be stored to the actual mobile phone itself. So, usually when you see a progressive web app, it will come up with a message somewhere at the bottom saying, “Add to Home Screen”. This means that the website is actually handled much like normal applications would be on a mobile phone or a tablet. You actually open them like you would a normal application.

What is the point in Progressive Web Apps? Why is Google and Microsoft pushing progressive web apps? Simply because they are still websites which means Google and Bing can still crawl those applications. The obvious benefit of creating a progressive web app compared to a native app is the fact that you only have to create one piece of code. That is one website, and it can be handled just like a normal website. Still, you can deal with the actual application specific to mobile and tablet platforms. So, you’re only dealing with one code base which is fantastic. You’re not having another code base just for a mobile app. There are number of developers out there deal with separate mobile applications using RSS feeds or API requests, but when they change the front-end of their website, they need to change the front-end of the actual native application too. And if they have applications that are on iOS or Android or other mobile platforms, then that’s quite a lot of work. A lot of different developers need to get involved just to change the front-end of those apps. In those cases, progressive web app is suitable because you simply get a single developer to build a website that is progressive.

Now, let’s talk about Responsive websites. A responsive website calculates the width/height to display things in different dimensions based on mobile phone’s or tablet’s dimension of their screen. You use media queries to do that so, you can define perhaps minimum weight or minimum height or orientation and more. The biggest disadvantage of using responsive websites in order to make an application is that application just simply won’t work offline. As it is a website, you need to have a browser to actually access that website. Like I said, responsive websites use media queries to design and define the particular orientation, so you also need to have various different devices on hand to test all of those kind of things. Maybe, you don’t need to have anything that is cached locally on an application, in this case, responsive web apps is the best thing to do, and not so much to do with the progressive web apps.

In this place, let’s talk about Native apps. So, these are applications that are created in their native programming languages and ecosystems. For instance, XCode for Apple, Java for Android, and other programming languages for the other platforms that are available. Now, the problem with this is that you obviously need to have talented developers in those fields. If you have an application that is on more than one platform, then you need to have more than one skillset available to you whenever you go and do an update. This is why a lot of people are pushing for these progressive web apps or just simple responsive websites that allow web developers to actually build these applications.

If you’re making mobile games, then, I don’t recommend progressive web app. I certainly don’t recommend just responsive websites as well because you want to have people playing your games offline. I recommend just native apps at the moment. I recommend dealing with Android, dealing with XCode because you’re going to be using all of those features; those rich graphical features native platforms support. They are very in tune with their hardware, so you can’t do all the graphic intensive hungry stuff on these kind of web apps that we’re talking about with the responsive websites or with the progressive web apps. Because they are literally just websites. So, you need to make a distinction of that is your application requires all the hardware and the certain specific features that these mobile phones or devices support? Or is this simply just a some version of a website that I can provide to my customers and my clients that will allow them to communicate? Or do they need to have access to website offline?

If it needs to be reachable when it is offline, then perhaps choice can be progressive web app. If you don’t need to have it offline, then just use responsive websites. And of course, if it is incredibly technical, then use the native applications. I guess that is kind of where I would go in my flowchart when a client comes to me and says, “you’re a freelance mobile app developer, and I want my websites to have an application”. This is kind of the thought that how I would break that down, and how I would give the recommendations to the client. That’s all for today. Thanks for reading till the end (hopefully)!

--

--