Progressive Web Apps (PWA) brings together the best of native mobile apps and web. This starter is a framework agnostic PWA starter kit based on Workbox, Webpack and the Router library
Kickstart your Progressive Web App project with this starter kit. The PWA starter provides the essential building blocks for any PWA project, and lets you use your favourite front-end framework, or roll your own.
Webpack + Workbox
The PWA starter uses modern tools like Webpack for the build process, Workbox for automatic generation of the Service Worker file and dynamic response caching. A manifest file definition is also included.
Url handling and best practice
- Upgraded dependencies
- Fixed JAR missing assets after first build
- Fixed push field/button remaining disabled after subscribing
- Delete subscriptions upon app init
- Fixed the app to be compatible with XP 7
- Upgraded to Workbox 4
- Fixed 404 errors when creating new todo items
- Background sync page: create and manage a Todo list on- or off-line with cross-browser support
- Upgraded to Workbox 3.0
- When a new version of the app is out, user will be notified and can decide when to upgrade
- Added Push Notifications page
- Re-factoring of code
- Uses Thymeleaf for pages
- No external dependencies
- Initial work on push messages started
- Removed menu from the header
- Upgraded Webpack and Workbox to newer versions
- Changed default strategy to cache-first
- Register Service Worker and embed inlne styles on every page
- Update SW on app version change
- Use NetworkFirst caching strategy
- Upgrade xp gradle plugin to 1.0.17
- Pass 100% audit on Lighthouse
- Initial release
Clone Workbox PWA Starter
This version requires XP 7.0.0 or above.
Use Enonic CLI to set up your project.
Run the following command:
…and choose "Workbox PWA Starter" from the list.
This version requires XP 6.15.0
To initialize a new project based on Workbox PWA Starter, execute the command below. Remember to replace <com.company.myapp> with a unique name for your app, and </my/projects> with the location you want to store the project. <$XP_INSTALL> is the location of your XP installation.
The init-project tool initializes a new application project structure by retrieving a Git repository, removing all references to the Git repository, and adapting its build file properties (gradle.properties).