APEX Goes Mobile With PWA
Starting in APEX 21.2, Oracle added Progressive Web App (PWA) support that lets you turn any APEX application into an installable mobile or desktop app with a single toggle. Users can add your application to their home screen, and it launches in a standalone window without browser navigation chrome, looking and feeling like a native app.
Enabling PWA
In Shared Components go to Progressive Web App. Toggle the Enable Progressive Web App switch to Yes. Configure the application name, short name, description, and icon that will appear on the user’s device. Set the display mode to Standalone for a native app experience. APEX automatically generates the required service worker and web manifest files.
Push Notifications
APEX 23.1 added push notification support for PWA applications. You can send notifications to users even when they are not actively using the application. Notifications are sent using the APEX_PWA PL/SQL API:
BEGIN
APEX_PWA.SEND_PUSH_NOTIFICATION(
p_user_name => 'JSMITH',
p_title => 'Purchase Order Approved',
p_body => 'PO #12345 has been approved by your manager.',
p_target_url => APEX_PAGE.GET_URL(p_page => 50, p_items => 'P50_PO_ID', p_values => '12345')
);
END;
/
Users must opt in to receive push notifications through a browser permission dialog. Your application should explain the value of notifications before triggering this dialog to maximize opt-in rates.
Offline Capabilities
PWA service workers can cache static resources like JavaScript, CSS, and images so that the application shell loads even without network connectivity. APEX’s built-in service worker handles this caching automatically. For a fully offline-capable application, you would need to implement additional logic using APEX collections or IndexedDB to queue data modifications and sync them when connectivity returns, but even the basic offline shell provides a significantly better experience than a browser error page.
Installation Experience
When a user visits your PWA-enabled APEX application in a supported browser, they see an “Install” prompt or can use the browser’s menu to add it to their home screen. On mobile devices, the installed app appears alongside native apps with its own icon. The standalone display mode hides the browser URL bar, giving your application a professional, native appearance that users appreciate.