Windows Forms zu WPF migrieren: Der vollständige Guide (2026)

Windows Forms zu WPF migrieren – Vorher/Nachher Vergleich
Windows Forms zu WPF migrieren – Vorher/Nachher Vergleich

Wer eine gewachsene Windows-Desktop-Anwendung von Windows Forms zu WPF migrieren möchte, steht vor einer der häufigsten und lohnendsten Modernisierungsaufgaben in der .NET-Welt. Die Ausgangslage ist dabei fast immer dieselbe: eine Anwendung, die seit Jahren zuverlässig läuft – aber bei jeder neuen Anforderung mehr Widerstand leistet, weil die Architektur nicht für Wachstum gebaut wurde.

Windows Forms existiert seit dem Jahr 2002. Für seine Zeit war es revolutionär – einfach, schnell, produktiv. Heute, mehr als zwei Jahrzehnte später, zeigt die Technologie deutliche Schwächen:

  • Keine echte Trennung von UI und Logik – Business-Code, Datenbankzugriffe und UI-Events landen in denselben Klassen. Das Ergebnis: schwer testbarer, eng gekoppelter Code.
  • Eingeschränkte UI-Möglichkeiten – Animationen, moderne Controls, adaptive Layouts und High-DPI-Support sind in WinForms entweder unmöglich oder aufwendig zu erkaufen.
  • Kein Datenbinding auf Augenhöhe – WPF bietet ein mächtiges, bidirektionales Binding-System. In Windows Forms ist Datenbinding ein nachträglicher Gedanke.
  • Technische Schulden häufen sich – Jede neue Anforderung wird teurer, weil die Architektur nicht skaliert.
  • Nachwuchsmangel – Entwickler, die neu ins Team kommen, kennen WinForms kaum noch. WPF und MVVM hingegen sind Standard.

Das bedeutet nicht, dass Windows Forms morgen abgekündigt wird – Microsoft pflegt es noch. Aber die Innovationskurve ist flach, und der Abstand zu modernen Technologien wächst täglich.

WPF + MVVM: Was Sie konkret gewinnen

WPF (Windows Presentation Foundation) ist seit .NET 3.0 – also seit 2006 – Microsofts Antwort auf die Schwächen von WinForms. Kombiniert mit dem MVVM-Pattern (Model–View–ViewModel) entsteht eine Architektur, die skaliert, testbar ist und echte Wartbarkeit liefert.

KriteriumWindows FormsWPF + MVVM
UI / Logik getrennt❌ Kaum möglich✅ Konsequent durch MVVM
Unit-Tests❌ Schwer bis unmöglich✅ ViewModels vollständig testbar
Datenbinding⚠️ Rudimentär✅ Mächtig, bidirektional
Design-Flexibilität❌ Stark eingeschränkt✅ Vollständig über XAML steuerbar
High-DPI / 4K⚠️ Nachträgliche Patches nötig✅ Nativ unterstützt
Animationen❌ Kaum vorhanden✅ Erstklassig integriert
Langzeitpflege⚠️ Wenig Innovation✅ Aktiv weiterentwickelt (.NET 9/10)

(High-DPI: Seit .NET 6+ hat WinForms Application.SetHighDpiMode() als native Unterstützung.)

Die drei Migrationsstrategien im Überblick

Drei Migrationsstrategien Windows Forms zu WPF: Big Bang, Strangler Fig und Hybrid-Hosting im Vergleich

Es gibt nicht einen richtigen Weg. Welche Strategie passt, hängt von Größe, Risikotoleranz und Budget Ihrer Anwendung ab.

Strategie 1: Big Bang – Komplett-Neuentwicklung

Die gesamte Anwendung wird von Grund auf neu in WPF + MVVM entwickelt. Die alte WinForms-Anwendung läuft parallel, bis die neue fertig ist.

Geeignet für: Kleine bis mittelgroße Anwendungen (unter ~20.000 LOC), bei denen der bestehende Code so stark verwachsen ist, dass eine Überarbeitung länger dauern würde als eine Neuentwicklung.

Vorteil: Sauberste Lösung, kein technischer Ballast.
Nachteil: Hohes Risiko, hohe Kosten, lange Zeit ohne produktive Verbesserungen.

Strategie 2: Strangler Fig – Schrittweise Migration

Benannt nach dem Würgefeigenbaum, der langsam den alten Baum ersetzt: Module werden Schritt für Schritt durch WPF-Äquivalente ausgetauscht. Die Anwendung läuft durchgehend produktiv.

Geeignet für: Große Anwendungen (50.000+ LOC), die ständig weiterentwickelt werden müssen. Schrittweise Migration reduziert das Risiko massiv.

Vorteil: Geringes Risiko, kontinuierliche Lieferung, ROI entsteht schon während der Migration.
Nachteil: Längerer Gesamtzeitraum, parallele Pflege beider Technologien nötig.

Strategie 3: Hybrid-Hosting – WPF als Shell um WinForms

WPF übernimmt die äußere Struktur (Navigation, Menü, Fenster-Management), während bestehende WinForms-Controls über WindowsFormsHost eingebettet bleiben und nach und nach ersetzt werden.

Geeignet für: Tight Budget oder sehr komplexe Einzelkomponenten (z.B. proprietäre Steuerelemente), die kurzfristig nicht neu gebaut werden können.

Vorteil: Geringste initiale Kosten, sofort moderner Look.
Nachteil: Technische Schulden bleiben vorerst bestehen, Grenzen der Hybrid-Lösung werden spürbar.

Schritt-für-Schritt: So läuft eine WinForms zu WPF Migration in der Praxis ab

Hier beschreibe ich meinen eigenen Prozess, den ich bei Kundenprojekten anwende – von der ersten Analyse bis zur Übergabe.

Phase 1: Analyse & Bewertung (1–3 Tage)

  • Code-Analyse: Wie viele Lines of Code, wie tief ist die Kopplung, gibt es bereits Tests?
  • Identifikation der Module und ihrer Abhängigkeiten
  • Bewertung: Welche Strategie (Big Bang / Strangler / Hybrid) ist sinnvoll?
  • Roadmap und Kostenabschätzung

Phase 2: Architektur-Setup (2–5 Tage)

Phase 3: Schichtweise Migration

  • Business-Logik zuerst – Diese kann oft 1:1 übernommen werden, da sie (im Idealfall) nicht UI-abhängig ist
  • Datenzugriffsschicht – Repository-Pattern einführen, Datenbankzugriffe kapseln
  • ViewModels – Für jede View ein passendes ViewModel erstellen
  • Views (XAML) – Windows Forms-Formulare als XAML-Views neu aufbauen, Bindings setzen

Phase 4: Testing & Review

  • Unit-Tests für ViewModels und Services schreiben
  • Funktionale Abnahme mit dem Kunden (Verhalten identisch mit altem System?)
  • Performance-Check (WPF-Rendering, Memory-Profiling)

Was kostet eine Windows Forms zu WPF Migration?

Eine pauschale Aussage ist hier seriöserweise nicht möglich – aber folgende Orientierungswerte helfen:

AnwendungsgrößeStrategieZeitaufwand (grob)
Klein (<10.000 LOC, ~5–10 Formulare)Big Bang2–6 Wochen
Mittel (10.000–50.000 LOC)Strangler oder Big Bang2–6 Monate
Groß (>50.000 LOC)Strangler Fig6–18+ Monate

Entscheidend für die Kosten sind neben der Codegröße vor allem: Qualität des bestehenden Codes (wie stark ist die Logik in den UI-Events vergraben?), Testabdeckung (gibt es Tests, die Regressions abfangen?) und die fachliche Komplexität (wie viele Sonderfälle gibt es in der Business-Logik?).

Das Strangler Fig Pattern geht auf Martin Fowler zurück – eine ausführliche Erklärung findest du in seinem Original-Artikel auf martinfowler.com.

💡 Sie wissen noch nicht, in welche Kategorie Ihr Projekt fällt?

Schicken Sie mir kurz, was Sie haben:

  • ➡️ Technologie
  • ➡️ Grobe Codegröße
  • ➡️ Grober Zustand des Codes

und ich sage Ihnen in einem kurzen Gespräch, welche Strategie sinnvoll ist und was das realistisch bedeutet.

Oder zuerst einen Blick ins Portfolio mit abgeschlossenen Projekten werfen

Die häufigsten Fehler bei der Migration – und wie man sie vermeidet

In meiner Praxis sehe ich immer wieder dieselben Stolperfallen – besonders bei Teams, die WPF zum ersten Mal einsetzen. Das folgende Beispiel zeigt einen typischen WinForms-Code aus einem echten Legacy-Projekt und das WPF-MVVM-Äquivalent nach der Modernisierung:

Windows Forms Legacy Code – SQL Injection, God Class, kein async/await
❌ Vorher: WinForms Code-Behind mit 18 Problemen in 50 Zeilen

Was im Vorher-Code konkret schiefläuft

  1. SQL Injection – Benutzereingaben werden direkt in SQL-Strings konkateniert ("SELECT * FROM Kunden WHERE id = " + textBox1.Text). Ein Angreifer kann damit die gesamte Datenbank auslesen, manipulieren oder löschen. Je nach firmeninternen Netzwerk-Aufbau häufig eher eine Schnittstelle zur Datenbank sinnvoller, da sicherer.
  2. Passwort im Klartext – Der Datenbankzugang inklusive Passwort steht direkt im Source Code (Password=1234;). Landet dieser Code in einem Repository, ist die Datenbank kompromittiert. Wird die Anwendung dekompiliert – gleiches Problem.
  3. Alles in einer KlasseForm1 enthält gleichzeitig UI-Logik, Datenbankzugriffe und Geschäftslogik. Kein Teil davon ist isoliert testbar oder wiederverwendbar.
  4. Leeres catch {} – Fehler beim Speichern werden vollständig verschluckt. Die Anwendung tut so, als wäre alles gut – der Nutzer merkt nicht, dass seine Daten nicht gespeichert wurden.
  5. Kein async/await – Jeder Datenbankaufruf blockiert den UI-Thread. Die Anwendung friert ein, solange die Abfrage läuft.
  6. Hardcodierte PfadeC:\\bilder\\aktiv.png funktioniert ausschließlich auf dem Rechner des ursprünglichen Entwicklers.
  7. Nichtssagende Namenbutton1, label5, textBox2 – kein Entwickler versteht ohne Laufzeit, was diese Controls bedeuten.
  8. Kein Connection-ManagementSqlConnection und SqlDataReader werden nicht in using-Blöcken verwendet. Bei einer Exception bleiben Datenbankverbindungen offen.

Weitere gängige Fehler / Probleme

  1. Code-Behind-Sucht – Der größte Fehler: Logik aus den WinForms-Events einfach 1:1 in den WPF Code-Behind kopieren. Dann haben Sie WPF-Code, der wie WinForms aussieht – und keinen der Vorteile.

    Lösung: Konsequent MVVM, Commands statt Click-Events.
  2. Kein sauberes Bindingx:Name und direkter Code-Behind-Zugriff auf Controls statt Datenbinding.

    Lösung: Jede UI-Interaktion läuft über Bindings und Commands.
  3. Alles auf einmal migrieren wollen – Ohne klare Phaseneinteilung wird das Projekt unüberschaubar.

    Lösung: Modulweise vorgehen, lieferfähige Zwischenstände einplanen.
  4. Dispatcher-Probleme ignorieren – WPF ist threading-sensitiv. UI-Updates aus Hintergrund-Threads ohne Dispatcher führen zu Crashes.

    Lösung: Von Anfang an asynchrone Patterns (async/await) und korrekte Dispatcher-Aufrufe implementieren.
  5. XAML-Performance vernachlässigen – Zu tiefe Visual Trees, fehlende Virtualisierung in Listen, zu viele Converter-Chains.

    Lösung: VirtualizingStackPanel für Listen, regelmäßiges Performance-Profiling.

Das Nachher-Bild zeigt dasselbe fachliche Verhalten – aber in einem KundeViewModel mit sauberer Dependency Injection, async/await durchgängig, benannten Properties statt anonymer Controls, und ohne eine einzige Datenbankzeile im ViewModel selbst.

Das ViewModel delegiert nur, funktioniert als „vernetzende Schicht“. Natürlich könnten weitere Anregungen, wie z. B. MediatR, dem CommunityToolkit, etc. eingefügt werden, dies lasse ich aber erstmal bewusst weg 😉.

WPF MVVM ViewModel – sauber, testbar, async
✅ Nachher: Sauberes WPF MVVM – testbar, sicher, lesbar

Planung mit Event Storming: Warum Domänenwissen vor der ersten Codezeile entscheidet

Einer der häufigsten Gründe, warum Migrationsprojekte länger dauern als geplant oder teurer werden als kalkuliert, hat nichts mit Technologie zu tun. Er liegt früher: im fehlenden gemeinsamen Verständnis darüber, was das System eigentlich tun soll – und wer welche Rolle dabei spielt.

In meinen Projekten setze ich deshalb bewusst auf Event Storming als Planungsmethode, bevor eine einzige Zeile neuer Code geschrieben wird. Event Storming ist ein kollaborativer Workshop-Ansatz aus dem Domain-Driven Design (DDD), bei dem Entwickler und Fachexperten gemeinsam die Prozesse eines Systems visualisieren – mit Klebezetteln, klar definierten Ereignissen und expliziten Rollen. Das Ergebnis: ein gemeinsames Bild davon, wer im System was tut, wer was darf, und wo die echten Schmerzpunkte und Hotspots liegen.

Gerade bei Legacy-Anwendungen, die über Jahre gewachsen sind, steckt enormes implizites Wissen in den Köpfen der Anwender – aber nirgends im Code. Event Storming holt dieses Wissen heraus und macht es greifbar. Aus einem solchen Workshop entstehen klare Domänen-Grenzen: Welche Module gehören zusammen? Wo überschneiden sich Verantwortlichkeiten? Welche Teile der alten Anwendung wurden „missbraucht“, weil die eigentlich vorgesehene Lösung fehlte?

Die „Common Language“: Unterschätzt, aber projektentscheidend

Ein Thema, das in der Theorie simpel klingt, aber in der Praxis regelmäßig Probleme verursacht, ist die gemeinsame Sprache – in DDD-Terminologie die Ubiquitous Language. Alle Beteiligten – Auftraggeber, Fachanwender, Entwickler – müssen dieselben Begriffe mit derselben Bedeutung verwenden. Klingt selbstverständlich. Ist es nicht.

Ein konkretes Beispiel aus meiner eigenen Praxis: Ich hatte einen Kunden, der während der Planungsphase abwechselnd von einem „Plugin“ und einer „Extension“ sprach. Ich hörte beide Begriffe, ordnete sie aus Entwicklersicht selbstverständlich als Synonyme ein – und arbeitete entsprechend. Erst im Event-Storming-Workshop stellte sich heraus: Der Kunde meinte mit Plugin und Extension zwei völlig verschiedene Konzepte mit unterschiedlichen Verantwortlichkeiten, unterschiedlichen Lebenszyklen und unterschiedlichen Benutzergruppen. Ohne diesen Workshop wäre die Fehlentwicklung erst Wochen später – und nach vielen Stunden unnötiger Arbeit – aufgefallen.

Genau solche Missverständnisse sind in Legacy-Projekten besonders gefährlich, weil der alte Code die falsche Terminologie oft bereits zementiert hat. Eine saubere Migrations-Planung definiert deshalb frühzeitig ein Glossar: Jeder Begriff, der im Projekt verwendet wird, bekommt exakt eine Bedeutung – schriftlich festgehalten, für alle sichtbar, für alle verbindlich.

Praxisbeispiel: Software für Strafverfolgungsbehörden

Dass dieser strukturierte Ansatz in der Praxis funktioniert, zeigt ein Projekt, das seit 2023 zu meinen prägendsten Erfahrungen zählt: Ein Strafverfolgungsbeamter wandte sich an mich mit dem Wunsch, interne Arbeitswerkzeuge softwaretechnisch zu verbessern. Was folgte, waren sechs verschiedene Softwarelösungen, die ich gemeinsam mit ihm entwickelt und modernisiert habe.

Der Ausgangszustand war typisch für gewachsene Fachanwendungen: sogenannte God-Files – einzelne Klassen oder Dateien mit tausenden Zeilen Code, die alles auf einmal taten – kombiniert mit classic WinForms-Code, bei dem Datenbankzugriffe, Geschäftslogik und UI-Events untrennbar vermischt waren. Das Ergebnis war Code, den man nicht lesen, nicht testen und kaum erweitern konnte.

Nach der Modernisierung: saubere, wartbare WPF-MVVM-Architekturen mit klarer Schichtentrennung, automatisierten Tests und Code, der sich – wie ich es meinen Kunden beschreibe – wie ein Buch liest: von oben nach unten, linear, ohne Überraschungen. Jede Methode tut genau eine Sache. Jede Klasse hat genau eine Verantwortlichkeit. Neue Anforderungen lassen sich einfügen, ohne die bestehende Funktionalität zu gefährden. Dass dieser Anspruch an Code-Qualität in einem sicherheitskritischen Umfeld besonders zählt, versteht sich dabei von selbst.

NuGet-Pakete als Qualitätsbeweis: 60.000+ Downloads

Clean Code und wartbare Architektur sind keine leeren Versprechen – sie lassen sich an öffentlich zugänglichen Ergebnissen messen. Neben Kundenprojekten veröffentliche ich aktiv Bibliotheken auf NuGet, dem zentralen Paket-Repository für .NET-Entwickler. Meine Pakete – darunter rskibbe.I18n für Internationalisierung und rskibbe.Ini für die Arbeit mit INI-Konfigurationsdateien – haben inzwischen über 60.000 Downloads durch andere Entwickler weltweit gesammelt.

Der Ursprung dieser Pakete ist dabei typisch für Probleme, die ich in der Praxis immer wieder antreffe: In zahlreichen Projekten habe ich selbstgebastelten Übersetzungs-Code und selbstgestrickte INI-Parser vorgefunden – jedes Mal neu erfunden, jedes Mal leicht anders, jedes Mal mit denselben Schwächen. Kein einheitliches Verhalten, keine Tests, keine Dokumentation. Ein klassisches Symptom fehlender Wiederverwendbarkeit.

Mir war an einer funktionalen, zentralisierten Lösung gelegen – etwas, das einmal sauber gebaut wird und dann projekt­übergreifend verlässlich funktioniert, ohne dass man dasselbe Problem immer wieder von vorne lösen muss. Genau das habe ich mit rskibbe.I18n und rskibbe.Ini geschaffen: durchdachte, testbare Bibliotheken, die das jeweilige Problem ein für alle Mal lösen – und die andere Entwickler seither in tausenden eigener Projekte einsetzen.

Wer Pakete veröffentlicht, die andere Entwickler freiwillig in ihre eigenen Projekte einbinden, muss liefern: sauberes API-Design, verlässliches Verhalten, gute Dokumentation. Es ist gewissermaßen die härteste Form der Qualitätsprüfung – durch tausende unabhängige Nutzer. Für Sie als Kunde bedeutet das: Die Qualitätsmaßstäbe, die ich an meine eigenen Pakete anlege, gelten genauso für Ihren Code.

FAQ: Häufige Fragen zur Windows Forms zu WPF Migration

Kann man Windows Forms direkt zu WPF konvertieren?

Nein, es gibt kein automatisches Konvertierungstool, das eine WinForms-Anwendung 1:1 in WPF überführt. Die Technologien unterscheiden sich grundlegend: WinForms basiert auf GDI+, WPF auf DirectX und XAML. Eine Migration bedeutet, die UI neu zu bauen – aber die Business-Logik lässt sich in den meisten Fällen weitgehend übernehmen, sofern sie sauber von der UI getrennt ist.

Wie lange dauert eine WinForms zu WPF Migration?

Das hängt von der Codegröße und Codequalität ab. Als Orientierung: Kleine Anwendungen unter 10.000 LOC benötigen 2–6 Wochen, mittlere Projekte (10.000–50.000 LOC) 2–6 Monate, große Anwendungen über 50.000 LOC 6–18+ Monate. Der größte Einflussfaktor ist nicht die Größe, sondern wie stark Business-Logik und UI miteinander verwoben sind.

Was kostet eine WinForms zu WPF Migration?

Eine pauschale Aussage ist seriöserweise nicht möglich. Die Kosten hängen von Codegröße, Codequalität, Testabdeckung und fachlicher Komplexität ab. Entscheidend ist eine sorgfältige Erstanalyse: Wer ohne Analyse kalkuliert, kalkuliert falsch. Eine kostenlose Einschätzung für Ihr konkretes Projekt erhalten Sie im Erstgespräch.

Muss ich alles auf einmal migrieren?

Nein – und bei größeren Anwendungen ist das auch nicht empfehlenswert. Das Strangler-Fig-Pattern ermöglicht eine schrittweise Migration: Modul für Modul wird durch WPF ersetzt, während die Anwendung durchgehend produktiv bleibt. So entsteht ROI bereits während der Migration, und das Risiko bleibt beherrschbar.

WPF oder .NET MAUI – was ist besser für Windows Desktop?

Für reine Windows-Desktop-Anwendungen ist WPF die reifere Wahl: stabiles Ökosystem, breite MVVM-Unterstützung, umfangreiche Drittanbieter-Controls, direkte .NET-Integration. .NET MAUI ist für plattformübergreifende Anwendungen (Windows, macOS, iOS, Android) konzipiert – sinnvoll, wenn dieselbe App auf mehreren Plattformen laufen soll. Wer nur Windows-Desktop entwickelt, ist mit WPF besser bedient.

Kann ich eine VB.NET WinForms Anwendung zu WPF migrieren?

Ja – aber hier kommen zwei Herausforderungen zusammen: die Migration der UI-Technologie (WinForms → WPF) und optional der Sprachwechsel (VB.NET → C#). VB.NET und WPF lassen sich technisch kombinieren, allerdings ist MVVM in VB.NET umständlicher. In der Praxis empfehle ich, den Wechsel zu C# mit der WPF-Migration zu verbinden – der Mehraufwand ist überschaubar, der langfristige Vorteil erheblich.

Lohnt sich WPF noch 2026?

Ja. WPF wird aktiv weiterentwickelt – zuletzt mit .NET 9 und bald .NET 10. Für Windows-Desktop-Anwendungen bleibt WPF der beste Kompromiss aus Reife, Ökosystem und Zukunftssicherheit. Alternativen wie Avalonia oder .NET MAUI sind interessant, aber noch nicht annähernd so ausgereift für komplexe Business-Anwendungen.

Was ist der Unterschied zwischen Code-Behind und MVVM in WPF?

Code-Behind bedeutet: Logik landet direkt in der XAML-Code-Behind-Datei – exakt wie in WinForms, nur mit anderer Syntax. MVVM (Model–View–ViewModel) trennt UI und Logik konsequent: Das ViewModel enthält den gesamten Zustand und die Logik, die View bindet sich per Datenbinding daran. Ergebnis: testbarer Code, klare Verantwortlichkeiten, wartbare Architektur. Code-Behind in WPF ist ein häufiger Migrationsfehler – man hat dann WPF-Code, der sich wie schlechter WinForms-Code verhält.

Fazit: Lohnt sich die Migration zu WPF?

In nahezu allen Fällen: Ja. Nicht weil WPF die einzige moderne Option ist – aber weil es für echte Windows-Desktop-Anwendungen mit .NET der beste Kompromiss aus Reife, Ökosystem und Zukunftssicherheit bleibt.

Was sich ändert, nachdem eine Migration abgeschlossen ist:

  • Neue Features lassen sich deutlich schneller implementieren
  • Entwickler finden sich im Code zurecht – auch wenn sie neu ins Projekt kommen
  • Unit-Tests werden erstmals möglich, was Regressions reduziert
  • Die Anwendung ist wartbar, die technischen Schulden sind abgebaut

Der richtige Zeitpunkt ist jetzt – bevor die Anwendung noch weiter wächst und die Migrations-Kosten steigen.


🚀 Ihre Windows Forms Anwendung modernisieren?

Ich analysiere Ihre Anwendung kostenlos und sage Ihnen in 30 Minuten:

  • ✅ Welche Migrationsstrategie für Ihr Projekt sinnvoll ist
  • ✅ Was die Migration realistisch kostet und dauert
  • ✅ Welche Quick Wins sofort möglich sind

Kein Verkaufsgespräch. Kein Overhead. Direkte Einschätzung von einem Entwickler, der solche Projekte täglich umsetzt.

Oder zuerst einen Blick ins Portfolio mit abgeschlossenen Projekten werfen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Robert Skibbe
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.