

Working Draft
Vanessa Otto, Peter Kröner, Hans Christian Reinl, Stefan Baumgartner, Christian »Schepp« Schaefer
Working Draft ist der deutschsprachige Podcast für Frontend-Entwicklung, Webdesign und UI Engineering.
Bei uns geht’s um HTML, CSS, JavaScript, Frameworks wie React, Vue und Angular, Responsive Webdesign, User-Interfaces, moderne UI-Patterns, Barrierefreiheit, Tooling, Design-Systeme, Webstandards und mehr.
Unser Team besteht aus erfahrenen Frontend-Entwickler:innen aus Deutschland und Österreich – mit Gästen aus der Praxis, die regelmäßig Einblicke in aktuelle Tech-Themen geben. Ob neue CSS-Features, die Zukunft von JavaScript, KI im Frontend-Workflow oder einfach gute UI-Erfahrungen: Wir reden drüber – jede Woche neu.
Bei uns geht’s um HTML, CSS, JavaScript, Frameworks wie React, Vue und Angular, Responsive Webdesign, User-Interfaces, moderne UI-Patterns, Barrierefreiheit, Tooling, Design-Systeme, Webstandards und mehr.
Unser Team besteht aus erfahrenen Frontend-Entwickler:innen aus Deutschland und Österreich – mit Gästen aus der Praxis, die regelmäßig Einblicke in aktuelle Tech-Themen geben. Ob neue CSS-Features, die Zukunft von JavaScript, KI im Frontend-Workflow oder einfach gute UI-Erfahrungen: Wir reden drüber – jede Woche neu.
Episodes
Mentioned books

May 7, 2025 • 1h 45min
Revision 660: PHP im Jahr 2025 – Ökosystem zwischen Kontinuität und Wandel
PHP ist eine dieser Sprachen, die man leicht unterschätzt – und die trotzdem nicht weggeht. Im Gegenteil: Sie hat sich über Jahrzehnte hinweg weiterentwickelt und ist heute das Fundament unzähliger produktiver Anwendungen. Grund genug für uns, einen genaueren Blick auf den Status quo und die Entwicklung dahinter zu werfen.
Unser Sponsor
Am 13. Juni 2025 lädt mittwald zum Head in the Cloud Summit ein – ein Tag voller
Inspiration und Austausch auf dem mittwald Campus. Hier treffen sich Webworker, Developer und Digitalagenturen, um
voneinander zu lernen.
Freu dich auf spannende Talks und Sessions zu Cloud & DevOps, Technology und
Culture & Creativity. Von den Herausforderungen der digitalen Arbeitswelt bis hin zu den Trends
von morgen – hier bekommst du Einblicke von den klügsten Köpfen der Branche.
Die Tickets sind begrenzt, also schnell buchen auf mittwald.de/hitc.
Für diese Revision haben wir uns einen der zentralen Köpfe der PHP-Welt eingeladen: Sebastian Bergmann, Erfinder von PHPUnit, langjähriger Open-Source-Maintainer und pragmatischer Beobachter des Ökosystems (Web / LinkedIn / Mastodon). Gemeinsam mit Schepp und Hans spricht er über Technologie, Verantwortung und das Leben als jemand, der seit Jahrzehnten mit und an PHP arbeitet.
Schaunotizen
[00:01:03] PHP im Jahr 2025
Wir starten mit Sebastians Weg in die PHP-Welt: Wie kam es zur Entstehung von PHPUnit? Was war der Stand der Dinge damals – und warum hat sich Sebastian überhaupt entschlossen, ein eigenes Test-Framework zu bauen? Wir sprechen über die Anfangsjahre von PHP, über JUnit als Vorbild und den wilden Westen früher PHP-Projekte.
Danach werfen wir einen Blick auf das Jetzt: Wie steht es um das Vertrauen in PHP als Sprache? Welche Rolle spielen moderne Tools wie Composer, Frameworks wie Symfony oder Laravel – und was macht eigentlich die PHP Foundation genau? Sebastian schildert, wie sich das Ökosystem professionalisiert hat, aber an vielen Stellen trotzdem auf Freiwilligenarbeit beruht.
Natürlich reden wir auch über Tests: Was bedeutet gutes Testing im Jahr 2025? Wie sieht das Zusammenspiel mit Tools wie PHPStan oder Psalm aus? Und wie geht man mit Legacy-Code um, der eigentlich nie für Tests gedacht war? Sebastian teilt Einblicke aus seiner Beratungsarbeit mit Teams und erklärt, wie man pragmatisch Qualität sichert.
Ein wichtiger Teil des Gesprächs dreht sich um Open Source im Dauerbetrieb: Was bedeutet es, ein Projekt wie PHPUnit über Jahrzehnte hinweg zu pflegen? Wie hält man durch? Welche Erwartungen kommen von außen – und was kann die Community beitragen, damit das Ganze nicht auf Einzelpersonen lastet?
Zum Schluss schauen wir nach vorn: Welche Entwicklungen im PHP-Core lohnen sich im Auge zu behalten? Was fehlt der Sprache noch? Und was wünscht sich Sebastian von der nächsten Generation an Entwickler:innen, die vielleicht bald ihre ersten Pull Requests schreiben?
Links
PHPUnit
Das führende Test-Framework für PHP – entwickelt und gepflegt von Sebastian Bergmann seit über 25 Jahren.
PHP Foundation
Die Stiftung hinter der aktiven Weiterentwicklung der Sprache. Hier arbeiten festangestellte Entwickler:innen am PHP-Core.
Composer
Das Dependency-Management-Tool der Wahl für PHP – unerlässlich für moderne Projektstrukturen.
Symfony
Ein weitverbreitetes PHP-Framework mit Fokus auf Wiederverwendbarkeit, Konventionen und Skalierbarkeit.
Laravel
Ein modernes Full-Stack-Framework für PHP mit einem großen Ökosystem und starker Community.
PHPStan
Ein statischer Code-Analyzer, der potenzielle Fehler in PHP-Projekten schon zur Entwicklungszeit erkennt.
Psalm
Ein weiteres beliebtes Tool zur statischen Analyse von PHP-Code – mit Fokus auf Type Safety.

13 snips
Apr 29, 2025 • 1h 15min
Revision 659: Meetings, Memos, Mindset: Büro-Lifehacks für Webdevs
In dieser Folge ist Melanie Patrick zu Gast, eine erfahrene Senior Backend Engineer bei Trivago mit einem Hintergrund in der internationalen Sekretariatsarbeit. Sie teilt wertvolle Lifehacks für Webentwickler, die von effektiven Meetings bis hin zu cleveren Ablagesystemen reichen. Melanie diskutiert, wie man in stressigen Situationen organisiert bleibt und Zeitmanagement verbessert. Außerdem spricht sie über die Bedeutung guter Kommunikation im Team und wie individuelle Vorbereitungen den Arbeitsalltag erleichtern können.

Apr 22, 2025 • 1h 23min
Revision 658: State of JS 2024, Teil 4/4
Peter, Stefan und Vanessa nehmen sich auch in dieser Woche wieder die Ergebnisse des State of JS 2024 vor. In Teil 1 haben wir uns auf die neuen JavaScript-Features gestürzt, in Teil 2 ging’s um Pain Points in JavaScript und den Browser-APIs, dazu die Leseliste und die Libs. Teil 3 war dann ganz den Meta-Frameworks und dem Testing gewidmet. Jetzt im letzten Teil schauen wir noch auf die Themen „Mobile & Desktop“, „Build Tools“, „Monorepo Tools“ und „Sonstige Tools“.
Unser Sponsor
Am 13. Juni 2025 lädt mittwald zum Head in the Cloud Summit ein – ein Tag voller
Inspiration und Austausch auf dem mittwald Campus. Hier treffen sich Webworker, Developer und Digitalagenturen, um
voneinander zu lernen.
Freu dich auf spannende Talks und Sessions zu Cloud & DevOps, Technology und
Culture & Creativity. Von den Herausforderungen der digitalen Arbeitswelt bis hin zu den Trends
von morgen – hier bekommst du Einblicke von den klügsten Köpfen der Branche.
Die Tickets sind begrenzt, also schnell buchen auf mittwald.de/hitc.
Schaunotizen
[00:02:49] Mobile & Desktop
App oder Webseite? Bei uns gehen die Meinungen auseinander: Vanessa nutzt gern installierbare Desktop-Apps, während Stefan lieber einfach einen Tab offen lässt. Einig sind wir uns: Egal ob App oder Web – das Verhalten sollte konsistent bleiben. Besonders spannend wird’s beim Blick auf Electron vs. Tauri. Tauri basiert auf Rust und hat in den letzten Jahren deutlich an Aufmerksamkeit gewonnen – nicht zuletzt, weil es deutlich schlanker daherkommt.
[00:09:29] Build Tools
Webpack ist zwar noch immer weit verbreitet, aber wir sind uns nicht sicher, ob das heute noch gerechtfertigt ist. Stefan kritisiert den „JavaScript-first“-Ansatz und die vielen Loader. Peter ist entspannter unterwegs: Hauptsache, es funktioniert. Unsere Build-Tool-Favoriten: tsc, esbuild und Vite. Wir sprechen auch über dts-Bundler für Typdefinitionen und den (möglichen) Verzicht auf Bundler mit Import Maps.
[00:25:37] Monorepo Tools
Monorepos – Fluch oder Segen? Vanessa beschreibt typische Stolpersteine bei Multirepos, etwa mit npm link oder Symlinks. Wir finden: Monorepos sind weniger eine technische Entscheidung als eine organisatorische. Peter erzählt von seinem persönlichen „Sirpepe-Universum“-Monorepo – der zeigt, dass das Konzept auch für Einzelpersonen nützlich sein kann.
[00:55:26] Sonstige Tools
Wir diskutieren Tools wie Lodash und Axios – früher unverzichtbar, heute eher „meh“. Mit der neuen Temporal API könnten auch Libraries wie Moment.js bald Geschichte sein. Vanessa empfiehlt VueUse, Stefan feiert weiterhin Express, und wir nehmen Bun kritisch unter die Lupe. Fazit: Viel Hype, aber oft wenig Substanz. Deno und Cloudflare Workers schneiden da besser ab – vor allem in echten Projekten.
Ähnliche Revisionen
Revision 656: State of JS 2024, Teil 3/4
Revision 655: State of JS 2024, Teil 2/4
Revision 653: State of JS 2024, Teil 1/4
Revision 652: Automatisiertes Testing mit Playwright
Revision 633: State of CSS 2024, Teil 1/3
Revision 634: State of CSS 2024, Teil 2/3
Revision 635: State of CSS 2024, Teil 3/3

Apr 15, 2025 • 56min
Revision 657: Resumable Uploads
In dieser Revision sprechen wir mit Marius Kleidl (Web / LinkedIn / Mastodon / GitHub), Webentwickler bei Transloadit und Mitwirkender am Open-Source-Projekt TUS, über das Thema Resumable Uploads – also Datei-Uploads, die fortgesetzt werden können, wenn zwischendurch mal die Verbindung abraucht oder das Tab versehentlich geschlossen wird.
Schaunotizen
[00:01:13] Resumable Uploads
Wir starten mit der Frage, warum klassische Upload-Methoden im Web oft unzuverlässig sind – vor allem bei großen Dateien wie Videos. Gerade bei instabilen Verbindungen oder auf Mobilgeräten ist Frust vorprogrammiert: Einmal abbrechen heißt meistens von vorne anfangen. Mit Resumable Uploads gehört das der Vergangenheit an. Stattdessen kann der Upload pausieren, später fortgesetzt werden – ganz ohne Datenverlust.
Im Zentrum der Folge steht TUS, ein Open-Source-Protokoll für Resumable Uploads, das Marius mitentwickelt. Wir reden über die Entstehung des Projekts, die technischen Grundlagen und wie man TUS in eigene Anwendungen integriert – sei es in Node.js, Go oder mit vorhandenen Client-Libraries. Besonders spannend: Die Spezifikation wird derzeit mit der IETF abgestimmt, mit dem Ziel, Resumable Uploads langfristig als offiziellen HTTP-Standard zu etablieren.
Marius gibt uns außerdem einen Einblick in die Community-Arbeit hinter TUS, den Beitrag anderer Open-Source-Projekte und wie Entwickler:innen durch eigene Implementierungen zur Verbesserung beitragen können. Wir streifen Themen wie Caching, Storage-Backends und was eigentlich alles im Hintergrund passieren muss, damit so ein Upload wirklich „resumable“ ist.
Natürlich kommen auch die praktischen Fragen nicht zu kurz: Was muss man beachten, wenn man Resumable Uploads in ein bestehendes Projekt integriert? Wie sieht die Kommunikation zwischen Client und Server aus? Und wie viel Aufwand steckt wirklich dahinter?
Links
TUS-Projekt
Die offizielle Webseite des TUS-Projekts, welches Resumable Uploads ermöglicht.
Transloadit
Der Dienstleister für File-Processing, der Resumable Uploads unterstützt und individuelle Lösungen anbietet.
Uppy
Ein Open-Source-Projekt, das eine flexible API für den Datei-Upload aus verschiedenen Quellen bereitstellt.

Apr 8, 2025 • 1h 23min
Revision 656: State of JS 2024, Teil 3/4
Peter, Stefan und Vanessa besprechen auch diese Woche wieder die Ergebnisse des State of JS 2024. In Teil 1 stürzten sich die Hosts vor allem auf die neuen JavaScript Features, in Teil 2 besprachen sie die Pain Points von JavaScript und Browser APIs, die Leseliste und die Bibliotheken. In diesem vorletzten Teil schaffen die Hosts ganze zwei weitere Seiten der Umfrage: Meta-Frameworks und Testing.
Schaunotizen
[00:01:17] Meta-Frameworks
Die Hosts wenden sich zunächst der Frage zu, was Meta Frameworks denn eigentlich sind. Bekannte Namen sind Nuxt, Next.js, Remix, SvelteKit, etc. Doch was genau was so ein Meta Framework aus? Ist es eine „All in One“ Lösung? Muss es zwangsweise auf einem anderen Framework basieren? Das bringt uns auch zu einer Endlos-Diskussion: Ist React ein Framework oder eine Library (deutsch: Bibliothek)? Wobei, React hat diese Frage nun selbst beantwortet: Es ist eine Library. Nun gut, die Hosts einigen sich darauf, dass man eine gewisse Erwartungshaltung an Meta-Frameworks hat: Sie kommen mit einem Router, Zustandsverwaltung (State Management), SSR und SSG und weiteren bereits eingebauten Features.
Meta-Frameworks kommen mit diesen vielen nützlichen Features, keine Frage. Dennoch stellt man auch eine neue Abhängigkeit her. Das Benutzen dieser Meta-Frameworks kann es schwieriger machen, Bugs zu finden und zu fixen. Wie so oft, wenn man nicht mehr die Kontrolle über den kompletten Code hat. Sie können auch mit Sicherheitslücken kommen, wie es kürzlich der Fall bei Next.js war.
Wie auch in den beiden vorherigen Teilen sind sich die Hosts wieder in einem Punkt sicher: Es kommt auf die Entwickler:innen an, nicht auf das Meta-Framework.
Kleine Bibliotheken wie Eleventy sind dennoch immer eine gute Wahl. Das liegt bei Eleventy daran, dass man HTML und CSS losgelöst von dem Tool schreibt. Das ermöglicht eine leichte Migration in der Zukunft.
[00:43:32] Testing
Bei dem Thema Testing leben die Hosts in verschiedenen Welten. Während Vanessa sich schon seit Jahren mi Tests in der Welt von Frontend Frameworks beschäftigt, hat der in der Rust-Welt lebende Stefan kaum Berührungspunkte mit Framework-Component Testing und kann die ganze Problematik daher gar nicht so genau nachvollziehen. Vanessa klärt also zunächst einmal über die ganze Tragödie von Unit Tests über Component Tests zu End to End Tests oder doch auch Visual Regression Tests und Snapshot Tests auf. Die Umfrage verrät, dass aktuell viel Jest eingesetzt wird, jedoch niemand mehr so richtig glücklich mit diesem Tool ist. Vitest ist stark auf dem Vormasch, genauso wie Playwright. In Revision 652 sprach kürzlich erst Stefan Judis über automatisiertes Testing mit Playwright.
Ähnliche Revisionen
Revision 655: State of JS 2024, Teil 2/4
Revision 653: State of JS 2024, Teil 1/4
Revision 652: Automatisiertes Testing mit Playwright
Revision 633: State of CSS 2024, Teil 1/3
Revision 634: State of CSS 2024, Teil 2/3
Revision 635: State of CSS 2024, Teil 3/3

Apr 1, 2025 • 1h 19min
Revision 655: State of JS 2024, Teil 2/4
Peter, Stefan und Vanessa besprechen weiterhin die Ergebnisse des State of JS 2024, so wie in der Vergangenheit auch bereits der State of CSS (Revision 633-635) besprochen wurden. In Teil 1 stürzten sich die Hosts vor allem auf die neuen JavaScript Features. Nun geht es weiter mit den Schmerzpunkten von JavaScript und Browser APIs, der Leseliste und den Bibliotheken.
Schaunotizen
[00:01:35] JavaScript Pain Points
Die JavaScript Pain Points Angaben in der Umfrage kamen durch eine Freitext Eingabe in der Umfrage zustande, Wie Peter, Stefan und Vanessa finden, eine wichtige Zusatzinformation, um die Ergebnisse etwas besser interpretieren zu können. Denn diese sind bei näherem Betrachten der eigentlichen Antworten gar nicht mehr so konkret wie die Liste an Kurzantworten erst erscheinen lässt. Ein viel besprochenes Thema ist EcmaScript Module & Common JS. Das ES Module ist ein standardisiertes JavaScript-Modulsystem, das in ECMAScript 2015 (ES6) eingeführt wurde. Es wird in modernen Browsern und Node.js unterstützt. Das CJS Modulsystem wird hauptsächlich in Node.js verwendet. Es wurde entwickelt, bevor JavaScript ein offizielles Modulsystem hatte. Vor allem die Migration von CJS auf ESM wird als komplex und kompliziert genannt.
Ebenfalls benannt wird das Fehlen von Typen. Hierbei kommen Peter und Stefan zu dem Schluss, dass man TypeScript „einfach“ dazu installieren, oder notfalls per IDE Extension hinzufügen kann. Sie sind also anderer Meinung als die Umfrage Ergebnisse.
Der nächste Schmerzpunkt, der genannt wird, ist der, der fehlenden Standardbibliothek. Hier argumentiert Stefan, dass das eigentlich kein Problem von der Sprache JavaScript, sondern der Runtime sei. Er streut nebenbei das Wissen herein, dass es ein Standard Committee gibt, dass sich nun um serverseitige Runtimes kümmern wird: das TC55. Stefan erzählt weiterhin, Rust hätte noch viel weniger Standards, da wäre alles frei konfigurierbar.
Der letzten besprochenen Schmerzpunkt ist die asynchrone Programmierung. Da hätte Stefan gerne viele mehr Prozente gesehen. Denn gerade seit es async/await gibt, gibt es viele Verständnislücken über die asynchrone Programmierung. Er weist auf den hilfreichen Blogartikel „What color is your function“ von Bob Nystrom hin.
[00:30:35] Browser API Pain Points und Readlist
Die Liste der Schmerzpunkte über Browser APIs ist doch sehr erheiternd zu lesen: Safari und Firefox. Und eigentlich auch Chrome. Peter, Stefan und Vanessa arbeiten sich durch die Liste und finden heraus: Das Hautproblem sei wohl, dass Chrome einige APIs freischaltet, die die anderen Browser noch nicht unterstützen. Dadurch gibt es Indifferenzen zwischen den Browsern. Doch ob es wirklich die Lösung ist, dass Chrome sich besser absprechen könnte?
In Teil 1 besprachen die Hosts das JavaScript Feature error.cause. Umso schöner nun zu sehen, dass viele der Ausfüllenden der Umfrage sich auch dieses Feature auf die Leseliste gesetzt haben.
[00:44:04] Bibliotheken
Über die Bibliotheken gibt es massig viele Daten anzuschauen. Doch für wen sind diese nun eigentlich interessant? Vermutlich eher, wenn man Inhalte für Blogartikel und Vorträge sammelt. Dennoch wüten sich Peter, Stefan und Vanessa durch die Daten. Webpack ist das meistebenuzte Tool, jedoch nicht das Beliebteste. React und Vite stehen beide hoch im Kurs. Zum konkreten Thema der JavaScript Frameworks besprechen die Hosts, dass man wohl irgendwie eine Entscheidung treffen muss – und richtig falsch ist keine, aber wohl oft trifft man wohl auch nicht die Richtige, wie man an den Schmerzpunkten wieder sieht. Denn hier werden Frameworks auch oft als zu komplex beschrieben. Die Hosts finden, dass Entwickler und Entwicklerinnen generell flexibel sein müssen in ihrem Beruf. Und jederzeit zwischen Frameworks wechseln können sollten.
Links
State of JS – Outreach
Ähnliche Revisionen
Revision 653: State of JS 2024, Teil 1/4
Revision 633: State of CSS 2024, Teil 1/3
Revision 634: State of CSS 2024, Teil 2/3
Revision 635: State of CSS 2024, Teil 3/3

Mar 29, 2025 • 54min
Revision 654: TypeScript 5.8 – in Zukunft nur noch smarter Linter?
Wusstet ihr, dass man mit der richtigen TypeScript-Config plötzlich wieder Lust auf JavaScript bekommt? Kein Witz – wir haben’s ausprobiert!
Schaunotizen
[00:01:08] TypeScript 5.8
Wir steigen ein mit einem TypeScript-Feature, das Stefan so begeistert hat, dass er direkt eine ganze Revision darüber machen wollte: die „Erasable Syntax Only“-Option. Wir diskutieren, warum diese Einstellung TypeScript endlich wieder zu einem erfreulichen Tool macht – besonders in Verbindung mit einer besseren Developer Experience und weniger magischem Code.
Danach nehmen wir TypeScript in Node-Projekten auseinander, sprechen über das Für und Wider von Linting vs. Type-Checking zur Laufzeit und streifen dabei auch Themen wie Build-Systeme, tsc vs. esbuild und warum man manchmal doch wieder Bock auf „einfaches JavaScript“ bekommt.
Zum Ende hin geht’s noch kurz um die Realität in Teams, in denen nicht alle TypeScript gleich intensiv nutzen – und um die Frage, ob TypeScript bald nur noch Linter mit Typen sein sollte.

Mar 18, 2025 • 1h 6min
Revision 653: State of JS 2024, Teil 1/4
Peter, Stefan und Vanessa besprechen die Ergebnisse des State of JS 2024, so wie in der Vergangenheit auch bereits der State of CSS (Revision 633-635) besprochen wurden. In Teil 1 stürzen sich die Hosts vor allem auf die neuen JavaScript Features.
Schaunotizen
[00:03:44] State of JS 2024 – Teil 1
Peter, Stefan und Vanessa sind sich zumindest bei Einem einig: Die Motivation, um die Umfragen „State of X“ auszufüllen, ist die eigene Weiterbildung. Dieses Jahr gab es 14.000 Personen, die die Umfrage ausgefüllt haben. Ob die Ergebnisse generell nur eher etwas über Enthusiasten aussagt?
Egal ob JS, HTML oder CSS. Gar nicht mehr zu einig waren sie sich dann darin, wie interessant die einzelnen abgefragten JavaScript Features sind, oder auch wie interessant die Ergebnisse davon.
Zuerst widmen sich die Hosts der Funktion groupBy. Doch vielmehr als nur über die Funktion zu sprechen, besprechen Peter, Stefan und Vanessa, ob es sich lohnt, bestehende Alternativen mit der nun nativen Funktion auszutauschen. Stefan spricht sich für eine Verschlankung der Codebasis aus und plädiert dafür, neue Sprachfunktionen zu nutzen, sobald sie verfügbar sind. Peter wirft die Frage auf, welcher bestehende Code dadurch ersetzt würde. Ein Beispiel dafür ist eine selbstgeschriebene groupBy-Funktion, die nicht ersetzt wird, weil sie gut funktioniert und leicht anders arbeitet als mögliche Alternativen. Zudem gibt es hier kein Risiko. Anders sieht es aus, wenn externe Programmbibliotheken ins Spiel kommen – hier könnten unvorhergesehene Änderungen auftreten, und generell ist das Ziel, die Anzahl an Abhängigkeiten möglichst gering zu halten.Im Gespräch über die bekannte Bibliothek Lodash wird darauf hingewiesen, dass man das Rad nicht neu erfinden möchte. Gleichzeitig merkt Peter an, dass es in bestimmten Fällen doch notwendig sein kann, eigene Lösungen zu schreiben, um spezielle Anforderungen zu erfüllen. Insgesamt herrscht jedoch Einigkeit darüber, dass Lodash nicht mehr zeitgemäß ist. Viele seiner Funktionen stammen aus einer anderen Entwicklungsära und lassen sich mittlerweile durch native Sprachmittel ersetzen.
[00:21:03] Syntax features: Private Fields, error.cause
Neben diesen strategischen Überlegungen geht es auch um aktuelle Neuerungen in JavaScript. Private Felder für Klassen erweisen sich als nützlich, um Objekte zu erweitern – etwa durch zusätzliche Methoden für Zeichenketten oder Mengen. Die Fehlerbehandlung wird mit der cause-Eigenschaft verbessert. Damit ist es möglich, einen abgefangenen Fehler mit einer neuen Meldung erneut auszulösen und dabei die ursprüngliche Ursache zu erhalten, was insbesondere für Fehlerprotokollierung nützlich ist. Wer sich näher damit beschäftigen möchte, findet eine ausführliche Beschreibung bei MDN.
[00:30:36] Nullish Coalescing
Ein weiteres Thema ist der sogenannte Nullish Koaleszenzoperator (??), die sich vom logischen Oder-Operator (||) dadurch unterscheidet, dass sie nur bei null und undefined greift, während || auf alle falschen Werte reagiert – also auch auf false, die Zahl 0, leere Zeichenketten oder NaN. Beide Operatoren lassen sich beliebig verketten. MDN. Eng damit verbunden ist die Kurzschreibweise für logische Zuweisungen (||=), die es ermöglicht, Werte nur dann zu setzen, wenn sie bislang einen falschen Zustand haben. MDN.
Ein weiteres kleines, aber oft übersehenes Detail ist die sogenannte Hashbang-Syntax (#!). Diese ist vor allem in Kommandozeilen-Werkzeugen von Bedeutung, die in JavaScript geschrieben sind. Sie ermöglicht es, Skripte ohne expliziten Aufruf der Laufzeitumgebung auszuführen, etwa beim Starten eines Programms aus einer Paketkonfigurationsdatei heraus.
[00:34:40] Logical Assignment
Inneren Feldern von Objekten lassen sich nun auch neue Werte zuweisen, wenn ihr aktueller Wert falsy ist. Also wiederum nun wieder alle falsy Werte im Gegensatz zu dem vorher besprochenem Thema.
[00:41:12] String Features, Array Features
Beim Blick auf die neuen Möglichkeiten zur Verarbeitung von Zeichenketten zeigt sich, dass diese nur selten gebraucht werden. Ein Beispiel ist die Methode replaceAll, die etwa genutzt werden kann, um überflüssige Leerzeichen aus nutzergenerierten Inhalten zu entfernen. Zum Thema Array Features gibt es eine Liste von Funktionen, die es eigentlich vorher auch schon so gab – nur jetzt sind die Objekte immutable geworden. Also die Funktion ändert nicht mehr das Originalobjekt, sondern gibt ein neues Array wieder.
Doch ihr Nutzen hält sich unserer Hosts nach in Grenzen. Besonders in reaktiven Anwendungsarchitekturen wie React könnten sie jedoch für die Verarbeitung unveränderlicher Daten hilfreich sein.
[00:46:36] Async Features, Set Features, Group Features, Language Pain Points
In der asynchronen Programmierung zeigt sich, dass Promise.allSettled hilfreich ist, wenn auf mehrere Dateien für die Lokalisierung einer Anwendung gewartet werden muss.
Neue Funktionen für Mengen (Sets) sind zwar interessant, aber wären mit einer besseren grafischen Darstellung leichter verständlich gewesen.
Die Beantwortung der Nutzungshäufigkeit von groupBy wird kritisch hinterfragt. Nur ein Drittel der Befragten gibt an, diese Funktion zu verwenden – doch möglicherweise liegt das auch daran, dass viele bereits eigene Lösungen im Einsatz haben.
Schließlich geht es um den Einsatz von Programmiersprachen und Werkzeugen. Die Nutzung von TypeScript ist ungebrochen hoch, mit einer Umfragequote von nahezu 100 Prozent. Künstliche Intelligenz spielt im Entwicklungsalltag eine eher untergeordnete Rolle: Ein Fünftel verzichtet ganz darauf. JavaScript wird von 95 Prozent der Befragten im Beruf eingesetzt, 40 Prozent programmieren auch in der Freizeit damit – wobei hier eine gewisse Überschneidung wahrscheinlich ist.
[00:55:21] Browser APIs
Abschließend widmen sich den Hosts den Antworten zum Thema der Browser APIs. Es gint viel Begeisterung für die bevorstehende Temporal-API, die die Arbeit mit Zeitwerten erheblich vereinfachen wird. MDN. Ein oft geäußerter Wunsch bleibt die Einführung statischer Typisierung direkt in JavaScript sowie umfangreichere Standardbibliotheken.
Links
State of JS – Outreach
Ähnliche Revisionen
Revision 633: State of CSS 2024, Teil 1/3
Revision 634: State of CSS 2024, Teil 2/3
Revision 635: State of CSS 2024, Teil 3/3

Mar 11, 2025 • 1h 5min
Revision 652: Automatisiertes Testing mit Playwright
In dieser Episode sprechen wir mit Stefan Judis über Playwright. Stefan ist Entwickler, Blogger, Autor des „Web Weekly“-Newsletters und Speaker mit einer Leidenschaft für Web-Technologien, insbesondere für Web-Performance, neue Features in modernen Browsern und Barrierefreiheit.
Unser Sponsor
Am 13. Juni 2025 lädt mittwald zum Head in the Cloud Summit ein – ein Tag voller Inspiration und Austausch auf dem mittwald Campus. Hier treffen sich Webworker, Developer und Digitalagenturen, um voneinander zu lernen.
Freu dich auf spannende Talks und Sessions zu Cloud & DevOps, Technology und Culture & Creativity. Von den Herausforderungen der digitalen Arbeitswelt bis hin zu den Trends von morgen – hier bekommst du Einblicke von den klügsten Köpfen der Branche.
Die Tickets sind begrenzt, also schnell buchen auf mittwald.de/hitc.
Schaunotizen
[00:02:09] Playwright
Playwright ist ein ein leistungsfähiges End-to-End-Testing-Framework von Microsoft und darauf ausgelegt, stabile und zuverlässige Tests für Webanwendungen zu ermöglichen. Im Gegensatz zu älteren Test-Frameworks wie Selenium unterstützt Playwright moderne Features wie automatische Wartezeiten, Testisolierung und die Möglichkeit, mit mehreren Browser-Kontexten gleichzeitig zu arbeiten. Entwickler können Tests für Chromium (Chrome und Edge), WebKit (Safari) und Firefox schreiben – und das mit nur einer einzigen API.
Ein zentrales Feature ist die Fähigkeit, Tests parallel auszuführen, was die Laufzeit von Test-Suites erheblich reduziert und die Continuous-Integration-Pipelines beschleunigt. Besonders für Teams, die viele Tests automatisieren, bietet Playwright hier große Vorteile.
Ein wichtiger Aspekt, über den wir sprechen, ist die Art und Weise, wie Playwright UI-Tests durchführt. Die Auswahl von Elementen ist dabei besonders robust gelöst: Playwright nutzt sogenannte „Auto-Waits“, das heißt, es wartet automatisch, bis ein Element im DOM vorhanden, sichtbar und interaktiv ist, bevor eine Interaktion stattfindet. Das reduziert eine der größten Frustquellen beim End-to-End-Testing – nämlich Tests, die aufgrund von Timing-Problemen fehlschlagen.
Zusätzlich erlaubt Playwright komplexe Selektoren, darunter CSS-, XPath- und Text-Selektoren, aber auch speziellere Methoden wie getByRole, um barrierefreie Elemente gezielt zu testen. Besonders praktisch ist auch, dass Playwright Shadow DOM und iFrames unterstützt, womit es sich besonders gut für moderne Webanwendungen eignet, die diese Techniken intensiv nutzen.
Ein weiteres Thema sind Race Conditions. Da Playwright nicht nur die UI testet, sondern auch Interaktionen mit dem DOM und asynchrone Prozesse genau beobachten kann, hilft es, Probleme aufzudecken, die durch nicht deterministisches Verhalten entstehen. Gerade bei Single-Page-Applications oder Anwendungen mit vielen dynamischen Inhalten kann Playwright dazu beitragen, Bugs zu finden, die sonst nur schwer zu reproduzieren sind.
Wir sprechen außerdem über die Möglichkeiten von visuellem Regressiontesting mit Playwright. Theoretisch lassen sich Screenshots und sogar Videoaufnahmen von Testläufen erstellen, um Änderungen in der Benutzeroberfläche zu erkennen und zu überprüfen. Allerdings haben wir selbst diese Funktionalität noch nicht ausprobiert – deshalb interessiert uns: Nutzt ihr visuelles Regressiontesting mit Playwright? Welche Erfahrungen habt ihr damit gemacht?
Stefan gibt außerdem Tipps, wie sich Playwright in bestehende Continuous-Integration/Continuous-Deployment-Pipelines einbinden lässt. Besonders für Teams, die bereits mit CI/CD arbeiten, ist es wichtig, dass Test-Frameworks sich reibungslos in bestehende Workflows einfügen. Playwright bietet hier viele Optionen, darunter die Integration mit GitHub Actions, Jenkins und anderen CI-Systemen.
Ein weiteres Highlight ist die Playwright Trace Viewer-Funktion. Damit lassen sich Tests detailliert analysieren, indem sämtliche Interaktionen, DOM-Änderungen und Konsolen-Ausgaben einer Testausführung gespeichert und später Schritt für Schritt durchgegangen werden können. Das erleichtert die Fehlersuche nach einem gescheiterten Pipeline-Durchlauf erheblich.
Links
Playwright
Die Hauptseite von Playwright mit Dokumentation und Ressourcen.
Playwright GitHub Repository
Das offizielle GitHub-Repository von Playwright mit Quellcode und Beitragsrichtlinien.
Playwright Tutorial auf LambdaTest
Ein ausführliches Tutorial zur Nutzung von Playwright für automatisierte Tests.
Playwright Tutorial auf BrowserStack
Ein Leitfaden zur Verwendung von Playwright für Testautomatisierung.
Playwright Trace Viewer
Ein Tool zur detaillierten Analyse von Testläufen, um Fehler besser nachzuvollziehen.
Parallelisierung in Playwright
Eine Dokumentation zur effizienten Nutzung der Parallelisierungs-Funktionen von Playwright.
Element-Selektoren in Playwright
Übersicht über die verschiedenen Selektoren und deren Nutzung.
Web Weekly Newsletter
Stefan Judis‘ wöchentlicher Newsletter mit aktuellen Themen rund um Webentwicklung.
Unterstütze Stefan auf Patreon
Hilf Stefan dabei, weiterhin großartige Inhalte zu erstellen, indem du ihn auf Patreon unterstützt!
Playwright Tips
Stefans Playlist für Checkly mit Videos zu Playwright.

Mar 4, 2025 • 1h 20min
Revision 651: Accessible Rich Internet Applications (ARIA)
Marco Bretschneider, ein Entwickler mit Expertise im ARIA-Standard, teilt spannende Einblicke in die Barrierefreiheit von Webinhalten. Er erklärt, wie ARIA die Interaktion mit assistiven Technologien verbessert, insbesondere durch korrekte Implementierung von Tab- und Switch-Komponenten. Die Bedeutung von semantischem HTML und der Einfluss von JavaScript auf die Benutzererfahrung werden ebenfalls thematisiert. Zudem spricht er über die Herausforderungen, ARIA im Team zu kommunizieren und wie regelmäßige Diskussionen in seiner Firma wertvolle Erkenntnisse liefern.