Herausforderungen bei der UI-Automatisierung und wie man sie löst
UI-Tests sind aus der Softwareentwicklung nicht mehr wegzudenken. Trotz des technologischen Fortschritts gilt die Automatisierung von UI-Tests immer noch als zu komplex, um vollständig ohne manuelle Eingriffe zu funktionieren. Insbesondere bei der Automatisierung von Canvas-Elementen, eingebetteten Karten oder Schatten-DOM-Elementen stoßen viele Ansätze an ihre Grenzen.
Deshalb werden neben den klassischen Ansätzen wie Selenium auch immer mehr bildbasierte Ansätze verfolgt.
Dieser Vortrag behandelt moderne UI-Automatisierungsansätze mit einem Überblick über Tools und Techniken. Dabei wird insbesondere auf aktuelle Probleme und zukünftige Entwicklungen eingegangen. Wir zeigen exemplarisch, wie verschiedene Tools wie Taiko und SikuliX eingesetzt werden können und wie KI in Zukunft helfen wird, solche Herausforderungen anzugehen.
Einstieg in Svelte
Nachdem Vorgänger wie React oder Vue den Ansatz der komponentengetriebenen Frontends endgültig etabliert haben, trat Svelte an, entscheidende Punkte neu und besser zu denken. Spätestens seit dem Release der Version 3 gewinnt Svelte laufend an Fahrt und wird mehr und mehr eingesetzt.
Dieser Vortrag stellt eine grundlegene Einführung in Svelte dar und gibt Antworten auf die folgenden Fragen:
* Was ist Svelte?
* Was macht es anders als andere Komponenten-Frameworks?
* Wie sieht die Komponenten-Entwicklung mit Svelte aus?
Living on the Edge — Web-Apps mit SvelteKit und Cloudflare Pages
Die Welt der Webentwicklung ist im steten Wandel und in jüngerer Zeit ist immer öfter der Begriff Edge Computing zu hören. Was aber ist Edge Computing eigentlich? Was bedeutet es im Kontext der Web-Entwicklung? Wie können Web-Entwickler sich Edge Computing zunutze machen? Diese Fragen versucht der Vortrag zu beantworten. Nach einer Einführung in die Begrifflichkeiten folgt ein praxisorientierter Blick auf die Entwicklung einer einfachen E‑Commerce-Web-App die an der Netzwerkkante läuft. Als Entwicklungswerkzeug kommt SvelteKit zum Einsatz, die Ausführung macht sich Cloudflare Pages zunutze.
Keyboard Accessibility meistern
Ein bedeutender Teil von Accessibility und guter Usability ist die Unterstützung verschiedener Eingabemethoden. Heute geht es um Keyboard Support! Worauf soll man achten, um eine Website auch per Tastatur bedienbar zu machen? Was darf man auf keinen Fall tun? Anhand verschiedener Beispiele werden wir diese Fragen beantworten und dabei Techniken und Best Practices betrachten.
3D in Web-Anwendungen — neue Möglichenkeiten mit Babylon.js
Moderne Businessanwendungen sind mehr als nur Formular: Daten wollen verständlich und ansprechend visualisiert werden. Web-Grafik-Engines wie Babylon.js helfen genau dabei. Sie ermöglichen, 2D‑, 3D, Virtual- und Augmented-Reality-Inhalte verständlich darzustellen. Digitale und virtuelle Konzepte können vermittelt und getestet werden – Cross-Plattform und performant.
In dieser Session zeigt Max Schulte anhand einer Angular-Anwendung und Live-Coding, Kernaspekte und Wege sowie einen Architekturansatz, um neue Visualisierungs- und Bedienmöglichkeiten in Ihre Anwendung integrieren zu können.
Formulare mit Angular: Komplex und dynamisch
Eingabeformulare (kurz Forms), sind in jeder Web-App zu finden. Von einfachen Logins zu hoch komplexen und seitenübergreifenden Steppern, es gibt Formulare in vielen Ausprägungen.
Welche Wege gibt es dynamische und komplexe Formulare mit Angular selbst zu erstellen, und was muss dabei alles beachtet werden?
Schnell reichen einfache Eingabefelder und kleinste Bausteine nicht mehr aus, so zum Beispiel, wenn eine Feld- bzw. Gruppenübergreifende Validierung ausgeführt werden soll, oder eine Form aus mehreren abhängigen Gruppen besteht. Wie werden Felder oder Gruppen asynchron validiert?
In dieser Session zeigt Max Schulte wie Angular es ermöglicht, komplexe und dynamische Formulare in einzelne Bestandteile zu zerlegen und zu vereinfachen. Sehen Sie welche Abstraktionsebenen Angular’s Form Controls System bietet und wie der Router sowie die Dependency Injection (DI) im Zusammenspiel damit genutzt werden können.
Hybrid-Apps für alle – Capacitor in Aktion
Was ist eine Hybrid-App und wie profitieren wir von Capacitor? In dieser Session zeigt Max Schulte wie Sie mittels Capacitors APIs und Plugin-System mit Ihrer Web-App neue Plattformen erschließen können. Es werden die Vor- und Nachteile einer Hybrid-App betrachtet und beispielhaft bewertet.
Lernen Sie anhand Live-Coding wie sie Ihre Web-App zu einer Hybrid-App machen können. Erreichen Sie neue iOS und Android Nutzer, oder nutzen einfach Platform spezifische Features die dem Web noch verwehrt sind.
Mutation Testing mit Stryker
Ihr schreibt Unit-Tests im Team? Natürlich tut ihr das! Aber sind die Tests auch ausreichend? Coverage-Tools haben darauf eine Antwort.
Leider sind Coverage-Analysen aber oft unzureichend. Selbst Test-Suites mit 100% code-coverage übersehen oft Fehler. Manche Test-Suites bringen in der Praxis nur wenig Mehrwert.
Mit Mutation Testing könnt ihr die Qualität eurer Tests selbst prüfen! Stryker stellt eure Tests auf den Prüfstand. Ihr erhaltet eine realistischere Aussage, wie gut eure Suite tatsächlich Fehler finden kann und erfahrt, wie ihr sie verbessert. Das Werkzeug lässt sich mit wenig Aufwand in Projekt und Pipeline zu integrieren und sorgt schnell für Ergebnisse!
Einstieg in die Funktionale Programmierung mit TypeScript und Remeda
Oft assozieren Entwicklerinnen und Entwickler Funktionale Programmierung mit komplizierten akademischen Begriffen. Das muss aber nicht sein!
In diesem Talk lernt ihr, wie ihr mit einfachen Mitteln große Effekte erzielen könnt. Ein paar Kniffe aus der Funktionalen Programmierung genügen schon: Der Code wird lesbarer und nerviges Debugging erheblich reduziert.
JavaScript und TypeScript bieten dazu einige Bibliotheken an, die den Einstieg erheblich erleichtern. Insbesondere Remeda kommt mit modernen TypeScript-Support und stellt eine gut Wahl dar.
CSS Speed Run — von hop zu top an einem Tag
Seien wir mal ehrlich: Die meisten von uns hatten nie die Zeit sich intensiv mit den grundlegenden Konzepten und Ideen von CSS zu beschäftigen — warum auch? Es gibt doch so tolle Bibliotheken wie Tailwind, Bootstrap oder Material Design, die uns vorgaukeln als wären sie die Lösung aller gestalterischen Probleme im Frontend. Nur was nützt einem das ausgefuchstes Werkzeug mit zwei linken CSS Händen?
Schluss damit, wir trainieren deine CSS Fertigkeiten mit einem Speed Run durch die wichtigsten Konzepte der Cascading Style Sheets. Dieser Workshop wird dir deinen Arbeitsalltag auf vielerlei Ebenen erleichtern: Sei es, dass du die CSS Hacks von StackOverflow endlich verstehst, du dieses eine Feature — für das deine Bibliothek keine Lösung hat — endlich selbst lösen kannst oder du grundsätzlich endlich Ausrufe- statt Fragezeichen beim Thema CSS im Kopf hast.
Auf folgende Themen kannst du dich freuen
- Selektoren und Kombinatoren
— Box-Modell & Box-Sizing
— Die CSS Kaskade
— Normal Document Flow and Display Types
— Pseudo-Elements and Pseudo-Classes
— CSS Custom Properties
— Flexbox
— Die Grundlagen des CSS Grid
— Transitions & Animationen