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

Jan 04, 2019

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

web-game-development-with-phaser

Creating web-based games is much easier than you can imagine. We added Phaser based game as an “easter egg” to our website in order to show you how powerful it is.

Feb 07, 2019
Read more
transition-from-angularjs-to-angular

Upgrading your application from AngularJS to Angular 7 can be seamless and painless if you know how to deal with it. Angular 7 is way ahead of its predecessor in terms of productivity and efficiency, and if you are not taking its advantages yet, it is a high time to do so.

Jan 10, 2019
Read more
importance-of-proper-request-handling

A Number of network requests grows rapidly and it is important to pick a proper way to handle them. Let’s check the most popular approaches.

Jan 07, 2019
Read more
spa-vs-mpa-pros-cons-and-gotchas

There is no easy answer to the question what kind of application you should build: single-page or multi-page one. Let’s check benefits and drawbacks of both.

Jan 04, 2019
Read more
can-a-modern-pwa-become-a-real-competitor-for-native-applications

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

Jan 04, 2019
Read more
the-development-of-mobile-applications-on-html

It is time for hybrid mobile applications. What do you know about them? Let's figure it out.

Dec 04, 2018
Read more
effective-online-shopping-platforms

There is no better place to sale your product or service than the Internet. You should know how to do it.

Nov 06, 2018
Read more
development-of-the-erp-system

Sales. Marketing. Support. Everything in one place - build your ERP System.

Oct 05, 2018
Read more
mobile-application-development

Having a mobile application today is not about "looking good, it is about "being good".

Sep 06, 2018
Read more
website-promotion-lifehacks

Trying to find your customer, be as attractive as you can. List higher - earn more.

Aug 10, 2018
Read more
website-development-must-have

It is not a luxury to have a website today, it is a must-have to keep-up with trends.

Jul 27, 2018
Read more

Contact Us

We have a good offer for you

Server error. Please, try in a few minutes again