• Stars
    star
    197
  • Rank 191,407 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 8 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A demo application that serves as a tutorial for Progressive Web Applications

UPDATED VERSION (using App Shell, Gulp & Express JS): https://github.com/IncredibleWeb/maltajs

PWA Tutorial

A simple progressive web application that demonstrates the use of Service Workers, Cache API and offline functionality; the use of a Manifest for Web and Add to Homescreen.

Progressive Web Apps

Progressive Web Applications take advantage of the latest technologies to combine the best of web and mobile apps; think of it as a website built using web technologies but which acts and feels like an app. Recent advancements in the browser and the availability of service workers, the Cache and the Push APIs, have given web developers the possibility to install web apps to the home screen, receive push notifications and even work offline.

Service Workers

Event-driven scripts (written in JavaScript) that have access to domain-wide events, including network fetches. Through service workers, it's possible to cache all static resources, which could drastically reduce network requests and have considerable performance improvements too.

Manifest

A simple JSON file that must follow the specification available on W3C, it is possible to run the web app in full-screen as a standalone application, assign an icon which will be displayed once the application is installed onto the device or assign a theme and background colour to your app. In addition, Chrome on Android also proactively suggests to the user to install the web app using Web App install banners.

Technology

Built using traditional HTML5 and vanilla JavaScript that simulates the retrieval of data from a mock API. Throughout the application we use small bits of KnockoutJS to handle our model-view-viewmodel (MVVM) bindings; a lightweight JavaScript framework that allow us to bind our JavaScript models to our HTML views. You may replace this with any other framework such as React or AngularJS.

API

For the scope of this demo, we will be retrieving a static JSON file instead of a real API. This is only to keep things simple and in the real world you would query an API or use web sockets.

Prerequisites

  • NodeJS and NPM
  • Grunt Run npm install -g grunt to install Grunt.

Installation

  • Run npm install to install all required node modules
  • Run npm start to start the server, accessible through your browser on http://localhost:3000
  • Run grunt dev_watch to set up grunt watchers if you will be doing any development changes

Demo

Demo: https://incredibleweb.github.io/pwa-tutorial/

More Repositories

1

Xamarin-Forms-Chat-Client

A cross platform Xamarin Forms Chat application using SignalR. The application makes use of a SignalR backend to manage web socket connections. SignalR Groups are used to demonstrate how private chats can be created using SignalR. The application also uses custom renderers to display speech bubbles on Android and IOS.
C#
106
star
2

Progressive-Web-Chat

Sample chat application that runs as a Progressive Web App
JavaScript
40
star
3

MaltaJS

A simple progressive web app demo for the MaltaJS event held in April 2017.
JavaScript
30
star
4

SignalR-Server

A simple SignalR client which can be used to demonstrate the capabilities of SignalR in the field of real-time applications. This particular SignalR client was deployed to an AzureWebsite and utilized by a web and a Xamarin Forms Application.
JavaScript
29
star
5

React-PWA-Boilerplate

A simple boilerplate for a universal progressive web application including some default components built using React + Redux
JavaScript
13
star
6

ES6-Boilerplate

A boilerplate for building ES6 web apps using Babel, Gulp & ExpressJS.
JavaScript
6
star
7

Awwwesomes

A detailed progressive web app demo for the Awwwesomes Summer Meetup held in Warsaw, August 2017.
JavaScript
5
star
8

webpack-express-boilerplate

A boilerplate webpack configuration on an isomorphic application that supports Express + Handlebars on the server-side and SCSS & JavaScript on the client-side.
JavaScript
4
star
9

Packt

Progressive Web App for demonstration purposes
JavaScript
2
star
10

handbook

Incredible Web Employee Handbook & Culture Code
2
star
11

sample-react-website

JavaScript
2
star
12

gcd-demo

A demo application illustrating frontend performance fixes.
JavaScript
1
star
13

SignalR-WebChat

A simple web chat application using SignalR hubs for realtime message channel.
JavaScript
1
star
14

docs

A brief documentation of our current architectures.
1
star
15

emr

JavaScript
1
star
16

Xamarin-Startup-Solution

This is the skeleton of a Xamarin MVVM solution featuring a Master-Detail page and some examples.
C#
1
star
17

Ponsify

A simple software engineering test for web developers using using JavaScript.
JavaScript
1
star