5 Punkte von GN⁺ 2025-07-31 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Brut ist für das Ruby-Ökosystem ein einfaches, aber leistungsstarkes Webframework auf Basis von geringer Abstraktion und low-ceremony, das eine seiten-, formular- und einzelaktionszentrierte Struktur ohne Controller- und REST-Ressourcenkonzepte bereitstellt
  • Server-seitig gerendertes HTML, direkte JS/CSS-Entwicklung, OpenTelemetry-Integration sowie moderne Ruby-Tools wie Sequel und OptionParser sind integriert, sodass Installation und Entwicklung in wenigen Minuten möglich sind
  • Mit einer klassenbasierten Struktur, typbasierter Verwaltung von Sessions, Formularen und Parametern sowie minimalem Einsatz dynamischer Methoden und Hashes setzt Brut auf klaren Code und automatische Dokumentation
  • Nutzung der modernen Web-Plattform: integrierte Server- und Client-Validierung, BrutJS (Web Components), CSS-Bündelung und Hashing mit esbuild, sowie stärkere Grundlagen bei Sicherheitsrichtlinien und DB-Design
  • Mit minimiertem YAML-Einsatz und Ruby/Hash-basierter Konfiguration, klarer Namensgebung und Rollenaufteilung ist es Brut-Ziel, Ruby und Browser-Technologien ohne unnötige Abstraktionen oder erzwungene Muster mit Freude zu nutzen

Die wichtigsten Merkmale des Brut-Frameworks

Vollständig neue Struktur – seitenzentriert ohne Controller

  • Statt Controller, REST-Ressourcen und Route-Actions nutzt Brut klassenbasierte Pages, Forms und Single-Action-Handler
  • HTML wird direkt auf dem Server erzeugt; JS/CSS kann nach Bedarf geschrieben werden
  • Beispiel: Die Zeit-Anzeige-Seite wird direkt als TimePage < AppPage definiert

Aktive Nutzung moderner Web-Plattformen

  • Integrierte Server- und Client-Validierung für die Form UX
  • BrutJS (Web-Components-Bibliothek) zur inkrementellen Erweiterung von HTML
  • esbuild für CSS-Bündelung und Hashing, ohne PostCSS oder SASS

Eingebaute Produktivität und Grundlagen

  • OpenTelemetry-basierte Instrumentierung, auf Sequel basierter Datenzugriff, CLI-Automatisierung auf OptionParser-Basis
  • Standard-Sicherheitsrichtlinien, Standardwerte und Indizes für DB-Spalten/Fremdschlüssel, stets zeitzonenbewusste Zeitangaben, einfache Lokalisierung
  • RSpec-Tests, Datengenerierung mit Faker/FactoryBot, HTML-Erzeugung mit Phlex

YAML-Reduktion und klare Konfigurationsstruktur

  • I18n basiert auf Ruby Hashes, dynamische Konfiguration wird über dotenv verwaltet (nahezu kein YAML)
  • Nur bei docker-compose wird YAML ausnahmsweise genutzt

Keine unnötigen Abstraktionen oder erzwungenen Muster

  • Klare Namensgebung und Struktur (z. B. WidgetsPage ist unter /widgets erreichbar)
  • Datenebene (DB::Widget) und Domänenebene (Widget) lassen sich vollständig trennen
  • Kein Controller-Konzept, Geschäftslogik kann frei implementiert werden
  • Komplexe funktionale Muster, Monaden, Proc usw. werden nicht erzwungen

Entwicklererfahrung und Flexibilität

  • Moderne Ruby-Ökosystem-Tools wie RSpec sind standardmäßig integriert
  • Phlex (HTML), Faker/FactoryBot, Sequel, OpenTelemetry und weitere wichtige Bibliotheken werden aktiv genutzt
  • Weg von wiederkehrendem Boilerplate, Setup und Entscheidungsdebatten; Fokus auf den Spaß mit Ruby- und Browser-Technologien

Warum Brut?

  • Statt wiederholten Setups, ständiger Architektur- und Strukturdebatten sowie unnötiger Flexibilität in Rails und anderen bestehenden Frameworks setzt Brut auf die Freude am Code selbst
  • Als Ruby-basiertes Web-App-Framework, mit dem sich schnell entwickeln und deployen lässt, konzentriert es sich auf Produktivität und Klarheit

Start und Roadmap

  • Brut stellt ein offizielles Docker-Image bereit, unterstützt schnelle App-Erstellung und -Ausführung per Kommandozeile
  • Praxisnahe Beispiel-Apps wie ADRs.cloud
  • Version 1.0 und die offizielle Roadmap sollen kontinuierlich aktualisiert werden

Noch keine Kommentare.

Noch keine Kommentare.