Skip to content

RouninMedia/aSP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 

Repository files navigation

aSP

An aSP is an aSP singleFile progressiveWebApp.

It's a big deal, because this carefully built PWA consists of a single file.

Ummm... isn't it pretty straightforward to make a PWA from a single file, anyway?

No, it isn't.

Even if you have a single HTML file, you're probably going to end up with almost twice as many files as the fingers you have on one hand.

Eh?! Almost eight files? (Do you mean seven files?) How so?

Ahem. Because. Usually even a very simple web page will have a number of file dependencies.

So much so, you can easily get to seven files without trying. Still not convinced?

Keep count as we go through the following list...:

Start with:

  • an HTML document (.html)

Then, most HTML documents will be accompanied by:

  • an associated CSS Stylesheet, containing the styles (.css)
  • an associated JS Scriptsheet, containing the scripts (.js)
  • a favicon

Additionally, an HTML document will usually refer to:

  • images (.jpg, .gif, .png, .webp)

Additionally, the HTML document may also refer to:

  • videos (.mp4, avi)

Sometimes, it may even refer to:

  • audio files, music or sound effects (.mp3)

Finally, if the HTML document is a Progressive Web App (PWA), it will also be accompanied by:

  • a manifest.webmanifest
  • a service worker (.js)

This means, if we take a standard PWA with a single image (but no sound or video), we're still looking at no fewer than seven separate files:

  1. HTML Document
  2. Image
  3. CSS Stylesheet
  4. JS Script
  5. Favicon
  6. Web Manifest
  7. Service Worker

An aSP uses a combination of established web techniques like:

  • data URLs
  • SVG Favicons
  • JavaScript Blob Objects
  • the createObjectURL() method

and it really does reduce this set of seven files (or more) to one single file.


References:

Inline WebManifest:

Inline Service Worker:

Releases

No releases published

Packages

No packages published