SoftwareDesign-Solution Logo
Start/Workshops/Nx Workspaces

Nx Workspaces

In 3 Tagen zu strukturierten und skalierbaren Monorepos mit Nx, projektübergreifenden Bibliotheken, automatisierten Qualitätsprüfungen und optimierten Build-Prozessen

Dauer
3 Tage
Format
Remote oder Inhouse
Sprache
Deutsch
Beschreibung

Über den Workshop

In diesem Nx Workshop lernst du, wie du skalierbare Monorepos für moderne Frontend- und Backend-Anwendungen aufbaust. Du richtest einen Nx Workspace ein, strukturierst Anwendungen und Bibliotheken und definierst klare Abhängigkeiten zwischen den einzelnen Bereichen. Dabei arbeitest du wahlweise mit Angular, React, Next.js oder Node.js und erfährst, wie Nx unterschiedliche Frameworks innerhalb eines gemeinsamen Workspaces verwaltet.

Anhand einer durchgängigen Beispielanwendung entwickelst du eine wartbare Projektarchitektur mit wiederverwendbaren Bibliotheken, Tags und Modulgrenzen. Du automatisierst Builds, Tests und Linting, nutzt den Nx Cache zur Beschleunigung der Entwicklungs- und CI-Prozesse und führst mit affected nur die tatsächlich betroffenen Tasks aus. Abschließend behandelst du die Migration bestehender Projekte, eigene Generatoren und Executors sowie die Integration des Workspaces in eine CI/CD-Pipeline.

Agenda

Tagesablauf

Tag 1

Grundlagen und Aufbau eines Nx Workspaces

  • 01Monorepo- und Polyrepo-Ansätze im Vergleich
  • 02Nx im JavaScript- und TypeScript-Ökosystem
  • 03Einrichten eines neuen Nx Workspaces
  • 04Aufbau und Konfiguration eines Nx Workspaces
  • 05Anwendungen und Bibliotheken
  • 06Projektkonfiguration mit project.json
  • 07Workspace-Konfiguration mit nx.json
  • 08Generatoren, Executors und Plugins
  • 09Arbeiten mit der Nx Console
Tag 2

Projektarchitektur und wiederverwendbare Bibliotheken

  • 01Strukturierung größerer Workspaces
  • 02Aufteilung in Feature-, UI-, Data-Access- und Utility-Bibliotheken
  • 03Importpfade und TypeScript Path Aliases
  • 04Abhängigkeiten zwischen Anwendungen und Bibliotheken
  • 05Visualisierung des Project Graph
  • 06Tags und Modulgrenzen
  • 07Durchsetzen von Architekturregeln mit ESLint
  • 08Frameworkübergreifende Bibliotheken
  • 09Veröffentlichbare und nicht veröffentlichbare Bibliotheken
Tag 3

Tasks, Automatisierung und CI/CD

  • 01Targets für Build, Test, Linting und Entwicklung
  • 02Konfiguration und Ausführung projektübergreifender Tasks
  • 03Task-Abhängigkeiten und Ausführungsreihenfolgen
  • 04Lokales und verteiltes Caching
  • 05Affected-Analyse für geänderte Projekte
  • 06Parallele Ausführung von Tasks
  • 07Integration in CI/CD-Pipelines
  • 08Migration bestehender Projekte in einen Nx Workspace
  • 09Eigene Generatoren für wiederkehrende Strukturen
  • 10Versionsverwaltung und Release-Prozesse mit Nx Release
Zielgruppe

Für wen ist der Workshop geeignet?

Zielgruppe

  • Du entwickelst Anwendungen mit Angular, React, Next.js oder Node.js und möchtest mehrere Projekte zentral verwalten
  • Du möchtest gemeinsam genutzte Komponenten, Funktionen und Konfigurationen in wiederverwendbaren Bibliotheken organisieren
  • Du planst den Aufbau oder die Migration eines Monorepos
  • Du möchtest Build-, Test- und Deployment-Prozesse durch Caching und betroffene Tasks beschleunigen

Voraussetzungen

  • Gute JavaScript- und TypeScript-Kenntnisse
  • Praktische Erfahrung mit mindestens einem Framework wie Angular, React, Next.js oder Node.js
  • Grundkenntnisse im Umgang mit npm, pnpm oder Yarn
  • Grundkenntnisse zu Git sowie Build-, Test- und Linting-Prozessen sind hilfreich
Lernziele

Was Sie mitnehmen

01
Einen Nx Workspace einrichten und dessen grundlegende Konzepte verstehen
02
Anwendungen und wiederverwendbare Bibliotheken sinnvoll strukturieren
03
Abhängigkeiten zwischen Projekten analysieren und kontrollieren
04
Projektgrenzen mit Tags und Modulregeln durchsetzen
05
Build-, Test-, Linting- und Entwicklungs-Tasks zentral konfigurieren
06
Tasks mit dem Nx Cache und der Affected-Analyse effizient ausführen
07
Bestehende Anwendungen schrittweise in einen Nx Workspace migrieren
08
Eigene Generatoren für wiederkehrende Projektstrukturen entwickeln
09
Nx in eine CI/CD-Pipeline integrieren und Builds optimieren
Referent

Über den Trainer

Manuel Kübler

Full-Stack Entwickler & IT-Trainer

Manuel Kübler ist freiberuflicher Full-Stack-Entwickler und IT-Trainer mit über 12 Jahren Projekterfahrung in der Softwareentwicklung. Er begleitet Unternehmen als Entwickler und Berater – von der Konzeption moderner Webanwendungen bis hin zur Anbindung und Erweiterung von ERP-Systemen. Seine Schwerpunkte liegen in der Entwicklung mit React, Vue.js, Angular, Laravel und Node.js sowie in der SAP Business One-Entwicklung mit C# und dem coresuite Country Package. Als erfahrener Trainer konzipiert und leitet er Intensivschulungen für Softwareunternehmen und Hochschulen zu Themen wie React, Vue.js, Laravel, Git, ASP.NET und weiteren modernen Technologien. Seine Beispielprojekte und Lehrmaterialien sind auf GitHub unter SoftwareDesign-Solution öffentlich einsehbar.