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.
- Realtime updating
- Server side rendering (Angular Universal) to allow for a functional app with JS disabled
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
ng serve --prod --aot
will kick off a production build with uglifying, tree-shaking and Ahead-of-Time compilation
This will kick off the server at http://localhost:4200/
. Any changes you do to the source files should automatically reload the app.
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:
npm run sw
to generate the service worker filenpm run static-serve
to load the application along with the service worker asset using lite-server