Moderne Multi-Page Apps

Fork me on GitHub

Wie kriege ich das trotzdem?

Geschwindigkeit

Für MPAs gibt es kleine JavaScript-Libraries, die genau wie SPAs nur den relevanten Teil des DOMs austauschen. Wir fragen zwar das ganze HTML an, nehmen aber nur einen Teil davon raus und ersetzen den alten Teil des DOMs mit dem neuen. Der Browser muss damit nicht jedes mal die ganze Seite neu aufbauen. Die Navigation, Header, Footer, CSS und Javascript sind schon geparsed und gerendert. Bildlich passiert folgendes:

Gif, welches das Ersetzen eines Fragments im DOM illustriert.

Nur der rot markierte Teil wird ersetzt. Für diese simple Aktion muss der Browser kein JSX interpretieren. Ich muss keinen Router installieren um die URL korrekt abzubilden.

Caching

Caching ist ein integrierter Bestandteil von HTTP. Natürlich können auch MPAs Caching verwenden.

Offlinefähigkeit

Es spricht nichts dagegen, auch mit MPAs komplette Progressive Web Apps zu bauen. Service-Worker funktionieren bei beiden Ansätzen.