preact-pwa
A Super fast progressive web app
with a small footprint & minimal dependancies.
Features universal rendering, redux, state-driven routing, preact, & service workers. Crunched & optimized with rollup, buble, optimize-js, & purify-css.
Live version: https://preact-pwa.appspot.com/
bundle sizes & perf
Bundle Size: 27.55 KB, Gzipped size: 9.79 KB
Webpage test: A, A, A
pagespeed: 100
lighthouse: 100
we can shave off ~10 KB, ~3kb Gzipped by pruning preact-redux
& manually connecting
Features
- Progressive Web App enabled with service workers
- Offline capable with service workers
- Universal JavaScript (isomorphic rendering)
- Asset Versioning, long term caching, & cache busting for browser that do not support service workers via node-rev
- Modern JavaScript syntax with ES6 via buble.
- Performant bundles via rollup.
- Component-based UI architecture via Preact.
- Application state management w/time-travel debugging via Redux.
- CSS built with Sass and optimized with purify-css.
- Async actions handled with redux-thunk, isomorphic-fetch, and promises.
- Node server is built with express.
- Linting is handled with Standard.
Getting Started
Prerequisites
Make sure that Node v7 is installed.
Make sure that yarn is installed.
Instructions
First, clone the repo
$ git clone https://github.com/ezekielchentnik/preact-pwa
Then, install all dependencies:
$ yarn
Finally, to run the project for development:
$ yarn dev
Or, to run the project for production:
$ yarn start
License
MIT