Progressive Web Apps

From MobileRead
Jump to: navigation, search

Progressive Web Apps, PWA, are the newest form of Apps which are now termed Native Apps to avoid confusion.

Contents

[edit] Overview

Progressive Web Apps are derived from programs that used to be written as extensions, or plug-in, for a Web Browser. Like the extensions these are often written in Java. The differ from extensions in that the scope of the full Native App is usually larger where it would replace a full program of possible complicated functions and will often support multiple screens. Therefore they can have access to some device APIs and functionalities that only native mobile applications are expected to be able to access and also have the operating system’s native interface.

[edit] The advantages

The basic idea is to make the app run on a Web Browser that the user already has and is familiar with. The same app is intended to run on various platforms with different OS's. Unlike a regular use of a Browser it may run on a local machine without Internet access, although this is not always a requirement of the app. Using the web may allow the use less local resources. The web may also allow automatic syncing of eBooks allowing you to stop reading on one machine and pickup where you left off on another.

[edit] The disadvantages

It will normally use more power that a fully customize app. It is likely to also be slower since it needs to be interpreted instead of being compiled. The App itself needs to be available on a server that is accessed on the web. Although once started it may run locally. Not everything can work the same depending on features from the OS.

[edit] Source languages

There are different technologies used for building Progressive Web Applications mostly JavaScript based or Java. These include:

  • React: A powerful JavaScript library for building powerful, dynamic and modern User Interfaces.
  • Polymer: A combination of components, tools, and templates primarily for building Progressive Web Applications.
  • Angular: A JavaScript framework for building dynamic web applications, uses HTML as a template language.
  • Ionic: A JavaScript framework for building powerful applications for multiple platforms using one codebase.
  • Accelerated Mobile Pages (AMP): An open-source project for improving the performance of web pages by making them load almost instantaneously.

Go is a new language. The late 2018 release of Go 1.11 provided experimental support for compiling Go to WebAssembly, a binary format for code that can run in a web browser. “This promises to be faster and more efficient than JavaScript,” Jay McGavren (author of "Head First Go") says. “And it’s supported by all the major browsers. The ability to make apps using Go that can run inside the browser offers new possibilities that I’m excited to explore.”

[edit] Limitations

While the goal may be to run on any browser it is likely that only certain ones will work properly. The PWA might require the Google Chrome browser or the Mozilla Firefox browser for example.

Personal tools
Namespaces

Variants
Actions
Navigation
MobileRead Networks
Toolbox