Single-page apps have been commonplace for a while and the idea of having to wait for a full pageload to navigate within an app seems quite retrogressive. As a proof-of-concept, I wanted to develop the next logical step; a single-request app.
Why?
This probably doesn’t sound particularly exciting; surely anyone could make a web application which only requires one file, right? Who needs jQuery or a favicon anyway? But:
1 network request, 36.8 kb transferred in 31 ms
How?
For my not-particularly-challenging proof-of-concept that didn’t really achieve that much, I did the following:
- Inlinined libraries (jQuery, etc.)
- Used a base64 favicon
- Inlined all scripts and styles
- Made the application navigable via hashes and query strings
- Authenticated via an associative array of “email => password”
Is this useful? Not really. Am I undeservedly proud? Hells yeah. Should you do this too? Hells no. This method of authentication is horrifically insecure.
That said…
1 network request, 36.8 kb transferred in 31 ms
It’s hard to argue with that.