UI5 + wdi5 – Framework Entwicklung im Spannungsfeld “Enterprise”, Open Source und Zukunftstechnologien
UI5 (https://openui5.org) ist bei SAP strategisch gesetzt zur Erstellung von Webanwendungen, wdi5 (https://js-soft.github.io/wdi5/) als zugehöriges Tool entsprechend für end-to-end Tests.
Beide müssen sowohl SAP Standards genügen (Stichworte z.B. Rückwärtskompatibilität und Barrierefreiheit), aber auch technologisch auf Trends und (Browser-) Entwicklungen reagieren. Die Zusammenarbeit mit der Community in Form von Erstellung und Wartung von Open Source Software Komponenten ist hierfür ein Schlüssel.
Der Vortrag zeigt Techniken, Tools und Maßnahmen, derer sich UI5 und wdi5 bedienen, um mit Ansprüchen an Geschäftssoftware umzugehen, aber gleichzeitig Offenheit gegenüber der Entwicklercommunity zu wahren. Sodass die Kooperation vorteilhaft für sowohl SAP, wie auch die Community, bleibt.
So führen dich Tools zum Testen auf Barrierefreiheit hinters Licht
In den gängigen JavaScript-Frameworks wie Angular, React oder Vue wird Barrierefreiheit von vielen Teams nur auf der Komponenten-Ebene getestet. Dabei kann es trotzdem noch zu automatisch erkennbaren Barrierefreiheitsproblemen kommen, wie wir in einem praktischen Beispiel sehen werden. Daraufhin erweitern wir das Beispiel mit mehreren Teststufen, damit ein Großteil der Probleme in der nicht zugänglichen Applikation gefunden und gelöst werden kann. Zum Schluss wissen wir, welche Fallstricke es beim automatischen Testen gibt und wie wir mit diesen umgehen.
Ein vollständiges JavaScript Anwendungssystem
In diesem interaktiven Workshop leitet Oliver Sie innerhalb eines Tages durch die notwendigen Schritte, um selbst ein vollständiges Anwendungssystem in JavaScript zu erstellen. Das erarbeitete Microservices-System verwendet mehrere verschiedene Elemente und Patterns: eine NoSQL-Datenbank, CQRS- und Event Sourcing-Architektur auf dem Server, Optionen wie React, Redux und Svelte auf dem Client, und alles das durch bidirektionale Kommunikationswege über das Web verbunden. Auf diese Weise lernen Sie die Details der Architekturkomponenten Schritt für Schritt, so dass Ihre eigenen Projekte unmittelbar davon profitieren können. Bringen Sie Ihren Laptop mit und machen Sie mit!
Entwicklung einer Web-Components-Library: Lessons Learned
Wir entwickeln eine unternehmensinterne Komponenten-Bibliothek um ein einheitliches Look-and-Feel über verschiedene Anwendungen hinweg sicherzustellen. Um die verschiedenen Frontend-Frameworks in unterschiedlichen Teams abdecken zu können, haben wir uns für den Web-Components-Standard entschieden.
In diesem Vortrag möchte ich unsere Erfahrungen nach 2 Jahren Entwicklungszeit teilen. Dabei geht es natürlich vor allem um die Probleme und Schwierigkeiten, die wir zu lösen hatten, unter anderem Kompatibilitätsproblemen mit SPA-Frameworks, Browser-Unterstützung, Formulare und Accessibility.
Im Fazit erkläre ich, warum wir uns dennoch für Web-Components entschieden haben, warum wir diese Entscheidung wieder so treffen würden, aber auch warum ich dennoch nicht pauschal für jeden Einsatzzweck zu Web-Components raten würde.
Svelte Stores A bis Z
Zustandsverwaltung braucht jedes Framework, und in Svelte wird dies hauptsächlich mithilfe von Stores umgesetzt. Es finden sich einige Standardfunktionen, die auf Stores basieren, und für’s eigene Projekt benötigen Sie vermutlich einige, die schnell selbst implementiert sind. Das Pattern ist allerdings sehr flexibel und kann auch für ganz andere Aufgaben wie etwa die elegante Verwaltung von Promises verwendet werden. In diesem Talk präsentiert Oliver einen Überblick der Techniken und Möglichkeiten, bis hin zur Kompatibilität mit RxJS — so sind Sie für Svelte Stores bestens gerüstet!
Einführung in SvelteKit
Als Komponentenframework stellt Svelte eine Lösung dar, die für vollwertige Anwendungen nicht allein ausreichend ist. Aus denselben Händen gibt es nun SvelteKit, das vieles der Funktionalität bietet, die Sie “sonst noch” brauchen: Routing und Seitenlayoutstrukturen, Datendienste, SSR und andere Deploymentoptionen, und einige andere Features. Dieser Talk ist ein Einstieg in SvelteKit, auf dessen Basis Sie selbst sofort mit einer eigenen Anwendung beginnen können!
Impressionen aus der Praxis: Funktionale Ansätze in JavaScript
Das Thema “Funktionale Programmierung” ist umfangreich und nur schwer in einem Talk abzudecken. Allerdings lässt sich eines machen: in praktischen Auszügen aus echten Projekten zeigt Oliver, was er mithilfe funktionaler Ideen besonders effizient umsetzen konnte. Es gibt übersichtlich gestaltete Algorithmen, hilfreiche Laufzeittypisierung für wiederverwendbare Bibliotheken und selektive Einbettung von Rescript-Code. Achtung: es besteht die Gefahr, dass Sie als Zuschauer Interesse an funktionaler Programmierung entwickeln und manche objektorientierte Praxis als nutzlos erkennen. Sagen Sie nicht, wir hätten Sie nicht gewarnt!
Nx Monorepo: Frontend-Architekturen effizienter entwickeln und visualisieren
Die Art des Projekts, an dem man arbeitet, wirkt sich auf die Projekt Entscheidungen aus.
Komplizierter wird es, wenn man an mehreren zusammenhängenden Projekten arbeitet.
Wie verändert dies die Verzeichnisstrukturen des Projektes? Wie sollte der Code zwischen Projekten geteilt werden? Nx ist ein Tool, das darauf abzielt, diese Probleme zu lösen. Wir gehen in diesem Vortrag die Kernfunktionalitäten von Nx durch, sowie die Vorteile und Herausforderungen die sich aus dem Einsatz von Monorepos im allgemeinen und Nx im besonderen ergeben können.
Endlich Skalierbar dank Micro Frontend Discovery
Micro Frontends werden häufig als die Lösung für Skalierungsprobleme im Bereich der Webapp-Entwicklung angepriesen. Doch in der Realität kommt es nicht selten zu Herausforderungen, die nicht so einfach gelöst werden können. Eine Lösung ist die Entkopplung der verschiedenen Micro Frontends dank eines sog. Micro Frontend Discovery Mechanismus.
In diesem Vortrag stellt Micro Frontend Experte Dr. Florian Rappl die Micro Frontend Discovery über einen Backend Service vor. Er zeigt wie eine Micro Frontend Lösung mit einem Discovery Mechanismus ausgestattet werden kann, welche Vorteile das bietet und welche Hürden dazu genommen werden müssen.
Extrahieren von Micro-Frontends aus einer monolithischen Frontend-Anwendung
Das Konzept von Microservice-Architekturen in der Softwareentwicklung gewinnt zunehmend an Aufmerksamkeit. Diese Architekturen entstehen oft aus dem Refactoring monolithischer Anwendungen. Viele Microservice-Architekturen kümmern sich wenig um das Frontend beziehungsweise um die Benutzeroberfläche. Oft führt die Zerschlagung zu vielen kleinen, lose gekoppelten Diensten, die in einem weiterhin monolithischen Frontend zusammengefasst sind. Mit einer Micro-Frontend-Architektur können diese lose gekoppelten Systeme systematisch/dynamisch in einer Benutzeroberfläche zusammengeführt werden. Ich gebe in diesem Vortrag einen Überblick über verschiedene Migrationsansätze zu Micro-Frontend-Architekturen und zeige einen Migrationsansatz am Beispiel des Software-Visualisierungsprogramms ExplorViz.