NETCONOMY
Load Performance in Single Page Applications
Description
Christian Oberhamberger von NETCONOMY erläutert in seinem devjobs.at TechTalk die Dos and Don'ts von Load Performance in Single Page Applications.
Beim Videoaufruf stimmst Du der Datenübermittlung an YouTube und der Datenschutzerklärung zu.
Video Zusammenfassung
In Load Performance in Single Page Applications zeigt Christian Oberhamberger, wie SPAs die Backend-Last reduzieren, aber durch große Initial-Bundles die Ladezeit riskieren – besonders für öffentliche Websites. Er skizziert Optimierungsansätze wie Pre-Rendering (SSR/SSG), (partielle) Rehydration, Chunk Splitting, Critical-CSS und Lazy Loading, legt den Schwerpunkt aber auf sauberes Messen mit Lighthouse und den Core Web Vitals: passende Hardware, stabile Referenzseiten, GitHub-Dokumentation, Tag-Manager ausblenden, eigenes schlankes Chrome-Profil und mindestens fünf Läufe. Abschließend empfiehlt er kontinuierliches Monitoring (z. B. mit Grafana), um Trends zu verfolgen und Verbesserungen datenbasiert zu steuern.
Load Performance in Single-Page-Applications: Messstrategien, Do’s & Don’ts und kontinuierliches Monitoring nach „Load Performance in Single Page Applications“ von Christian Oberhamberger (NETCONOMY)
Warum Ladeperformance in SPAs heute entscheidend ist
Bei „Load Performance in Single Page Applications“ fasst Christian Oberhamberger (Frontend Architect und Chapter Lead bei NETCONOMY) ein Thema zusammen, das im modernen Web nicht mehr wegzudenken ist: die Ladeperformance von Single-Page-Applications (SPAs). Aus unserer DevJobs.at-Perspektive war besonders deutlich, wie konsequent er den Bogen von Architekturentscheidungen bis hin zu handfesten Messpraktiken spannt.
Die Ausgangslage: In den letzten Jahren sind On-Premise-Lösungen in die Cloud gewandert, Monolithen wurden zu Microservices, und „Touchpoints“ wanderten näher an die Nutzer:innen. SPAs gehören zu dieser Entwicklung. Statt dass das Backend für jeden View HTML rendert, übernimmt das Gerät der Nutzer:innen einen großen Teil der Arbeit. Das reduziert Backend-Last und ermöglicht eine flüssige Interaktion ohne klassische Seitenwechsel.
Gleichzeitig verschiebt sich damit die Herausforderung: Die anfängliche Auslieferung kann schwergewichtig werden, weil ein größeres JavaScript-Bundle an den Client gesendet werden muss. Für Backoffice-Anwendungen mag das akzeptabel sein. Doch für öffentlich zugängliche Websites – insbesondere wenn Auffindbarkeit und Traffic eine Rolle spielen – gewinnt die Ladeperformance deutlich an Gewicht. Genau dort setzt die Session an: Wie kommen Teams weg von Bauchgefühlen und hin zu belastbaren Messungen und wirksamen Optimierungen?
Architektur- und Build-Strategien: Was SPAs schneller macht
Christian Oberhamberger nennt eine Reihe von Ansätzen, die Performance in SPAs verbessern können. Die Liste ist bewusst unvollständig, zeigt aber die Bandbreite möglicher Maßnahmen:
- Pre-Rendering: Server-Side Rendering (SSR) und Static-Site Generation (SSG)
- Rehydration und teilweise Rehydration
- Chunk Splitting
- Kritisches CSS inline (Critical Style Inlining)
- Lazy Loading
Er betont, dass diese Themen oft komplizierter klingen, als sie am Ende sind – Frameworks können hier unterstützen. Und: Die Liste ließe sich noch deutlich verlängern. Aus unserer Sicht ist das der zentrale Hinweis, die Optimierung nicht als einzelne Maßnahme zu sehen, sondern als Werkzeugkasten. Welches Werkzeug passt, entscheidet der Kontext des Touchpoints.
„Nur der Initial Load für den ganzen Touchpoint kann jetzt problematisch sein, weil wir ein großes JavaScript-Bundle ausliefern müssen.“
Was wir mitnehmen: Der größte Hebel liegt oft am Anfang der User Journey. Die technische Reise führt deshalb vom Bau der Anwendung (Chunking, CSS-Strategie, Lazy Loading) über das Rendern (SSR/SSG, Rehydration) hin zu einer präzisen Messung.
Ohne Messen keine Verbesserung: Warum Lighthouse im Mittelpunkt steht
Wer Performance verbessern will, muss wissen, wo er startet und ob Maßnahmen wirken. Oberhamberger empfiehlt klar Lighthouse. Gründe dafür:
- Es wird von Google entwickelt und gepflegt.
- Es setzt sinnvolle Standards über Websites hinweg, inklusive der „Core Web Vitals“.
- Es ist Open Source.
- Es bietet eine CLI.
- Es ist leicht zugänglich (Chrome DevTools, PageSpeed Insights u. a.).
Die leichte Zugänglichkeit hat allerdings Tücken: Ergebnisse sind nur so gut wie die Messpraxis. Schon kleine Abweichungen in der Testumgebung führen zu stark variierenden Resultaten. Genau deshalb folgt in der Session ein Set an Do’s & Don’ts, das wir als unmittelbare Handlungsanleitung empfehlen.
Do’s: So messen Teams konsistent und aussagekräftig
1) Auf adäquater Hardware messen
Wer Lighthouse auf einem „dicken“ Entwickler-Laptop laufen lässt, sieht häufig bessere Ergebnisse – selbst wenn Lighthouse im Hintergrund drosselt. Umgekehrt verfälschen hohe CPU-Lasten (z. B. durch eine aktive Videokonferenz oder Bildschirmfreigabe) die Messung ebenfalls.
Praktischer Hinweis aus der Session: In Lighthouse lässt sich ein CPU-Benchmark einsehen. Der Benchmark beschreibt die Leistungsfähigkeit der Testmaschine und beeinflusst die Ergebnisse. Wer genaue Aussagen treffen möchte, berücksichtigt diesen Wert und dokumentiert die Testumgebung.
Empfehlung: In der Lighthouse-Auswertung nach unten scrollen und den CPU-Benchmark beachten. Er steht in Beziehung zum Ergebnis.
2) Code genauso prüfen wie Content
Ein typisches Szenario: Zwischen zwei Messläufen gehen Optimierungen live – und im CMS landen gleichzeitig drei neue Bilder auf der Seite. Die Performance-Kurve spiegelt dann weniger die Code-Verbesserung als die geänderten Inhalte wider.
Die pragmatische Lösung: Eine möglichst statische Referenzseite wählen. Als Beispiel nennt Oberhamberger das Impressum. Daran lassen sich Veränderungen im Code nachvollziehen, ohne dass wechselnde Inhalte die Aussagen verfälschen.
3) In die GitHub-Dokumentation von Lighthouse schauen
Auch wenn es umfangreiche Ressourcen zu Lighthouse im Web gibt: Wer tief in Scoring, Metriken und Einrichtung einsteigen will, wird im GitHub-Repository fündig. Dort sind Details dokumentiert, die Entwickler:innen helfen, ihre Umgebung und Interpretation zu schärfen.
Don’ts: So vermeiden Teams Messfallen
1) Nicht das messen, was nicht zu eurem Code gehört
Viele Websites laden über Tag-Manager zusätzliche Skripte: Analytics, Heatmaps und andere Tools. Diese Ebene liegt über dem eigenen Code. Oberhamberger macht den Unterschied klar: Für die Gesamtbetrachtung ist es sinnvoll, das Gesamtergebnis zu kennen. Wer aber gezielt die Performance seines Codes verbessern will, sollte diese Fremdscripte für die Messung blockieren.
Konkret empfiehlt er das Network Request Blocking in den DevTools. Auch per CLI ist das möglich. Nur in PageSpeed Insights lässt sich das nicht abbilden.
„Wenn du herausfinden willst, wie du deinen Code verbessern kannst, miss nicht die Tag Manager.“
2) Nicht das Haupt-Chrome-Profil verwenden
Das ist naheliegend – passiert aber oft trotzdem: Im Standardprofil sind Plugins aktiv, die Messungen beeinflussen. Besser ist ein eigenes, klar gekennzeichnetes Profil, in dem Erweiterungen deaktiviert sind. So bleibt die Messung sauber, und auch die spätere Detailanalyse wird einfacher.
3) Nicht nur einmal messen
Kein Page Load gleicht dem anderen. Unterschiedliche Netzbedingungen – insbesondere im öffentlichen Internet – sorgen für Varianz. Einzelmessungen sind deshalb kaum aussagekräftig. Oberhamberger empfiehlt mindestens fünf Durchläufe. Über längere Zeit gemessen ergibt sich ein viel belastbareres Bild.
„Die empfohlene Anzahl sind mindestens fünf Runs.“
Von der Momentaufnahme zur Zeitreihe: Monitoring einrichten
Der letzte, aber zentrale Baustein: kontinuierliches Monitoring. Wenn Performance relevant ist, sollte sie fortlaufend erhoben und sichtbar gemacht werden. Oberhamberger nennt Grafana als Werkzeug, das sie selbst verwenden. Das hat mehrere Vorteile:
- Ein dediziertes Umfeld für Messungen, unabhängig vom lokalen Browserprofil und der aktuellen CPU-Last.
- Automatisierte Messläufe im Hintergrund.
- Mehr Datenpunkte über die Zeit, inklusive Vergleichsmöglichkeiten und Einblick in Antwortzeiten.
- Zugriff auf viele Daten aus Lighthouse, die sich für Verbesserungen nutzen lassen.
Für uns als DevJobs.at ist der Subtext klar: Teams brauchen Prozesse, nicht nur Tools. Erst die regelmäßige Erhebung im stabilen Umfeld macht Trends sichtbar und verhindert, dass einzelne Ausreißer Entscheidungen dominieren.
Ein praxisnaher Ablauf für Teams (abgeleitet aus der Session)
Auf Basis der Empfehlungen von Christian Oberhamberger lässt sich ein kompakter Workflow formulieren:
- Referenzseite definieren:
- Eine weitgehend statische Seite wählen (z. B. Impressum), um Codeänderungen isoliert zu bewerten.
- Messumgebung trennen:
- Separates Chrome-Profil anlegen, Plugins deaktivieren, Profil klar markieren.
- Fremdscripte blockieren (für Code-Fokus):
- Tag-Manager, Analytics, Heatmaps via Network Request Blocking bzw. CLI ausklammern (nicht möglich in PageSpeed Insights).
- Hardware-Bedingungen dokumentieren:
- CPU-Benchmark in Lighthouse beachten und als Kontext zum Ergebnis notieren.
- Mehrfach messen:
- Mindestens fünf Läufe pro Messpunkt; Varianz beobachten.
- Maßnahmen umsetzen:
- Die genannten Hebel (SSR/SSG, Rehydration, Chunk Splitting, Critical CSS, Lazy Loading) priorisieren und inkrementell einführen.
- Monitoring etablieren:
- Messungen über Zeit automatisieren und visualisieren (z. B. mit Grafana, wie in der Session gezeigt).
- Vergleich und Ableitung:
- Trends über Wochen und Monate auswerten und Optimierungen anhand der gewonnenen Lighthouse-Daten planen.
Dieser Ablauf spiegelt die Kernaussage der Session: Ohne wiederholbare Messung ist Optimierung blind. Und ohne Monitoring werden einmalige Verbesserungen von Content- oder Umfeldänderungen überlagert.
Kontext: Warum SPAs die Messlatte verlagern
Oberhamberger zeichnet eingangs das größere Bild: SPAs sind eine logische Folge davon, dass Touchpoints näher an die Nutzer:innen rücken. Interaktion ohne harte Seitenwechsel ist attraktiv. Doch das verlagert Arbeit in den Client – insbesondere beim Initial Load. Genau dort entscheidet sich, ob die technische Stärke der SPA beim Publikum ankommt.
Für interne Backoffice-Anwendungen kann das trade-off akzeptabel sein. Anders sieht es bei öffentlichen Websites aus, bei denen Sichtbarkeit und Zugänglichkeit eine Rolle spielen. Hier zählt jede Optimierung am Einstieg in die Anwendung. Die genannten Maßnahmen (Pre-Rendering/SSR/SSG, Rehydration, Chunk Splitting, Critical Style Inlining, Lazy Loading) sind in Summe ein Werkzeugkasten, den Teams bewusst einsetzen sollten.
Lighthouse bewusst einsetzen: Zugänglich, aber nicht „einfach so“
Die Session macht deutlich, dass Lighthouse gerade wegen seiner Zugänglichkeit oft falsch benutzt wird. PageSpeed Insights ist nur einen Klick entfernt, die DevTools bieten einen direkten Start – doch die Messung ist nur so belastbar wie die Testbedingungen. Drei Aspekte stechen hervor:
- Hardware und Lastzustand des Messsystems nicht ignorieren.
- Messobjekte stabil halten (Content-Änderungen kontrollieren oder Referenzseiten nutzen).
- Testumgebung bereinigen (separates Profil, Plugins aus, Fremdscripte blocken).
Wer diese Grundlagen im Griff hat, kann mit Lighthouse konsistent messen – und anschließend gezielt optimieren.
Zitate und Kernbotschaften, die hängen bleiben
- „Dynamisches Rendern eines Touchpoints ist teuer.“
- „Mit SPAs rendert das Gerät der Nutzer:innen – weniger Last, bessere UX, aber potenziell schwerer Initial Load.“
- „Frameworks können helfen; die Maßnahmen klingen komplexer, als sie sind.“
- „Lighthouse ist Open Source, hat eine CLI und etabliert sinnvolle Standards – inklusive Core Web Vitals.“
- „Auf die Messpraxis kommt es an: Hardware, Profil, Fremdscripte, Wiederholungen.“
- „Mindestens fünf Runs für aussagekräftige Ergebnisse.“
- „Richtet Monitoring ein – vergleicht über die Zeit. Wir nutzen dafür Grafana.“
Häufige Fallstricke – und wie die Session sie adressiert
- Einmal messen, sofort handeln: Die Session rät klar zu mehreren Läufen. Unterschiedliche Netzbedingungen machen Einzelwerte kaum aussagekräftig.
- Alles in einem messen: Für die Codeoptimierung werden Tag-Manager und andere Skripte via Blocking ausgeklammert. Erst das trennt Ursachen sinnvoll.
- Standardprofil im Browser verwenden: Ein spezielles Profil mit deaktivierten Erweiterungen verhindert Störfaktoren.
- Content und Code vermischen: Eine statische Referenzseite entkoppelt Codeänderungen von CMS-Aktivität.
- Dokumentation übergehen: Wer Score-Details und Messlogik verstehen will, findet sie im GitHub-Repository von Lighthouse.
Diese Punkte sind keine theoretischen Feinheiten, sondern praktische Stopper, die echte Projekte ausbremsen. Der Mehrwert der Session liegt darin, diese Stolpersteine kompakt zu benennen und mit konkreten Hinweisen zu versehen.
Was wir als DevJobs.at mitnehmen
- Performance ist Prozess: Messen, interpretieren, optimieren, überwachen – in dieser Reihenfolge.
- SPAs sind kein Selbstläufer: Der Vorteil der Interaktion ohne Seitenwechsel erkauft sich einen potenziell teuren Initial Load.
- Tooling ist nur der Anfang: Lighthouse ist stark – der Unterschied liegt in der Anwendung (Hardware, Profil, Blocking, Wiederholung).
- Monitoring macht den Unterschied: Zeitreihen schlagen Momentaufnahmen. Trends sind entscheidend für Entscheidungen.
Ein kompaktes Maßnahmenpaket, direkt anwendbar
- Pre-Rendering (SSR/SSG), Rehydration (auch teilweise), Chunk Splitting, Critical Style Inlining und Lazy Loading in die Roadmap aufnehmen.
- Lighthouse systematisch einsetzen: geeignete Hardware, separate Profile, Blocking von Fremdscripten, mehrere Läufe.
- Referenzseiten definieren, um Codeänderungen sauber zu bewerten.
- Monitoring aufsetzen und über Zeit vergleichen; laut Session ist Grafana dafür im Einsatz.
Fazit
„Load Performance in Single Page Applications“ mit Christian Oberhamberger (NETCONOMY) verdichtet aktuelle Best Practices in eine klare Handlungsanleitung. Die Kernidee ist einfach und wirkungsvoll: SPAs verlagern Arbeit zum Client, darum entscheidet der Initial Load über den ersten Eindruck. Wer gezielt optimieren will, misst richtig – nicht nur einmal, nicht im Zufallsprofil, nicht mit fremden Skripten – und führt die Ergebnisse in ein kontinuierliches Monitoring über. Genau das macht Performancearbeit vom einmaligen Tuning zur nachhaltigen Produktdisziplin.
Für Teams, die heute öffentlich zugängliche Touchpoints betreiben, ist diese Sichtweise essenziell. Die Tools existieren, die Strategien sind benannt – der Unterschied liegt darin, Messung und Optimierung zur Routine zu machen und die richtigen Fragen zu stellen: Was messen wir? Unter welchen Bedingungen? Über welchen Zeitraum? Und wie trennen wir Codeeffekte von externen Einflüssen? Die Session liefert dafür die benötigten Leitplanken – präzise, praxisnah und unmittelbar umsetzbar.