A progressive Hacker News client built with Angular
⚡ Fast: Uses a Service Worker App Shell + dynamic content model to achieve faster load times with and without a network
📱 Responsive: Completely responsive UI that can be installed to your mobile home screen to provide a native feel regardless of which device you use.
🚀 Progressive: Lighthouse score of 99/100.
This app uses a Service Worker to load quickly and work offline.
sw-precache
is used to serve local static resources (App Shell) cache first.sw-toolbox
is used to handle requests using thenetworkFirst
strategy. If a request fails, the app will fulfill the request from the cache. This means previously loaded pages will now work offline.
With Chromium based browsers for Android (Chrome, Opera, etc...), Angular 2 HN includes a Web App Manifest that allows you to install to your homescreen.
Built in theme engine!
Current themes:
- Default
- Night
- Black (AMOLED)
More to come!
- Realtime updating
- Server side rendering (Angular Universal?)
Feel free to send me feedback on twitter or file an issue! Feature requests are always welcome.
- Clone or download the repo
- If you don't have Angular CLI installed:
npm install -g angular-cli@latest
ng init
- Input
n
for each file to not overwrite any file changes ng serve
will kick off the server athttp://localhost:4200/
. Any changes you do to the source files should automatically reload the appng serve --prod --aot
will kick off a production build with uglifying, tree-shaking and Ahead-of-Time compilation
Click here to see a full list of what you can do with Angular CLI.
Note: Any Service Worker changes will not be reflected when you run the application locally in development. To test service worker changes:
ng build --prod --aot
to kick off a fresh build and update thedist/
directorynpm run precache
to generate the service worker filenpm run static-serve
to load the application along with the service worker asset using live-server
A million thanks to some awesome people :)