All Projects → SAP-samples → Openui5 Pwa Sample

SAP-samples / Openui5 Pwa Sample

Licence: apache-2.0
How to build a progressive web app (PWA) with OpenUI5.

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Openui5 Pwa Sample

Ionic Navigation And Routing
🎉 Ionic 5 tutorial to learn how to master Routing and Navigation in Ionic Angular Apps as well as some usability tricks you can add to your Ionic Framework apps to make them look even better!
Stars: ✭ 35 (-18.6%)
Mutual labels:  pwa
Aspnetcore Tests Sample
A project to help demonstrate how to do unit, integration and acceptance tests with an web api project using ASP.NET Core and Angular 7 front end.
Stars: ✭ 40 (-6.98%)
Mutual labels:  sample
Color.js
Extract colors from an image (0.75 KB) 🎨
Stars: ✭ 42 (-2.33%)
Mutual labels:  sample
Cloud Sfsf Benefits Ext
SAP Employee Benefits Management is a sample extension application for SuccessFactors Employee Central. The application runs on SAP Cloud Platform and can be used by employees to make orders in specific benefits' campaigns and by HR managers to manage employee benefits and set up new benefits campaigns.
Stars: ✭ 35 (-18.6%)
Mutual labels:  sample
Codenameone
Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.
Stars: ✭ 992 (+2206.98%)
Mutual labels:  pwa
Blog Pwa
An experiment in mixing Hugo, lit-element, and Polymer PRPL into a progressive web app blog.
Stars: ✭ 41 (-4.65%)
Mutual labels:  pwa
Docker Vue Node Nginx Mongodb Redis
🐉 An awesome boilerplate, Integrated Docker, Vue, Node, Nginx, Mongodb and Redis in one, Designed to develop & build your web applications more efficient and elegant.
Stars: ✭ 34 (-20.93%)
Mutual labels:  pwa
Ephemeralnotes
Ephemeral is a Progressive Web App for writing down words and their translations, as you encounter them.
Stars: ✭ 43 (+0%)
Mutual labels:  pwa
Aurelia
Aurelia 2, a standards-based, front-end framework designed for high-performing, ambitious applications.
Stars: ✭ 995 (+2213.95%)
Mutual labels:  pwa
Fluid Outliner
Open source web based outliner built with a strong focus on simplicity and ease of use
Stars: ✭ 42 (-2.33%)
Mutual labels:  pwa
Qr Code Scanner
📠 A simple, fast and useful progressive web application
Stars: ✭ 982 (+2183.72%)
Mutual labels:  pwa
React Pwa Webpack Starter
Boilerplate to build a React PWA with Webpack + Workbox
Stars: ✭ 38 (-11.63%)
Mutual labels:  pwa
Pwacompat
PWACompat to bring Web App Manifest to older browsers
Stars: ✭ 1,009 (+2246.51%)
Mutual labels:  pwa
React Firebase
🔥 Sample React + Firebase setup
Stars: ✭ 35 (-18.6%)
Mutual labels:  sample
Tris Webpack Boilerplate
A Webpack boilerplate for static websites that has all the necessary modern tools and optimizations built-in. Score a perfect 10/10 on performance.
Stars: ✭ 1,016 (+2262.79%)
Mutual labels:  pwa
Rxjava Android Samples
Learning RxJava for Android by example
Stars: ✭ 7,520 (+17388.37%)
Mutual labels:  sample
Gatsby Starter Storefront Shopify
Starter package for faster setup process of Gatsby Storefront.
Stars: ✭ 41 (-4.65%)
Mutual labels:  pwa
Elm Hn Pwa
Hacker News as a PWA built with Elm
Stars: ✭ 43 (+0%)
Mutual labels:  pwa
Sort Visualizer
This is a web app built to visualize classic sorting algorithms such as insertion sort, merge sort, quick sort, heap sort, etc. The entire app is built with only React; no other third-party JS or CSS library has been used.
Stars: ✭ 41 (-4.65%)
Mutual labels:  pwa
Hatebupwa
Hatena Bookmark search app.
Stars: ✭ 42 (-2.33%)
Mutual labels:  pwa

REUSE status

openui5-pwa-sample

You can build Progressive Web Apps with any HTML/JS framework and OpenUI5 is not an exception. This example shows how to easily build a simple PWA with sap.m library.

Run live demo

The demo is a simple TODO list application. Add new tasks with the input field at the bottom of the screen. The tasks are stored locally and the application works online as well as offline without any difference. You may install it on the home screen of a touch device like a native full screen application.

Local Development Setup:

This sample is a static HTML application. There are different possibilities to test it locally:

Clone this repo and:

  • with Chrome Web Server: Run the web server from the src folder
  • with Node.js: Run npm install and npm run serve
  • with a trial SAP Cloud or any other Cloud-Foundry account: Change the application name in the manifest.yml and upload the app with cf push

Steps to create a PWA with OpenUI5

Build the application

This sample is a simple one-page OpenUI5 TODO application with index.html as a starting point. Use it as a template for your own application. The todo-app.js contains the logic. Replace it with something more useful.

Design, create and attach a service worker

A service worker is a prerequisite for a PWA. The main purpose of it is to cache application resources (and data) for the offline use on mobile devices. One can use different caching strategies. The service-worker.js template in this sample caches application specific resources during the install event and OpenUI5 libraries during the fetch event, on the first network response. This scenario is neither complete nor ideal and should serve just as a starting point example.

Create icons and a splash screen, add meta tags

A set of good looking icons is an essential part of a PWA. The icons folder contains a minimal set of images.

Normally, an OpenUI5 application starts with an empty HTML file and generates contents dynamically. One of the PWA requirements is to show some static content or a splash screen immediately, before all JavaScript libraries are loaded and executed. The sample contains some static HTML that is replaced with the dynamic contents after the application is loaded.

Do not forget to include PWA related meta tags to the HTML head of your application. Use index.html as a reference.

Create a Web App Manifest

Create a Web App Manifest (manifest.json) and reference it in the HTML header of your applications index.html. For more details, see the Web App Manifest documentation.

Test your app

After all the steps above are performed, run the application within a Chrome Desktop browser and run a PWA audit in Chrome devtools. If you see an image like below, everything is OK and you can submit your application.

100% Progressive Web App

Limitations

OpenUI5 still uses synchronous XMLHttpRequests to load messagebundle.properties files with default UI labels and text. Due to the fact that a service worker cannot handle synchronous XHR, the texts cannot be cached and may be unavailable in offline mode. You need to provide custom labels for such default texts.

This sample uses the LocalStorage for persistence. Caching of application data and implementation of offline CRUD patterns are not considered here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].