In diesem Workshop zur asynchronen Programmierung beginnen die Teilnehmer mit dem Erlernen der Grundprinzipien, einschließlich Callbacks, Promises und Async/Await, und wie diese die Codeausführung und Fehlerbehandlung verbessern. Weiterführend wird das Verständnis durch Themen wie Event Loops, Nebenläufigkeit und Parallelität vertieft, ergänzt durch den Einsatz moderner Bibliotheken und Frameworks. Der Abschluss des Workshops konzentriert sich auf die praktische Anwendung dieser Konzepte durch die Einführung von Coroutinen und Flows, wobei fortgeschrittene Operationen und Best Practices zur effektiven Nutzung in realen Projekten behandelt werden.
Erklärung der Grundkonzepte und der Notwendigkeit asynchroner Ansätze.
Unterschiede zu synchroner Programmierung und die spezifischen Probleme, die asynchrone Methoden lösen.
Callback-Funktionen
Was sind Callbacks und wie funktionieren sie in der Praxis?
Typische Probleme mit Callbacks wie Callback-Hell und wie man sie vermeiden kann.
Promises
Einführung in Promises als Lösung für einige der Probleme mit Callbacks.
Erstellung und Verwendung von Promises, inklusive Chaining und Fehlerbehandlung.
Async/Await
Wie Async/Await die Handhabung von asynchronem Code vereinfacht.
Umwandlung von Promise-basiertem Code in Async/Await für klareren und wartbareren Code.
Fehlerbehandlung in asynchronem Code
Best Practices für das Catchen und Weiterleiten von Fehlern in Callbacks, Promises und Async/Await.
Strategien zur Fehlerbehebung und -prävention in komplexen asynchronen Flows.
Übung des Tages: Implementierung einer kleinen Anwendung, die asynchrone Webanfragen verwendet, um Daten zu fetchen und diese sicher zu verarbeiten, inklusive Fehlerhandling.
Event Loop und dessen Verhalten
Detaillierte Betrachtung, wie der JavaScript Event Loop funktioniert.
Beispiele, wie asynchroner Code den Event Loop beeinflusst.
Parallelität und Nebenläufigkeit
Unterschiede zwischen Parallelität und Nebenläufigkeit in der asynchronen Programmierung.
Einsatz von Worker Threads oder parallelen Prozessen zur Leistungssteigerung.
State Management in asynchronen Anwendungen
Techniken und Herausforderungen im Management von Zuständen in einer asynchronen Umgebung.
Einsatz moderner Bibliotheken/Frameworks zur Vereinfachung des State Managements.
Performance-Optimierung
Techniken zur Verbesserung der Performance asynchroner Anwendungen.
Profiling und Benchmarking asynchronen Codes.
Testen asynchroner Anwendungen
Ansätze und Werkzeuge zum Testen asynchroner Logik.
Fallstricke und Best Practices beim Schreiben von Tests für asynchrone Operationen.
Übung des Tages: Entwickeln und Testen einer asynchronen Funktion, die mehrere externe Services parallel abfragt und die Ergebnisse aggregiert.
Einführung in Coroutinen
Grundkonzepte und Vorteile von Coroutinen gegenüber traditionellen asynchronen Ansätzen.
Erstellung und Verwaltung von Coroutinen in einer Programmiersprache, die diese unterstützt (z.B. Kotlin).
Coroutinen und ihre Kontrollstrukturen
Detaillierte Betrachtung der verschiedenen Kontrollstrukturen innerhalb von Coroutinen, einschließlich Start, Pause und Wiederaufnahme.
Beispiele für die Verwendung von Kontrollstrukturen zur Steuerung des Programmflusses in asynchronen Anwendungen.
Flows in asynchroner Programmierung
Einführung in das Konzept von Flows als Methode zur Repräsentation von asynchronen Datenströmen.
Unterschiede und Gemeinsamkeiten zwischen Flows und anderen asynchronen Datenhandhabungen wie Observables.
Erweiterte Operationen mit Flows
Umfassende Behandlung von fortgeschrittenen Techniken zur Manipulation und Steuerung von Datenströmen mit Flows.
Praktische Beispiele, wie Flows in realen Anwendungen effektiv eingesetzt werden können.
Best Practices und Fallstudien zu Coroutinen und Flows
Diskussion der besten Praktiken für die Implementierung und Optimierung von Coroutinen und Flows.
Analyse von Fallstudien, die zeigen, wie Coroutinen und Flows erfolgreich in großen Projekten eingesetzt wurden.
Übung des Tages: Implementierung einer komplexen Anwendung, die intensiven Gebrauch von Coroutinen und Flows macht, um eine reaktive Benutzererfahrung zu bieten.
Dauer/zeitlicher Ablauf:
3 Tage
Zielgruppe:
Das Seminar ist ideal für Softwareentwickler, Systemarchitekten und technische Projektmanager, die bereits Grundkenntnisse in der Programmierung besitzen und ihre Fähigkeiten in der asynchronen Programmierung erweitern möchten. Teilnehmende sollten mit den Grundprinzipien der Softwareentwicklung vertraut sein und idealerweise Erfahrung mit mindestens einer modernen Programmiersprache haben. Das Training ist besonders wertvoll für Teams, die an großangelegten, leistungsintensiven Anwendungen arbeiten, bei denen Effizienz und Skalierbarkeit kritische Faktoren sind.
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern.
Diese Cookies werden nicht automatisiert gesetzt.
Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren.
Weitere Informationen finden Sie hier.