Can a modern PWA become a real competitor for native applications?

Jan 04, 2019

In this article

  1. Progressive Web Apps arise
PWA approach has already changed the way how we treat websites and brought a great alternative to native applications.

When the progression goes gradually, step-by-step, it may be complex to evaluate its significance… A couple years ago a web platform was worse than native application in every aspect and the difference between browser options and available applications in Google Play Store/ Apple App Store was huge.

A lot has happened since that and the development of web technologies speeded up accordingly. It went in the way to remove restrictions. Moreover, it sought to the option that was fundamentally impossible before - to work offline, to synchronize data, push-notifications, one-click login support, and payments via credit cards/Apple Pay/Google Pay/others. For now, it became the reality. These functions organically augment the base part of the platform - HTML/CSS and JavaScript.

The development of web standards hit the developer’s spot. Many of them think that the development with web technology usage is much easier and cheaper. If we take a look at a modern desktop application, we may see that most of them were written with Electron - a framework that allows writing applications for Windows, Linux, and macOS, based on web technologies. As an example, we may see Visual Studio Code, Slack, Skype as desktop applications that were written with Electron.

On the other hand, the cross-platform is actual as never before. The support of independent code bases for iOS and Android costs a lot. This is the reason why developers more often choose cross-platform technologies even for native applications. Nowadays, the most popular cross-platform technologies are React Native, Xamarin, and Google’s Flutter. So, PWA’s gave us everything we dreamt of - the quintessence of cross-platform applications.

When we talk about removing restrictions, we must take WebAssembly in mind. Nowadays, de facto there aren’t almost any code execution speed restrictions in a browser thanks to this technology. It is possible to reach productivity that is twice less the Native C code that works straight in the OS. And this is not the limit!

Access to an OS and hardware capabilities of user’s devices was another field where we may meet web platform restrictions. These restrictions also remove gradually. However, this process moves more slowly within iOS rather than Android. When we talk about the interaction with OS, it should be mentioned that some techs appeared on the technology market:

  • Clipboard API - to work with clipboard data;
  • Presentation API - to detect a connection of a second monitor/projector and data display control on it;
  • Web Share API - for the integration of a system dialog.

We should also keep in mind that web applications have opportunities that are unapproachable for native ones. It refers to an application spread, a user attraction cost, and an absence of dependency on owner’s will and update checkout speed.

Progressive Web Apps arise

When we talk about web applications that are alike native ones in such aspects as User Interface, User Experience, work speed, and variety of options, we use a term PWA - Progressive Web Applications. PWA is not a framework or SDK. It is rather an approach or even a philosophy of how should a modern web application be built.

In terms of technologies, PWA uses modern web standards that are available in browsers, and nothing more. The approach named PWA doesn’t impose specific restrictions on an application itself. For example, PWA can be a Single Page Application. The only things that matter: is to give an opportunity to users to interact with your application, and to use the approach of so-called ‘progressive’ improvements - i.e. the more modern browser is used, the more options a user will get.

The main feature of PWA is offline work support via Service Worker mechanism (and an opportunity to add application icons on a user’s device desktop).

The ripeness of Service Workers technology approves the fact that all popular tools for SPA creation either support the generation of Service Workers into one team (like it was realized in Angular CLI) or even generate Service Worker by default as it is in create-react-app.

If you develop a new application, I would strongly recommend starting ещ add options in order below. All these listed options can be grouped or used separately.

  • Add Service Worker, realize cashing and offline workflow
  • Add Web App Manifest (manifest.json) for supporting of application installation
  • Realization of fone data synchronization support - Background Sync
  • Realization of sharing - Web Share API
  • Realization of payment support with Payment Request API, if your application requires payment tools

Blog

an-introduction-to-the-bun-javascript-runtime

An Introduction to the Bun JavaScript Runtime

JavaScript continues to stand as the cornerstone of modern programming languages. Amidst this ever-evolving landscape, a new player has emerged — the Bun JavaScript Runtime. This groundbreaking runtime environment promises to redefine the way developers conceive and execute their JavaScript applications.

Dec 06, 2023
what-are-the-emerging-trends-in-web-development

What Are The Emerging Trends In Web Development?

Can you fathom the lightning speed at which the web development landscape is evolving? It feels like just yesterday we marveled at parallax scrolling, and today, we're taking a quantum leap into the captivating realm of 3D.

Nov 17, 2023
10-most-helpful-js-open-source-projects

10 Most helpful JS Open-Source Projects

JavaScript stands out as one of the most versatile programming languages today. Its popularity is rooted in its integral role alongside HTML and CSS, forming the cornerstone of the World Wide Web, allowing us to shape the Internet as we know it today.

Nov 08, 2023
types-of-web-applications-choosing-the-right

Types of web applications: choosing the right one for your business

Web applications are steadily taking their place on the internet and continue to evolve. This is due to their ease of use and readiness for use on mobile devices. In turn, frameworks for their development are evolving (and new ones are emerging).

Oct 10, 2023
saas-the-actual-technology-stack-in-2024

SaaS: The Actual Technology Stack in 2024

SaaS is a convenient model for both customers and software providers. It eliminates the need for the end user to purchase and maintain infrastructure while the vendor receives constant profit due to the subscription model.

Sep 27, 2023
using-chatgpt-in-projects-development-today

Using ChatGPT In Projects Development Today

Apart from text-to-image models, one of the landmark events of 2022 was undoubtedly the ChatGPT model.

Sep 06, 2023
artificial-intelligence

Artificial Intelligence In Logistics: How To Apply AI In The Supply Chain?

Artificial intelligence is taking a bigger place in our lives every day.

Aug 16, 2023
real-world-ai-applications-retail-autonomous

Real-World AI Applications: Retail, Autonomous Transportation, Engineering, And Manufacturing

Welcome to the age of AI, where technological marvels have seamlessly woven into the fabric of our daily lives. With scientific advancements in artificial intelligence and computer vision, our world has changed profoundly, shaping how we interact with technology and each other.

Aug 01, 2023

Contact Us

We have a good offer for you

clock

15 minutes of consultation

shield

Strict non-disclosure policy

window

Involvement of High-Level Developers to your Project

hand-shake

Fruitful Cooperation & Prominent Increment

Server error. Please, try in a few minutes again
Call Back