Web Apps vs. Native Apps vs. Progressive Web Apps

In this article, I will define and outline the abilities of web apps, native apps, and progressive web apps. You will learn how each respective app is unique and how each can affect user interactions. As developers, it would be wise to consider the pros and cons of each type of application before beginning a new project.

Web apps are websites with some functionality and interactive components that are run on web browsers (i.e Facebook.com). While it is called web apps, the app is not literal because it cannot be downloaded directly to a user's device. Web apps are not to be confused with a website. This is a common mistake but while web apps and websites are both accessed and run in browsers like Google Chrome or Safari, websites are more information-based for users to read but not interact with (i.e Wikipedia.org or Google.com). Advantages of using web apps are that they are usually a lot simpler, comparatively, to create (depending on the requirements set) and they allow users to casually view the content without downloading and taking up storage space on their devices. Using a web app to build your site is a great way to reach a wide audience because users are able to access the site anywhere in the world, and on any device. They lack some capabilities like users not being able to access without an internet/network connection, not being able to send push notifications to users, and not being able to install on the device's home screens. Web apps depend on a front-end and back-end to function. The front end is usually made from languages like Javascript, HTML, and CSS because they are compatible with major browsers. The backend is made from multiple programming stacks — a group of programs that create functionality. An example of a backend program is API (Application Programming Interface) which specifies how the front end and backend interact.

Native Web Apps are apps that able to be downloaded directly to a user's device (Facetune, TikTok). The most used Native Apps are iOS (iPhone’s operating system) and Android. iOS is only compatible with iPhone devices while Android is often considered an ‘open platform’ since it is used with/on multiple devices (i.e Samsung, Sony, Lenovo). Some consider the fact that Native apps are only able to be accessed on the user's device it was installed onto a con. But even though Native Apps are only able to be accessed on a specific device, Native Apps have the same reach as Web Apps and Progressive Web Apps. The reach is so far because mobile technology (phones, tablets) is becoming more affordable and accessible. They also load content faster since they are made for their specific devices and have access to all of the elements (classes, objects, functions, methods, etc) and source code cutting out extra layers to access the elements needed. Native App advantages include being able to push notifications directly to users to prompt engagement, work with or without internet/network connections, faster loading speed, and are always available and seen on home pages, app drawers, and taskbars (quick access). The biggest advantage native apps have is being able to interact with other parts of a user's device by asking permission to access data to perform a task. An example is your device accessing your bank cards or contacts to autofill information on apps you’re using.

Progressive Web Apps (PWAs) are mobile sites that use modern/emerging APIs (Application Programming Interface) and Javascript. These APIs allow web apps to have some functionality like native apps while still looking and being able to be accessed like a web app (i.e Twitter.com or most banking sites). PWAs have the ability to be added to a user’s home screen and to send push notifications to the users’ devices to urge interaction. PWAs are not separate from websites, they are more like website enhancements — they optimize the website when being accessed on mobile devices. PWAs are often defined by user interaction but some argue that they should be defined by their capabilities and user reach. In terms of both capabilities and user reach, PWAs excel! Since PWAs are able to be accessed/run in a user’s browser, globally on any device, and accessed without internet/network connection the reach is almost unlimited.

Web Apps vs. Native Apps vs. Progressive Web Apps is an ongoing debate in the software engineering community. After considering the advantages and disadvantages of both, there may not be a clear winner. When deciding what to develop we should consider what type of information the clients want to present, the client’s budget, how accessible and interactive they want their content to be, and projected user reach.

Resources: https://rocketbuild.com/native-app-vs-web-app/, https://www.mobiloud.com/blog/progressive-web-apps-vs-native-apps, https://www.mobiloud.com/blog/progressive-web-app-examples, https://www.mobiloud.com/blog/wordpress-to-pwa, https://web.dev/what-are-pwas/, https://www.mobiloud.com/blog/native-web-or-hybrid-apps, https://www.scnsoft.com/blog/web-application-vs-website-finally-answered, https://www.statista.com/topics/779/mobile-internet/, https://medium.com/swlh/native-vs-non-native-mobile-apps-whats-the-difference-b3a641e06f52.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store