choojs/create-choo-app

[Request] What makes the created app a PWA?

varjmes opened this issue · 3 comments

I'd love to see a write up on what exactly makes this app a PWA out the box. I know I'd learn a lot from it. Also, I already have a choo app and this could be a tutorial on how to make it a PWA like the apps made with create-choo-app.

bitmoji

Haha, hey! - yeah great question; I was thinking of doing a writeup, but RSI and work sorta limit what I can achieve haha.

To give a (very) brief summary of what a progressive web app (PWA) is:

  • accessible, loads well without internet, shows stuff even if there's no JS enabled, incrementally adds features
  • google lighthouse provides a comprehensive analysis of apps; a good checklist so to say - create-choo-app (CCA) gets the full score out of the box, except for http/2 and TLS (which we'll be adding soon)
  • bankai does most of the heavy lifting for us here; it optimizes heaps of stuff and makes sure most files are served right. Generally speaking this is probs what you need.
  • CCA creates a few extra files (that bankai can serve). Namely it provides a manifest.json and sw.js file - both are used for making apps offline / installable, and can be modified.

So to summarize the upgrade path for existing apps: copy over the manifest.json, sw.js and assets/icon.png files, and upgrade to the latest (yet sorta unreleased version) of choo, bankai and related packages. That's all!

I'd love for a writeup of all this stuff, we even have a spot for it in choo-handbook (cc/ @louiscenter). Like I said, I'm a bit limited in what I can do here (it's a lot of writing - doesn't work well for me) - but any form of contributions would be great!

Hope this was somewhat helpful! ✨

So sorry to hear about the RSI, I have it too.
I'd really recommend buying some ergonomic stuff.

Thanks so much for the tips! :)