A Super fast progressive web app
with a small footprint & minimal dependencies.
Features universal rendering, redux, state-driven routing, preact, & service workers. Crunched & optimized with rollup, buble, optimize-js, & purify-css.
Live version (zeit): https://preact-pwa-yfxiijbzit.now.sh/
Bundle Size: 28.63 KB, 9.64 KB Gzipped
Webpage test: A, A, A
pagespeed: 100
lighthouse: 100
Make sure that Node v7 is installed.
Make sure that yarn is installed.
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
Using 192x192 for minimum sized icon, omitting other sizes to reduce downloads for users reference
- we can shave off ~10 KB, ~3kb Gzipped by pruning
preact-redux
& manually connecting
- 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.
License
MIT