Progressive Web Apps
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 web 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.
[edit] Making a separate App
The Apple OS's version 14 can now make a separate app for use on iPhones and iPads. Bring the app up in Safari and the share the page with "Add to Home screen". You will get a New App with its own iCon which can be moved and treated like any standalone app. This works well with https://app.wordsearchbible.lifeway.com.
See also Web app