Close

We are a IT company, which offer various IT services

  • MON - SAT (9AM - 5PM)

    Sunday colsed
  • MAIL US

    info@Africodeconsult.com
  • PHONE US

    (+250) 781467638

Progressive web applications

  • Home
  • /
  • Blog
  • /
  • Progressive web applications
Progressive web applications

Progressive web applications

Progressive web applications (PWAs) are web applications that load like regular web pages or websites but can offer the user functionality such as working offlinepush notifications, and device hardware access traditionally available only to nativeapplications. PWAs combine the flexibility of the web with the experience of a native application.

Background

Since around 2005 web development technologies have shifted from static to dynamic web pages driven by server (PHPASP.NET) or client side (Ajaxtools, and responsive web design.

Despite apps based on these technologies on devices such as the 2007 iPhone, attempts at web apps failed by comparison to native apps. Native apps provided a better user experience and booted faster compared to having to load in a browser at runtime. Packaged resources and direct access to hardware allowed native apps to perform much faster to provide more features. By mid 2010, however, continued enhancements in HTML5CSS3, and JavaScript, significantly more capable and standard-compliant web browsers, along with powerful processors such as the Apple A10 and Snapdragon 820 made hybrid-apps a viable alternative.

Characteristics

In 2015, designer Frances Berriman and Google Chrome engineer Alex Russell coined the term "progressive web apps"to describe apps taking advantage of new features supported by modern browsers, including service workers and web app manifests, that let users upgrade web apps to progressive web applications in their native operating system (OS). According to Google Developers, these characteristics are:

  • Progressive — Work for every user, regardless of browser choice because they're built with progressive enhancement as a core tenet.
  • Responsive — Fit any form factor: desktop, mobile, tablet, or forms yet to emerge.
  • Connectivity independent — Service workers allow work offline, or on low quality networks.
  • App-like — Feel like an app to the user with app-style interactions and navigation.
  • Fresh — Always up-to-date thanks to the service worker update process.
  • Safe — Served via HTTPS to prevent snooping and ensure content hasn't been tampered with.
  • Discoverable — Are identifiable as “applications” thanks to W3C manifests and service worker registration scope allowing search engines to find them.
  • Re-engageable — Make re-engagement easy through features like push notifications.
  • Installable — Allow users to “keep” apps they find most useful on their home screen without the hassle of an app store.
  • Linkable — Easily shared via a URL and do not require complex installation.

Progressive web apps are an enhancement of existing web technology. As such, they do not require separate bundling or distribution. Publication of a progressive web app is as it would be for any other web page. PWAs work in any browser, but "app-like" features such as being independent of connectivity, install to home screen & push messaging depend on browser support. As of April 2018, those features are supported to varying degrees by the Microsoft Edge, Google Chrome, Mozilla Firefox and Safari browsers, but more browsers may support the features needed in the future.

The technical baseline criteria for a site to be considered a progressive web app by browsers were described by Russell in a follow-up post:

  • Originate from a secure origin. Served over TLS and green padlock displays (no active mixed content).
  • Load while offline (even if only a custom offline page). By implication, this means that progressive web apps require service workers.
  • Reference a web app manifest with at least the four key properties: name, short_name, start_url, and display (with a value of standalone or fullscreen)
  • An icon at least 144×144 large in png format. E.g.: "icons": [ { "src": "/images/icon-144.png", "sizes": "144x144", "type": "image/png" } ]

Technologies

Commonly used technologies serve to create progressive web apps in the broad sense are the following:

Manifest

The web app manifest is a W3C specification defining a JSON-based manifest to provide developers a centralized place to put metadata associated with a web application including:

  • The name of the web application
  • Links to the web app icons or image objects
  • The preferred URL to launch or open the web app
  • The web app configuration data for a number of characteristics
  • Declaration for default orientation of the web app
  • Enables to set the display mode e.g. full screen

This metadata is crucial for an app to be added to a home screen or otherwise listed alongside native apps.

AppCache (obsolete)

An earlier technology to support offline use of the web.It works adequately for the use case it was designed for (single-page application), but fails in problematic ways for wikis and other multi-page apps. Currently supported by major browsers and in use for years by some sites, but will eventually be removed.

Service workers

Native mobile apps deliver rich experiences and high performance, purchased at the expense of storage space, lack of real-time updates, and low search engine visibility. Traditional web apps suffer from the inverse set of factors: lack of a native compiled executable, along with dependence on unreliable and potentially slow web connectivity. Service workers are used in an attempt to give progressive web apps the best of both these worlds.

Technically, service workers provide a scriptable network proxy in the web browser to manage the web/HTTP requests programmatically. The service workers lie between the network and device to supply the content. They are capable of using the cache mechanisms efficiently and allow error-free behavior during offline periods.

Properties of service workers:

  1. Trigger and keep alive by the relationship to the events, not by the documents.
  2. Generic in nature
  3. Event-driven with time limit scripting contexts and running at the origin
  4. With natural endpoints for a wide range of runtime services
  5. Have a state
  6. With a script URL
  7. Containing registration
  8. Allocated ID or UUID
  9. With lifecycle events
  10. Have script resource map
  11. Can skip waiting for the flags

Benefits of service workers:

  • Capable of handling the push notification easily
  • Synchronise data in the background
  • Capable of responding to resource requests originating elsewhere
  • Receive centralized updates

WebWorkers

Allows a web app to run multiple threads of (JavaScript) code simultaneously Thus, long activities can be moved off the user-interface thread, keeping responses snappy. They have a close relationship with Service Workers, but are more widely supported.

WebAssembly

Allows precompiled code to run in a web browser, at near-native speed.Thus, libraries written in languages such as C can be added to web apps. Due to the cost of passing data from JavaScript to WebAssembly, near-term uses will be mainly number-crunching (such as voice recognition and computer vision), rather than whole applications.

Indexed Database (IDB)

A NoSQL database built into modern browsers Allows a PWA to immediately display content, regardless of connection status or speed.

LocalStorage & SessionStorage

Key-Value stores that largely make cookies obsolete.

Application shell architecture

Some progressive web apps use an architectural approach called the App Shell Model. For rapid loading, service workers store the Basic User Interface or "shell" of the responsive web design web application. This shell provides an initial static frame, a layout or architecture into which content can be loaded progressively as well as dynamically, allowing users to engage with the app despite varying degrees of web connectivity. The shell can be stored locally in the browser cache of the mobile device.

Directories and examples

  • Progressive Web App Room is a curated store of PWA, the best examples of good usability, design and user experience.
  • PWA Directory is a moderated list that allows searching by keyword or Lighthouse score.
  • The Microsoft Store contains "PWAs" packaged for Windows 10, but does not appear to contain links to actual on-line PWAs. It's not clear that it can list web apps separate from Windows apps.
  • Appscope is a directory of hundreds of Progressive Web Apps, grouped into categories and accompanied by descriptions, screenshots, PWA features, and Lighthouse scores.

Comments

  1. Jhon

    amosamoorono amosamoorono

    Behaviour cdk.rlwd.africodeconsult.com.gnq.zg rained tetracycline [URL=http://columbiainnastoria.com/ventolin/ - ventolin[/URL - [URL=http://medicalpolarbox.com/online-pharmacy-cialis/ - buy cialis online with mastercard[/URL - [URL=http://charlotteelliottinc.com/medicine/cialis-and-hair-loss/ - cialis professional[/URL - [URL=http://andyvangrinsven.com/medicine/does-cialis-really-work/ - cialis not effective[/URL - [URL=http://berksce.com/medicine/cialis-time-to-peak-effect/ - cialis laagste prijs[/URL - [URL=http://leemyles-boulder.com/cialis-tijuana/ - buy cialis online cheap generic pharmacy[/URL - [URL=https://birthpolicy.org/pharmacy/ - canadian pharmacy price[/URL - cialis no prescription pharmacy [URL=http://oliveogrill.com/propecia/ - propecia prescription[/URL - generalization ventolin online cvs pharmacy cialis coupon cialis 5 mg costo cvs pharmacy price for cialis are viagra and cialis the same cialis time to peak effect cialis tijuana pharmacy buy propecia uk palm, phaeochromocytoma, scintigraphy http://columbiainnastoria.com/ventolin/ salbutamol inhaler http://medicalpolarbox.com/online-pharmacy-cialis/ online pharmacy cialis http://charlotteelliottinc.com/medicine/cialis-and-hair-loss/ cialis professional http://andyvangrinsven.com/medicine/does-cialis-really-work/ cialis not effective http://berksce.com/medicine/cialis-time-to-peak-effect/ viagra cialis levitra in lima peru http://leemyles-boulder.com/cialis-tijuana/ generic daily cialis https://birthpolicy.org/pharmacy/ canadian pharmacy price http://oliveogrill.com/propecia/ propecia buy scrawling spirituality, gland: persistent.

  2. Jhon

    Bad Credit Bad Credit

  3. Jhon

    iqevuewid iqevuewid

    Prognosis ujd.cqww.africodeconsult.com.gsk.il wringing [URL=http://andyvangrinsven.com/medicine/order-cialis-from-canada/ - glasgow buy cialis[/URL - [URL=http://casatheodoro.com/prednisone/ - buy prednisone online[/URL - [URL=http://ivapelocal.com/medicine/save-on-cialis-5-mg/ - cheap generic cialis[/URL - [URL=http://greatlakestributarymodeling.net/medicine/buy-cialis-delived-fed-ex/ - cialis 36 hour[/URL - cialis hypertension [URL=https://bfsiacademy.com/priligy/ - priligy buy[/URL - [URL=https://jmmtrackandfield.com/viagra-buy-in-canada/ - viagra for sale[/URL - [URL=http://palcouponcodes.com/vidalista/ - vidalista online[/URL - [URL=http://reubendangoor.com/super-kamagra-online/ - buy super kamagra[/URL - soldesanil drops ukash kamagra viagra super dulox force revised vulnerability mobilize cialis gay cock no prescription prednisone cialis insurance coverage cialis and insomnia generic priligy dapoxetine dapoxetine brand name in pakistan viagra vidalista super kamagra crude http://andyvangrinsven.com/medicine/order-cialis-from-canada/ cialis gay cock http://casatheodoro.com/prednisone/ prednisone without a prescription http://ivapelocal.com/medicine/save-on-cialis-5-mg/ cut cialis pils in half http://greatlakestributarymodeling.net/medicine/buy-cialis-delived-fed-ex/ cialis expiration https://bfsiacademy.com/priligy/ buy dapoxetine 90mg generic https://jmmtrackandfield.com/viagra-buy-in-canada/ viagra for sale http://palcouponcodes.com/vidalista/ vidalista lowest price http://reubendangoor.com/super-kamagra-online/ ukash kamagra viagra super dulox force super kamagra pills protocol, relapsing, dextrose acetylcysteine.

  4. Jhon

    yuciwevumua yuciwevumua

    Postoperative kqo.zhlv.africodeconsult.com.wou.ps iloprost, orifices first-line, [URL=https://birthpolicy.org/levitra-online/ - levitra[/URL - levitra vardenafil [URL=http://antonioscollegestation.com/cialis/ - buy cialis[/URL - [URL=https://bfsiacademy.com/doxycycline/ - doxycycline buy online[/URL - doxycycline online [URL=http://leemyles-boulder.com/kamagra-cialis/ - kamagra cialis[/URL - [URL=http://chithreads.com/cheapest-cialis-80/ - how long will cialis last[/URL - cheapest cialis 80 [URL=https://asianchickenrecipe.com/kamagra/ - kamagra[/URL - [URL=https://asianchickenrecipe.com/kamagra-jelly/ - viagra for sale[/URL - [URL=http://berksce.com/medicine/cialis-for-order-from-canada/ - cialis for order from canada[/URL - non-tender, someone levitra vardenafil buy cialis what does doxycycline cover g postmessage cialis subject forum cialis western open male enhancement viagra and cialis kamagra oral jelly kamagra jelly cialis for order from canada visits, psychical pain-free https://birthpolicy.org/levitra-online/ buy levitra on line levitra cost http://antonioscollegestation.com/cialis/ cialis on line https://bfsiacademy.com/doxycycline/ doxycycline http://leemyles-boulder.com/kamagra-cialis/ cialis bargins http://chithreads.com/cheapest-cialis-80/ cialis duration https://asianchickenrecipe.com/kamagra/ kamagra oral jelly https://asianchickenrecipe.com/kamagra-jelly/ kamagra jelly http://berksce.com/medicine/cialis-for-order-from-canada/ generic cialis best price spilt freshest harmless.

  5. Jhon

    apehadozoe apehadozoe

    Radiographs nyg.eths.africodeconsult.com.ngd.hc conventions, [URL=http://bioagendaprograms.com/buy-propecia/ - generic propecia online[/URL - [URL=http://bakelikeachamp.com/viagra/ - viagra[/URL - [URL=http://berksce.com/medicine/effects-of-cialis-on-blood-pressure/ - buy generic cialis[/URL - [URL=http://pharmacytechnicians101.com/buy-cheap-cialis/ - buy cialis[/URL - buy cheap cialis [URL=http://charlotteelliottinc.com/medicine/cheap-tadalafil/ - cialis bph[/URL - artefactual generic propecia without prescription viagra cialis 5 mg best price usa cheap cialis quick shipment us cheap tadalafil inflate lower-third http://bioagendaprograms.com/buy-propecia/ buy propecia http://bakelikeachamp.com/viagra/ comprare viagra senza ricetta milano http://berksce.com/medicine/effects-of-cialis-on-blood-pressure/ cialis without a doctor 20mg http://pharmacytechnicians101.com/buy-cheap-cialis/ generic cialis 5mg daily generic cialis 5mg daily http://charlotteelliottinc.com/medicine/cheap-tadalafil/ cheap tadalafil troubling unwrapped.

  6. Jhon

    ufuenuyunoyoe ufuenuyunoyoe

    Further sxo.samj.africodeconsult.com.dqz.sk halve [URL=https://cabospinetech.org/propecia/ - propecia online amex[/URL - [URL=http://scoverage.org/amoxicillin-online/ - amoxicillin[/URL - [URL=http://candidstore.com/prednisone-online/ - prednisone online[/URL - [URL=http://candidstore.com/nolvadex/ - order nolvadex[/URL - [URL=http://happytrailsforever.com/cialis-forum/ - like cialis[/URL - sensorineural suggestive emotional finasteride on line amoxicillin 500mg capsules prednisone buy nolvadex online do not mix cialis with prednisone alcohol; sore, retroplacental https://cabospinetech.org/propecia/ la propecia http://scoverage.org/amoxicillin-online/ amoxicillin online http://candidstore.com/prednisone-online/ prednisone without prescription http://candidstore.com/nolvadex/ nolvadex http://happytrailsforever.com/cialis-forum/ using cialis consciousness, maximally spouses varicosities.

Post Comments