Version Selector

Choose where the application should be rendered:

Choose whether the application should use an App Shell:

Multi-Page Application with stream-stitched App Shell

Open Variant 🚀 https://thesis-mpa-shell.joku.co

Fully server-rendered upon first visit. After the page is loaded, an HTML Shell consisting of the <head> portion and common <body> elements is added to the browser cache. After clicking a link, the browser performs a full navigation, but now a Service Worker immediately sends the cached App Shell in a Response Stream. It simultaneously requests just the <body> portion of the loaded page from the server and merges the response into the Response Stream.

Single-Page Application with App Shell

Open Variant 🚀 https://thesis-spa-shell.joku.co

No matter which page is requested, the server always responds with the same plain HTML document that contains no content. Once loaded, client-side JavaScript will populate the document with content and handle all subsequent navigations and interactions. On first load, a Service Worker caches the plain HTML document as well as required assets to speed up future pageloads.

Isomorphic Application with stream-stitched App Shell

Open Variant 🚀 https://thesis-isomorphic-shell.joku.co

Initial load works the same way as the MPA with stream-stitched App Shell variant: the server only responds with the HTML partial that contains the content, which is combined with the cached App Shell by the Service Worker. After load, JavaScript hydrates the page and handles all further navigations and interactions.

Multi-Page Application

Open Variant 🚀 https://thesis-mpa.joku.co

A "classic" website, pages are fully server-rendered. After clicking a link, the browser performs a full navigation, loading a new document in a fresh context. Interactions are handled partly through <form> navigations, partly through a small amount of client-side JavaScript.

Single-Page Application

Open Variant 🚀 https://thesis-spa.joku.co

No matter which page is requested, the server always responds with the same plain HTML document that contains no content. Once loaded, client-side JavaScript will populate the document with content and handle all subsequent navigations and interactions.

Isomorphic Application

Open Variant 🚀 https://thesis-isomorphic.joku.co

Upon first visit the server responds with the fully-rendered HTML document for the requested page. Once loaded in the browser, client-side JavaScript will take over in a process called hydration and handle all subsequent navigations and interactions.