Zum Inhalt

Technologien

UJL-Framework wird auf modernen Webtechnologien basieren, die uns eine flexible, performante und benutzerfreundliche Umsetzung ermöglichen sollen. In diesem Kapitel geben wir einen Überblick über die Frameworks, Tools und Konzepte, die wir planen einzusetzen, um UJL Realität werden zu lassen.


Frameworks und Libraries

Svelte

Svelte ist unser Favorit als Hauptframework für UJL. Im Gegensatz zu herkömmlichen Frameworks wie React oder Vue erfolgt bei Svelte die Kompilierung bereits zur Build-Zeit, wodurch die Laufzeitbelastung erheblich reduziert wird. Das Ergebnis ist ein kleiner, effizienter Code, der schnell lädt und einfach zu integrieren ist.

Warum Svelte für UJL?

  1. Framework-Agnostisch: UJL ist darauf ausgelegt, sich flexibel in bestehende Systeme einzufügen. Mit Svelte schaffen wir ein Tool, das sich problemlos in Frameworks wie React, Angular oder Vue integrieren lässt.
  2. Leichtigkeit und Performance: Svelte reduziert die Laufzeitbelastung durch Build-Zeit-Kompilierung und erzeugt minimalen, effizienten Code.
  3. Erweiterung durch shadcn-svelte: shadcn-svelte bietet eine intuitive Möglichkeit, Headless-Komponenten zu erstellen, ohne sich auf starre UI-Frameworks verlassen zu müssen.

Tailwind CSS

Tailwind CSS ist ein Utility-First-Framework, das konsistente und anpassungsfähige Designs ermöglicht. Es bietet uns die Flexibilität, Designkonfigurationen effizient in das modulare System von UJL einzubinden.

TipTap (Rich-Text-Editor)

TipTap wird unser bevorzugter Rich-Text-Editor. Basierend auf ProseMirror bietet er eine modulare Architektur, die sich ideal in UJL integriert, um leistungsstarke und anpassbare Textbearbeitungsfunktionen zu gewährleisten.

zod (JSON-Validierung)

zod ist unser Tool für die JSON-Validierung. Es ergänzt die TypeScript-basierte Entwicklung von UJL perfekt und sorgt für typsichere, leicht wartbare Datenstrukturen.

Bun

Bun zeichnet sich durch extrem schnelle Build-Zeiten, eine integrierte Package-Manager-Funktionalität und native TypeScript-Unterstützung aus. Wir planen, Bun als Build-Tool anstelle von Node.js zu verwenden.


Technologische Konzepte

Frontend-Framework mit TypeScript

UJL wird vollständig in TypeScript umgesetzt. TypeScript ermöglicht eine zuverlässige und skalierbare Entwicklung durch statische Typisierung und moderne JavaScript-Features.

JSON-basierte Trennung von Inhalt und Design

Das Herzstück von UJL ist die Trennung von Inhalt, Struktur und Design mithilfe eines standardisierten JSON-Formats. Dies ermöglicht:

  • Flexibilität: Änderungen am Design können vorgenommen werden, ohne Inhalte oder Layouts anpassen zu müssen.
  • Plattformunabhängigkeit: Inhalte lassen sich unabhängig von der Umgebung darstellen, was die Integration in bestehende Systeme erleichtert.

Modularität und Erweiterbarkeit

UJL ist modular aufgebaut, sodass Entwickler eigene Erweiterungen, Module und Designs hinzufügen können. Das Ziel ist ein System, das sich leicht in bestehende Workflows integrieren und an individuelle Bedürfnisse anpassen lässt.


Qualität und Testing

Wir legen großen Wert darauf, dass UJL ein zuverlässiges und benutzerfreundliches Tool wird. Daher planen wir folgende Maßnahmen:

  • Automatisierte Tests: Unit-Tests und End-to-End-Tests sichern die Stabilität aller Komponenten.
  • Barrierefreiheit: Die Einhaltung von Accessibility-Standards ist ein zentraler Aspekt unserer Planung.