There’s been a recent flurry of articles about web components, with advice on how to shape them as extensions of HTML. I decided to dig in, and see how these ‘HTML web components’ could become a part of my own workflow. Despite a few rough edges, I’m excited to see…
If you haven’t read parts 1 and 2 yet, you may want to start with the introduction to responsive web apps, native mobile apps, and progressive web apps in part 1 (along with a comparison chart for quick reference).
Read all three parts to compare app types:
- When to Choose a Responsive Web App
- When to Choose a Native Mobile App
- When to Choose a Progressive Web App (this article)
TL;DR – If your top priority is some combination of wide reach and advanced capabilities, you will want to investigate the progressive web app option for your project.
Many of the biggest companies (Google, AirBnB, Twitter, Microsoft, etc.) use PWAs for their products alongside or in place of native apps. Check out this directory of PWAs. You may discover you’re already using one!
Lower Development & Maintenance Costs
Choose a progressive web app when it’s important to keep initial development costs low.
Just like responsive web apps, progressive web apps require just one codebase to be available on any device with a web browser, while providing users with a native-like experience. This makes PWAs less expensive to develop and maintain than a native mobile app, which requires unique codebases for each device. Depending on the amount of special capabilities you need to add, however, a PWA can cost more than a responsive web app.
Faster Development & Updates
Choose a progressive web app when it’s a priority to make your app available to users quickly.
PWAs have all the same advantages of responsive web apps when it comes to speed of development and updates. Developing only one codebase takes less time than developing separate native mobile app codebases for each device. Updates require fewer specialized technologies and can be done incrementally. On the other hand, packaging your PWA for inclusion in app stores takes additional time, and requires going through the app store approval process.
Discoverable Via Search Engines & App Stores
Choose a progressive web app when the people you want to reach will look for your app with a search engine and in an app store.
If your user research shows that people search for the type of content you offer in app stores and via web searches, a PWA can help you reach all those people more effectively than either a responsive web app – which isn’t available in app stores – or a native mobile app – which doesn’t appear in web searches.
Since PWAs are a type of web app, search engines like Google will automatically index them and include them in search results. Various tools such as PWABuilder essentially wrap up a PWA like a native app for inclusion in Google, Apple, and Microsoft app stores.
Choose a progressive web app when you want to reach a broad audience across various devices.
If your budget allows, PWAs can reach a broader audience than either responsive web apps or native mobile apps. With a single codebase, people can access the PWA on any device with a browser. They can find it from a search engine and, with some extra packaging, in any app store. They can access a PWA via the internet or download it onto their phone like a native mobile app and use it offline. Like RWAs, PWAs take advantage of the web’s high level of backward compatibility, meaning people on older devices will retain some level of access.
Choose a progressive web app when you want to reach a broad range of people while keeping costs down as much as possible, but need some specialized device capabilities.
PWAs are better than native mobile apps or RWAs at providing a balance between reach, cost, and specialization. If you need to be able to send alerts or push notifications to people even when they do not have the app open on their phone, PWAs can do that just like native mobile apps, whereas RWAs cannot.
If you cannot afford to build and maintain more than one codebase, but people using your app may have limited or sometimes no access to the internet, a PWA is likely the best option. While it may not perform as seamlessly as a native app without internet access, people can download a PWA onto their phone and access the content offline without an internet connection.
Accessing an RWA requires opening a browser, but people can access a PWA via an icon on their phone’s home screen just like they do with a native mobile app. This is not just a shortcut to a website, but rather a standalone application completely independent from the browser interface.
Check out and test all the PWA capabilities on What PWA Can Do Today.
In a nutshell, if your budget and timeline is quite constrained and you don’t need any special capabilities, then the best option is to build a responsive web app instead of a progressive web app. When you have additional budget and more information about the needs of your users, you can always turn the RWA into a PWA. On the other hand, if you do have plenty of budget and highly specialized needs that require full integration with a specific mobile device, a native mobile app is a better option than a progressive web app.
Thanks for joining this three-part series to dig deep into responsive web apps, progressive web apps, and native mobile apps. If you have questions or additional thoughts, please contact us or get in touch on Mastodon.
If you’ve decided that either a responsive web app or a progressive web app is the right platform to build your digital product, we specialize in designing and developing both types of apps. Check out our past work and let’s chat! If you’ve determined that a native mobile app is what you need, let us know and we can help refer you to experts in the mobile platform of your choice.
Still not sure which platform is right for your digital product? Go back and review the comparison chart while you muse.
A push notification is an alert (typically a pop-up or other message) generated by an app when the app is not open, notifying the person of a new message, update, etc. ↩︎
- Article post type
- Article post type
Do you want to make your website or web app more intuitive for the people who visit? If so, I’d like to introduce you to the world of Object-Oriented UX. As a UX designer at OddBird, using OOUX strategies to identify and avoid unintuitive objects has been key to…
- Article post type
SQLAlchemy is a Python library for interacting with relational databases. It is a popular alternative to Django’s ORM used by frameworks such as FastAPI. In this article we will help curious Django developers write their first queries with SQLAlchemy, and highlight key differences.