Introduction

In layman's terms, Progressive Web Application (PWA) is a type of application software that is easily installable directly via the web browser, that offers a native-like app experience to end users regardless of device variants.
PWA promises many key capabilities as compared to regular web applications, such as:

  1. Works in any network conditions, including offline
  2. Responsive web design
  3. Compatible with any device and screen dimension
  4. Background Sync
  5. Smooth app interactions
  6. Native-like app UI/UX
  7. Web push notifications
  8. and so much more...

Read here for full details about PWA and its benefits: https://developers.google.com/web/updates/2015/12/getting-started-pwa

Since Joget DX 7, Joget applications have supported PWA capabilities by default.

Installing an app

Joget allows users to easily install apps into mobile devices through compatible browsers.

Compatibility

Feature / DeviceChrome Browser on Android Chrome Browser on iOSSafari Browser on iOSJoget Mobile App on AndroidJoget Mobile App on iOS
PWA Offline Storage and SyncYes (15 May 2020, Android 9)No (15 May 2020, iOS 13.1.2 iPhone X)Yes (15 May 2020, iOS 13.1.2 iPhone X)YesNot Supported
PWA Push NotificationYes (15 May 2020, Android 9)No (15 May 2020, iOS 13.1.2 iPhone X)No (15 May 2020, iOS 13.1.2 iPhone X)Not ApplicableNot Applicable
Native App Push NotificationNot ApplicableNot ApplicableNot ApplicableYesYes


Send Notifications

If you require sending notifications to Joget PWA users, you can use these plugins to do so:

PWA Properties

Most UI menus support offline caching.
To configure them, you can directly edit the UI menu, or via the Builder Advanced Tools in the UI builder.

1. Select Advanced Tools in the UI builder.


2. Edit the UI menu you wish to configure PWA settings for.


3. Scroll down the Properties to select "Performance & Offline" tab, and you can configure PWA offline settings here.


Edit PWA Offline Settings

NameDescription
Enable cache for offline support

This option allows users to cache for offline support for UI elements.


Scope: Available in all UI Menu

Cache list actions (Non POST action)

This option allows users to cache list actions but it does not include any POST actions.

Scope: Only available in UI Menu that makes use of List such as CRUD, List, List Inbox

Example of what will be cached: 

1. New Button in CRUD

Example of what will NOT be cached:

1. Delete Button in CRUD

2. JDBC List Action in List / CRUD

Cache all list  links in first page

This option allows users to cache all links found on the first page of the List links when they are offline. (i.e. Hyperlink List Action)

Scope: Only available in UI Menu that makes use of List such as CRUD, List, List Inbox

Example of what will be cached:

1. Hyperlink List Action in List / CRUD

How to Check What is Being Cached?

If your runtime URL is http://localhost:8080/jw/web/UI/leaveApp/v/_/welcome, you can change "welcome" to "cacheUrls" in order to see the list of URLs that will be cached.


Progressive Web App (PWA) Settings

Users can access this setting by going through the "Properties" tab in the UI builder.

1. Click on Properties and then click on Theme.


2. Click on Progressive Web Application (PWA) Settings.


Progressive Web App (PWA) Settings

NameDescription

Disable Progressive Web App (PWA) Support

If checked, this will disable PWA support for the current app.
Disable Web Push NotificationsIf checked, this will disable Web Push Notifications.
Additional URLs to CacheThis option allows users to cache additional URL(s) that is relative to the Context Root.





  • No labels