Entwicklungs-Roadmap

Verfolge unseren Fortschritt und kommende Funktionen. Wir entwickeln uns ständig weiter, um dir die beste Entwicklungserfahrung zu bieten.

Automatisierte Testgenerierung

Geplant

Automatisierte Testgenerierung mit Unterstützung für zwei Hauptstufen:

Unit-Tests:
Erstellung von Tests für einzelne Klassen und Methoden mit Fokus auf Geschäftslogik.

Integrationstests:
Erstellung von Tests zur Überprüfung der Integration zwischen Komponenten, indem Interaktionen mit Datenbanken und externen Diensten simuliert werden.

Funktion
2026

Lino jetzt im Early Access verfügbar

In Arbeit

Lino ist jetzt kommerziell in der Early-Access-Version verfügbar, was das Ende der Beta-Phase und den Beginn seiner Einführung in realen Entwicklungsumgebungen markiert.

Alle Hauptfunktionen, die für Version 1.0.0 vorgesehen sind, wurden bereits implementiert, wodurch das Produkt vollständig und bereit für praktische Anwendungen ist.

In dieser Anfangsphase liegt unser Fokus auf kontinuierlicher Verbesserung — Leistungsanpassungen, Stabilitätsverbesserungen und kleinere Optimierungen basierend auf der tatsächlichen Nutzung durch Kunden.

Wer Lino in dieser Phase erwirbt, erhält vollen Zugriff auf Updates, dedizierten technischen Support und die Möglichkeit, aktiv an der Weiterentwicklung des Produkts bis zur offiziellen Veröffentlichung von Version 1.0.0 teilzunehmen.

Verbesserung
November 2025 v1.0.0-preview.1

Kompatibilität und native Generierung mit .NET 10

Abgeschlossen

Lino generiert jetzt Projekte, die vollständig mit .NET 10 kompatibel sind, und festigt damit seine Integration mit der neuesten Version der Microsoft-Plattform.

Das Upgrade von .NET 9 auf .NET 10 war entscheidend, um sicherzustellen, dass erstellte Projekte die neuesten Fortschritte im .NET-Ökosystem nutzen – einschließlich Leistungsoptimierungen, Verbesserungen der Kompilierzeit, neuer Funktionen von C# 13 und Verbesserungen der ASP.NET Core-Erfahrung.

Dieses Update stellt sicher, dass der gesamte generierte Code zukunftssicher ist, mit überarbeiteten Vorlagen, aktualisierten Target Framework-Einstellungen und angepasstem Scaffolding für die neuen Sprach- und Laufzeitstandards.

Verbesserung
November 2025 v1.0.0-beta

Generierung von .http-Dateien

Abgeschlossen

Die automatische Generierung von .http-Dateien wurde implementiert, um das Testen und Dokumentieren von REST-Endpunkten während der Entwicklung zu vereinfachen.

Diese Funktion ermöglicht es, Anfragen zu organisieren und direkt in kompatiblen Tools einfach auszuführen, wodurch die API-Validierung beschleunigt und die Entwicklererfahrung verbessert wird.

Hauptvorteile:
_ Automatische Erstellung von Dateien, die sofort für Endpoint-Tests bereit sind.
_ Erleichtert die Dokumentation und das Teilen von Anfragebeispielen.
_ Integriert sich in den Entwicklungsworkflow ohne zusätzliche Konfiguration.
_ Beschleunigt die API-Validierung in verschiedenen Umgebungen.

Funktion
Oktober 2025 v1.0.0-beta

Integrationsereignisse mit Eigenschaftsauswahl

Abgeschlossen

Es wurde die Möglichkeit hinzugefügt, Integrationsereignisse aus der expliziten Auswahl der Entitätseigenschaften zu generieren, die das Ereignis bilden sollen. Ohne diese Funktion hätten Ereignisse normalerweise die gesamte Entität exponiert oder die manuelle Erstellung spezifischer DTOs erfordert — was die Verbosität erhöhte und unnötige Daten preisgeben konnte.

Mit dem neuen Ansatz haben Entwickler eine granulare Kontrolle über die enthaltenen Eigenschaften, was zu schlankeren, sichereren Ereignissen führt, die den Best Practices moderner Messaging-Systeme entsprechen.

Hauptvorteile:
_ Auswahl nur der für das Ereignis relevanten Eigenschaften.
_ Reduzierter Overhead und Vermeidung unnötiger Datenexposition.
_ Kleinere Nachrichten in Queues und Topics, effizienter.
_ Einfachere Weiterentwicklung von Integrationsverträgen.

Funktion
Oktober 2025 v1.0.0-beta

Registrierung von FluentValidation mit Source Generators

Abgeschlossen

Es ist nun möglich, alle auf FluentValidation basierenden Validatoren automatisch mithilfe der Bibliothek Tolitech.FluentValidation.Generators zu registrieren.

Im traditionellen Modell müssen Validatoren manuell oder über Reflection zur Laufzeit entdeckt und registriert werden, was zu wiederholtem Code führt und die Leistung beeinträchtigt. Mit Source Generators wird dieser Prozess zur Kompilierzeit durchgeführt, was zu optimierterem, sicherem und leichter nachverfolgbarem Code führt.

Hauptvorteile:
_ Eliminierung der manuellen Registrierung von Validatoren.
_ Entfernung der Reflection-Nutzung, Verbesserung der Leistung und geringere Ressourcenzuweisung.
_ Typensicherheit und Validierung bereits zur Kompilierzeit gewährleistet.
_ Einfachere Wartung und Weiterentwicklung des Projekts.

Leistung
Oktober 2025 v1.0.0-beta

Registrierung von EF Core-Konfigurationen mit Source Generators

Abgeschlossen

Es wurde Unterstützung hinzugefügt, um automatisch alle Entity Framework Core Entity-Konfigurationsklassen (EntityTypeConfiguration) mithilfe von Source Generators zu erkennen und zu registrieren.

Derzeit hängt dieser Prozess von Reflection oder der manuellen Registrierung innerhalb von OnModelCreating ab, was die Komplexität erhöht, die Leistung beeinträchtigt und die Wartung erschwert. Mit dieser neuen Funktion werden die Mappings zur Kompilierzeit aufgelöst, wodurch Reflection überflüssig wird und die Konfiguration effizienter zentralisiert wird.

Hauptvorteile:
_ Ersetzt die Verwendung von Reflection in EF Core.
_ Verkürzt die Startzeit der Anwendung.
_ Gewährleistet die korrekte Anwendung aller Konfigurationen.
_ Erhöht Robustheit und Klarheit im Domain-Modeling.

Leistung
Oktober 2025 v1.0.0-beta

Zugriffskontrolle über Richtlinien

Abgeschlossen

Berechtigungsbasiertes Zugriffskontrollsystem (PBAC) unter Verwendung von Policies in ASP.NET Core.
Die Berechtigungen werden automatisch durch Source Generators erstellt und als Policies in .NET registriert.
Jeder Dienst, der diese Berechtigungen nutzt, löst Ereignisse aus, die die Berechtigungsdatenbank des Systems automatisch aktualisieren.

Hauptmerkmale:
_ Automatische Generierung von Berechtigungen über Source Generators
_ Automatische Registrierung von Policies in ASP.NET Core
_ Dynamische Aktualisierung der Berechtigungsdatenbank über Ereignisse/Nachrichten
_ Unterstützung für hybrides RBAC, das die Einfachheit von Rollen mit der Granularität von Berechtigungen kombiniert

Vorteile:
_ Maximale Leistung und Skalierbarkeit
_ Automatisierte Verwaltung und vereinfachte Wartung
_ Flexibilität für unterschiedliche Sicherheitszenarien

Funktion
September 2025 v1.0.0-beta

Unterstützung für Datei-Uploads

Abgeschlossen

Implementierung der nativen Unterstützung für den Typ IFormFile bei Endpunkten, die mit Minimal APIs erstellt wurden. Diese Funktion ermöglicht die automatische Generierung von Routen mit Datei-Uploads, darunter:

_ Definition von Endpunkten mit Unterstützung für Uploads über multipart/form-data;
_ Automatische Validierung von MIME-Typen und maximal zulässiger Dateigröße;
_ Unterstützung für lokale Speicherung und Integration mit Cloud-Diensten wie Azure Blob Storage und AWS S3;

Ideal für Anwendungen, die einen sicheren und performanten Datei-Upload benötigen – z. B. für Bilder, Dokumente und Medien.

Funktion
September 2025 v1.0.0-beta

Intelligentes Zusammenführen von Dateien

Abgeschlossen

Ab dieser Version führt die Lino CLI ein intelligentes automatisches Zusammenführen der generierten Dateien durch. Früher ersetzten die von Lino erstellten Dateien direkt die vorhandenen, wodurch manuelle Änderungen des Entwicklers überschrieben werden konnten.

Jetzt kann Lino dank der neuen 3-Wege-Merge-Strategie (original generierte Datei, vom Benutzer bearbeitete Version und neu generierte Datei) Anpassungen erhalten und gleichzeitig strukturelle Updates der Vorlage anwenden.

Vorteile dieses Ansatzes:
_ Verhindert versehentliches Überschreiben von manuellem Code.
_ Erleichtert die kontinuierliche Weiterentwicklung von templatebasierten Projekten.
_ Reduziert manuelle Konflikte bei Updates.
_ Verbessert die Integration zwischen lokalen Anpassungen und der Weiterentwicklung des Frameworks.

Verbesserung
September 2025 v1.0.0-beta

Registrierung von Minimal APIs mit Source Generators

Abgeschlossen

Mit Lino CLI generierte Projekte können nun Minimal APIs automatisch registrieren, indem sie die Tolitech.MinimalApis.Generators-Bibliothek verwenden, die auf Source Generators basiert.

Dieser Ansatz ersetzt die Notwendigkeit:
_ Jede Route manuell über MapGet, MapPost usw. zu registrieren
_ Reflection zu verwenden, um Routen zu scannen und zuzuordnen — was performanceintensiv ist.

Durch den Einsatz von Source Generators erfolgt das Routing zur Compile-Zeit, was optimierten, sauberen und nachvollziehbaren Code erzeugt.

Hauptvorteile:
_ Beseitigt die Wiederholung und Umständlichkeit manueller Routendeklaration
_ Verzicht auf Reflection reduziert CPU- und Speicherverbrauch
_ Verbesserte Codeorganisation und klare Trennung der Verantwortlichkeiten
_ Sichere, automatische Routenerstellung mit Compile-Time-Validierung
_ Erleichtert Wartung und Skalierbarkeit des Projekts

Leistung
August 2025 v1.0.0-beta

Abhängigkeitsinjektion mit Source Generators

Abgeschlossen

Wir verwenden jetzt die Bibliothek Tolitech.DependencyInjection.Generators, die den auf Reflection basierenden Ansatz von Tolitech.DependencyInjection.Extensions ersetzt.

Diese neue Bibliothek nutzt die Source Generators von .NET, um Abhängigkeitsregistrierungen automatisch zur Kompilierzeit zu generieren.

Das bietet mehrere Vorteile:
_ Entfernung von Reflection zur Laufzeit, wodurch die Anwendungsleistung verbessert wird.
_ Vorhersehbare und nachvollziehbare Codegenerierung.
_ Sicherere Kompilierung mit frühzeitiger Fehlererkennung.
_ Native Integration in die .NET-Build-Pipeline.

Leistung
August 2025 v1.0.0-beta

Einführung des Central Package Manager

Abgeschlossen

Wir verwenden jetzt den Central Package Manager (CPM), einen modernen Ansatz zur Verwaltung von NuGet-Paketen in Lösungen mit mehreren Projekten. Damit werden alle Paketversionen zentral in der Datei Directory.Packages.props definiert, was Inkonsistenzen beseitigt und sichere, koordinierte Updates erleichtert. Dies reduziert Fehler durch Versionskonflikte zwischen Projekten, verbessert die Nachverfolgbarkeit und vereinfacht großflächige Aktualisierungen von Abhängigkeiten.

Verbesserung
August 2025 v1.0.0-beta

Unterstützung für das neue .SLNX-Format

Abgeschlossen

Lino erstellt jetzt Lösungen im neuen Format .slnx, einer modernen Weiterentwicklung des traditionellen .sln.
Das auf XML basierende .slnx wurde übernommen, da es für Menschen und Tools besser lesbar ist und die Komplexität bei der Integration mit externen Systemen und CI/CD-Pipelines reduziert.

Darüber hinaus verbessert seine sauberere Struktur die Versionskontrolle erheblich – Änderungen sind vorhersehbarer und leichter zu überprüfen.
Diese Änderung entspricht der zukünftigen Ausrichtung des .NET-Ökosystems und fördert eine bessere Interoperabilität, Erweiterbarkeit und Automatisierung in der Projektentwicklung.

Verbesserung
Juli 2025 v1.0.0-beta

Unterstützung für .NET / Aspire-Generierung in der Community-Version

Abgeschlossen

Das Community-Abonnement bietet nun Unterstützung für die Erstellung von Projekten basierend auf .NET 9 und Aspire 9.2.1, sodass Benutzer die Funktionen der Plattform kostenlos und technisch erkunden können.

Diese Version umfasst:
_ Erstellung von Services und Entitäten mit automatisiertem Scaffolding;
_ Auswahl der Datenbank und vollständige Initialkonfiguration;
_ Funktionale Generierung bis zur Phase von EF Core Migrations.

Obwohl fortgeschrittene Funktionen wie Mikrodienste und modulare Monolithen auf kostenpflichtige Pläne beschränkt sind, bietet diese Version eine solide Grundlage zur Bewertung der generierten Architektur, der Codequalität und der Integration mit dem modernen .NET-Ökosystem.

Verbesserung
Juli 2025 v1.0.0-beta

In die CLI integrierter Datenbank-Migrationsbefehl

Abgeschlossen

Die CLI bietet jetzt den Befehl lino database migrations add an, um die Erstellung von Migrationen für beliebige Dienste oder Module des Projekts zu erleichtern.

Diese Funktion automatisiert die Generierung von Migrationsskripten, die an die Build-Version gebunden sind, und ermöglicht eine konsistente Dokumentation der Änderungen.

Hauptvorteile:
_ Schnelle Erstellung von Migrationen pro Dienst oder Modul mit einfachen und direkten Befehlen.
_ Automatische Generierung von .sql-Skripten, die mit der Projektversionierung kompatibel sind.
_ Erleichtert die Versionskontrolle der Datenbank auch in verteilten Architekturen.
_ Standardisiert und dokumentiert strukturelle Datenbankänderungen sicher und prüfbar.
_ Natürliche Integration in den Build- und Deployment-Prozess der Anwendung.

Funktion
Juli 2025 v1.0.0-beta

Versions- und Build-Management mit Docker

Abgeschlossen

Die neue Versionierungsfunktion ermöglicht es, vorhandene Versionen aufzulisten und einen Versions-Bump für mit dem Tool generierte Dienste und Webanwendungen durchzuführen, gemäß der SemVer-Konvention (Semantische Versionierung). Dies sorgt für mehr Nachvollziehbarkeit, Standardisierung und Kontrolle im Release-Zyklus.

Mit dem Befehl version kann die Versionsnummer eines jeden Dienstes oder einer Anwendung einfach festgelegt und aktualisiert werden, was Audits erleichtert und Best Practices in den Entwicklungsprozess integriert.

Der Befehl build wurde ebenfalls verbessert, um Docker-Images mit dem definierten Versionstag zu erstellen, was das Packaging vereinfacht und die Anwendungen für die Veröffentlichung vorbereitet.

Diese Verbesserungen erhöhen die Konsistenz und Vorhersehbarkeit im Release-Management und bieten mehr Transparenz für Entwicklungs- und Betriebsteams.

Verbesserung
Juni 2025 v1.0.0-beta

Auswahl von Eigenschaften in Commands und Queries

Abgeschlossen

Anpassen, welche Eigenschaften bei der Generierung von Artefakten des Typs Command (Post, Put, Patch) und Query (Get) berücksichtigt werden.

Diese Funktion bietet:
_ Interaktive CLI-Oberfläche zur Auswahl von Eigenschaften während des Entity-Scaffoldings;
_ Automatische Generierung von Objekten mit nur den ausgewählten Feldern für Input/Output;
_ Vollständige Unterstützung zur Anpassung von Payloads in REST-APIs, wodurch Flexibilität und Kontrolle über übertragene Daten erhöht werden;
_ Integration mit Validierung und generierten Datenverträgen unter Einhaltung von Pflicht- und Konsistenzregeln.

Diese Verbesserung zielt darauf ab, eine feinere Modellierung von Artefakten zu ermöglichen, damit Entwickler genau steuern können, was über die von der CLI generierte Architektur exponiert, gespeichert oder abgefragt wird.

Verbesserung
Juni 2025 v1.0.0-beta

Automatischer Backup-Mechanismus im CLI

Abgeschlossen

In Lino CLI wurde ein automatischer Mechanismus zur Versionierung und Sicherung von Dateien implementiert, um Sicherheit und Nachverfolgbarkeit bei der Erstellung und Überschreibung von Dateien zu gewährleisten.

Alle generierten Dateien werden im Ordner /.lino/files/.../received/ gespeichert, was eine zeitliche Organisation und einfache Auffindbarkeit sicherstellt.

Ersetzte Dateien bleiben im Ordner /.lino/files/.../replaced/ gespeichert, wodurch eine Wiederherstellung früherer Versionen bei Bedarf möglich ist. Diese Backup-Struktur bietet mehr Kontrolle und Sicherheit und ermöglicht eine vollständige Überprüfung der generierten Dateien, insbesondere in kollaborativen und automatisierten Entwicklungsumgebungen.

Verbesserung
Juni 2025 v1.0.0-beta

Integrierte Authentifizierung und Autorisierung mit JWT

Abgeschlossen

Vollständige Implementierung von Authentifizierung und Autorisierung für Frontend- und Backend-Projekte basierend auf JWT (JSON Web Tokens) und granularem Berechtigungsmanagement durch benutzerdefinierte Authorization Policies in ASP.NET Core.

Highlights:
_ Sicheres Login mit Ausgabe und Validierung von JWTs.
_ Autorisierung basierend auf benutzerdefinierten Richtlinien (Claims und Rollen).
_ Automatische Integration zwischen generierten APIs und Frontends (Blazor).
_ Schutz von Routen und Komponenten basierend auf Benutzerberechtigungen.

Vorteile:
_ Robuste Sicherheit für moderne Anwendungen.
_ Standardisierung des Zugriffsmodells nach Profil und Domäne.
_ Sicheres und integriertes Nutzungserlebnis zwischen den Anwendungsschichten.
_ Einfach erweiterbar und an Unternehmensszenarien anpassbar.

Sicherheit
Mai 2025 v1.0.0-alpha

Unterstützung für die Generierung integrierter Frontends (Blazor Web Apps)

Abgeschlossen

Es ist jetzt möglich, ein oder mehrere Frontends zu generierten Projekten hinzuzufügen, mit anfänglicher Unterstützung für Blazor Web Apps — einschließlich der Server- und WebAssembly-Modelle.

Diese Frontends werden automatisch mit den von dem Tool generierten APIs integriert, wodurch die Erstellung kompletter CRUD-Seiten mit direkten Aufrufen der Backend-Endpunkte und Persistenz in der Datenbank ermöglicht wird.

Highlights:
_ UI-Generierung basierend auf Domänenentitäten.
_ Native Kommunikation mit den generierten APIs.
_ End-to-End-Funktionalität: Frontend, Backend und Datenbank arbeiten zusammen.
_ Möglichkeit mehrerer Frontends im selben Projekt (z.B. Admin, Portal, Öffentlich).

Vorteile:
_ Schnelle Entwicklung von Benutzeroberflächen.
_ Weniger Nacharbeit und manuelle Integration.
_ Einheitlicher Standard für Navigation, Stil und Datenzugriff.
_ Höhere Produktivität durch automatische Generierung von CRUD-Seiten.

Funktion
Mai 2025 v1.0.0-alpha

Unterstützung des Transactional Outbox-Standards

Abgeschlossen

Wir haben das Muster Transactional Outbox implementiert, um die Zuverlässigkeit beim Versenden von Integrationsereignissen zu gewährleisten. Anstatt das Ereignis direkt während der Anwendungstransaktion zu veröffentlichen, wird es nun in einer speziellen Tabelle innerhalb derselben Datenbanktransaktion registriert.

Anschließend liest ein background job diese Outbox und führt die tatsächliche Auslösung des Ereignisses durch.

Vorteile dieses Ansatzes:
_ Gewährleistet Konsistenz zwischen Datenbankänderungen und Ereignisveröffentlichung.
_ Verhindert Nachrichtenverlust bei Zwischenfehlern.
_ Ermöglicht Kontrolle von Wiederholungen und Auditierung veröffentlichter Ereignisse.
_ Entspricht bewährten Praktiken ereignisgesteuerter Architektur und Microservices.

Funktion
April 2025 v1.0.0-alpha

Unterstützung von Hintergrundaufgaben mit Hangfire

Abgeschlossen

Es wurde die Möglichkeit hinzugefügt, Background Jobs in generierten Services — ob einfach oder modular — mithilfe der Bibliothek Hangfire zu integrieren.

Damit verfügen Projekte nun standardmäßig über Terminierung und Ausführung von Hintergrundaufgaben, einschließlich:
_ Wiederkehrende (cron), geplante oder sofortige Ausführung.
_ Überwachung über ein integriertes Dashboard.
_ Sichere Persistenz und Wiederverarbeitung von Jobs.

Dieser Mechanismus kann auch zusammen mit dem Transactional Outbox Pattern verwendet werden, um eine zuverlässige Auslösung von Integrationsereignissen selbst bei Teilfehlern oder in verteilten Szenarien zu gewährleisten.

Hauptvorteile:
_ Automatisierung wiederkehrender und langwieriger Aufgaben ohne Blockierung des Hauptflusses.
_ Hohe Resilienz und Beständigkeit von Hintergrundaufgaben.
_ Sofortige Integration mit dem Outbox-Pattern für zuverlässige Ereignisse.
_ Einfache Konfiguration und Anpassung von Jobs pro Service.
_ Integriertes Dashboard zur Überwachung und Steuerung von Ausführungen.

Funktion
April 2025 v1.0.0-alpha

Messaging mit MassTransit und RabbitMQ

Abgeschlossen

Die Möglichkeit wurde hinzugefügt, Unterstützung für asynchrone Nachrichtenübermittlung mit RabbitMQ zu konfigurieren, unter Nutzung der Abstraktion und fortgeschrittenen Funktionen von MassTransit.

Dadurch können generierte Services entkoppelt und resilient kommunizieren, indem sie verteilte Events und Commands verwenden.

Highlights der Integration:
_ Automatisierte Transportkonfiguration mit RabbitMQ.
_ Veröffentlichung und Empfang von Events via MassTransit mit nativer Dependency Injection.
_ Kompatibel mit dem Transactional Outbox Pattern für höhere Zuverlässigkeit.

Vorteile:
_ Hohe Skalierbarkeit durch eventbasierte Kommunikation.
_ Entkopplung von Produzenten und Konsumenten.
_ Höhere Fehlertoleranz und automatische Wiederverarbeitung.
_ Einfache Wartung und Erweiterung asynchroner Geschäftsabläufe.

Funktion
April 2025 v1.0.0-alpha

Erweiterte Transaktionskontrolle mit Unit of Work

Abgeschlossen

Ein robustes Unit of Work-System wurde implementiert mit voller Transaktionskontrolle, Verwaltung von Domain-Events, Veröffentlichung von Integrations-Events (Outbox Pattern), automatischem Rollback und Unterstützung des Result-Patterns für Commit/Rollback basierend auf Erfolg oder Misserfolg der Operation.

Highlights:
_ Explizite Erstellung von Transaktionen mit Isolationslevel-Kontrolle.
_ Veröffentlichung von Domain Events, synchron zur Datenpersistenz.
_ Entkoppelte Veröffentlichung von Integration Events via Outbox Pattern.
_ Automatisches Rollback und Ausnahmebehandlung mit Unterstützung von Constraint-Validierungen.
_ Commit bedingt durch das Result der Operation.
_ Strukturierte Protokollierung von Events, Transaktionen und Fehlern.

Vorteile:
_ Transaktionale Konsistenz zwischen Datenbankoperationen und generierten Events.
_ Flexibilität bei der Nutzung von Standard-SaveChanges oder vollständiger Steuerung des Ablaufs.
_ Einfachheit bei Unit-Tests und Fehlernachverfolgung.
_ Klare Trennung zwischen Domäne und Infrastruktur mit MediatR-Unterstützung.

Verbesserung
März 2025 v1.0.0-alpha

Dienstspezifische Datenbank mit Unterstützung für SQL Server und PostgreSQL

Abgeschlossen

Es ist jetzt möglich, für jeden generierten Dienst individuell die zu verwendende Datenbank festzulegen — mit nativer Unterstützung für SQL Server und PostgreSQL.

Dieser Ansatz ermöglicht es, dass jeder Dienst seine eigene exklusive Datenbank hat, was vollständige Isolation gewährleistet und die Umsetzung von echten Microservice-Architekturen erleichtert.

Bei modularen Diensten verwendet die Anwendung weiterhin eine einzelne Datenbank pro Dienst, wobei jeder Modul durch ein Schema getrennt wird, was Organisation und Kohärenz bewahrt.

Hauptvorteile:
_ Datenisolation zwischen Diensten erhöht Sicherheit und Verantwortlichkeitsklarheit.
_ Stufenweise Einführung von Microservices mit unabhängigen Datenbanken möglich.
_ Trennung per Schema bei modularen Diensten erleichtert Wartung und Domänenverständnis.
_ Volle Flexibilität bei der Wahl des passenden DBMS pro Dienst.
_ Einfache Tests, isolierte Deployments und horizontale Skalierbarkeit.

Funktion
März 2025 v1.0.0-alpha

Unterstützung für die Erstellung einfacher und modularer Dienste

Abgeschlossen

Das Lino CLI ermöglicht dem Entwickler jetzt, während der Projekterstellung zwischen der Erstellung von einfachen Diensten (traditionell) oder modularen Diensten zu wählen, mit voller Freiheit, beide nach Bedarf innerhalb der Lösung zu kombinieren.

Dieser Ansatz bietet direkte Unterstützung für unterschiedliche Architekturansätze:
Einfache Dienste: ideal zur Zusammensetzung von Microservice-basierten Lösungen oder zum Aufbau traditioneller monolithischer Anwendungen auf direkte und isolierte Weise.
Modulare Dienste: strukturieren die Anwendungsdomäne in Bounded Contexts und erleichtern die Einführung eines Modular-Monolithen mit klarer Verantwortlichkeitsverteilung und besserer Komponenten-Zusammenhalt.

Sie können beliebig viele Dienste hinzufügen — einfach, modular oder beides — je nach Anwendungsszenario.

Vorteile dieses Ansatzes:
_ Größere Flexibilität bei der Architekturmodellierung.
_ Einfache schrittweise Skalierung von einem Monolithen zu Microservices.
_ Klare Trennung der Verantwortlichkeiten nach Domäne oder Kontext.
_ Bessere Codeorganisation und Ausrichtung an modernen Architekturpraktiken.
_ Weniger Kopplung und höhere Wartbarkeit.

Entwickeln Sie mit Microservices oder entscheiden Sie sich für einen modularen Monolithen — Sie wählen den idealen Weg für Ihre Anwendung.

Funktion
März 2025 v1.0.0-alpha

Hybrides Caching mit Microsoft.Extensions.Caching.Hybrid

Abgeschlossen

Native Unterstützung für hybrides Caching wurde mit der Bibliothek Microsoft.Extensions.Caching.Hybrid hinzugefügt.

Die Implementierung kombiniert In-Memory-Caching (MemoryCache) mit verteiltem Caching (DistributedCache) und bietet so das Beste aus beiden Welten.

Dieser Ansatz ermöglicht extrem schnelle Antworten auf häufige Anfragen und sorgt gleichzeitig für Synchronisierung und Skalierbarkeit in verteilten Umgebungen.

Vorteile der hybriden Strategie:
_ Hohe Leistung durch sofortigen Lesezugriff auf lokalen Speicher.
_ Persistenz und Datenaustausch zwischen Instanzen über verteilten Cache.
_ Reduzierung von Datenbank- und API-Aufrufen.
_ Bessere horizontale Skalierbarkeit bei Anwendungen mit mehreren Replikas.
_ Intelligente Synchronisierung zwischen beiden Cache-Ebenen.

Ideal für Szenarien, die Leistung und Konsistenz erfordern, ohne auf architektonische Flexibilität zu verzichten.

Funktion
Februar 2025 v1.0.0-alpha

Mehrsprachige Unterstützung in generierten Projekten

Abgeschlossen

Lino CLI generiert jetzt Projekte mit integrierter Mehrsprachigkeitsunterstützung, einschließlich automatischer Übersetzung für die folgenden Kulturen:
en, pt-BR, es, fr, it, de, ja, ko, zh-Hans und ru.

Die Ressourcen-Dateien (resx) werden automatisch basierend auf der Hauptsprache generiert und die Inhalte automatisch übersetzt, bereit zur sofortigen Verwendung in globalen Anwendungen.

Vorteile der Mehrsprachigkeitsunterstützung:
_ Erleichtert die Erstellung von Anwendungen für verschiedene Regionen und Kulturen.
_ Verkürzt die für die Internationalisierung benötigte Zeit.
_ Native Integration mit dem .NET-Lokalisierungssystem.
_ Verbessert die Endbenutzererfahrung in mehrsprachigen Anwendungen.
_ Ermöglicht schnelles Skalieren von Lösungen für den globalen Markt.

Funktion
Februar 2025 v1.0.0-alpha

Hochleistungs-Logging

Abgeschlossen

Die vom Lino CLI generierten Codes verwenden jetzt LoggerMessage, um Logs effizienter und leistungsfähiger zu erfassen.

Im Gegensatz zu herkömmlichen Erweiterungsmethoden von ILogger, die Boxing von Werttypen erzeugen und die Speicherallokation zur Laufzeit beeinflussen, erstellt das LoggerMessage-Muster stark typisierte und statische Actions für jede Lognachricht.

Vorteile dieses Ansatzes:
_ Deutliche Reduzierung der Speicherallokationen.
_ Vermeidet Boxing von Werttypen wie int, Guid, DateTime usw.
_ Bessere Leistung bei Szenarien mit hohem Log-Aufkommen.
_ Standardisierung und Zentralisierung von Lognachrichten.
_ Mehr Klarheit bei Audit, Diagnose und Überwachung.

Diese Verbesserung ist besonders relevant in APIs und Backend-Services, bei denen Leistung und Nachverfolgbarkeit entscheidend sind.

Funktion
Februar 2025 v1.0.0-alpha

Optionale Unterstützung für Strongly Typed Id

Abgeschlossen

Die Lino CLI bietet jetzt eine optionale Unterstützung für Strongly Typed Ids, wodurch Entitätskennungen mit spezifischen, stark typisierten Typen statt generischer Typen wie Guid oder int dargestellt werden können.

Diese Funktion hilft, häufige Fehler wie das versehentliche Zuweisen eines Identifikators zwischen verschiedenen Entitäten zu vermeiden und macht den Code zugleich ausdrucksstärker und domänenorientierter.

Vorteile der Verwendung von Strongly Typed Ids:
_ Höhere Typsicherheit zur Kompilierzeit.
_ Verhindert versehentliche Zuweisungen zwischen verschiedenen Entitäten.
_ Verbessert Lesbarkeit und Ausdruck der Absicht im Code.
_ Erleichtert das Nachverfolgen und Debuggen von Identifikatoren im Domänenkontext.
_ Integration mit EF Core, JSON-Serialisierung und Validierung.

Die Funktion ist optional und kann bei der Projekterstellung aktiviert werden.

Funktion
Januar 2025 v1.0.0-alpha

Integrierte statische Codeanalyse in Projekte

Abgeschlossen

Generierte Projekte können jetzt mit Unterstützung für statische Codeanalyse konfiguriert werden, unter Verwendung der wichtigsten Analyzer des .NET-Ökosystems. Diese Tools sind direkt in den Build integriert und helfen, Formatierungs-, Stil-, Architekturprobleme und mögliche logische Fehler bereits in der Entwicklungsphase zu erkennen.

Vorteile:
_ Fördert Konsistenz und Standardisierung im Code von Anfang an.
_ Erkennt frühzeitig Bugs und schlechte Praktiken.
_ Erleichtert Code-Reviews und technische Onboardings.
_ Verbessert Qualität und Wartbarkeit des Codebestands.
_ Verhindert häufige Fehler und verbessert die Einhaltung der .NET-Best-Practices.

Die Konfiguration kann pro Projekt angepasst werden, was eine größere Flexibilität beim gewünschten Strengegrad ermöglicht.

Funktion
Januar 2025 v1.0.0-alpha

Standardisierung mit Result Pattern

Abgeschlossen

Erstellung der Bibliothek Tolitech.Results, die das Result Pattern in .NET vollständig und flüssig implementiert.

Diese Bibliothek kapselt das Ergebnis von Operationen — egal ob erfolgreich oder fehlerhaft — in strukturierte Objekte, die HTTP-Status, Nachrichten, Fehler, Titel, Details und optionale Daten enthalten (mit Unterstützung für Result<T>).

Vorteile der Verwendung des Result Pattern:
_ Standardisierung der Rückgabe von Operationen in der gesamten Anwendung.
_ Reduzierung von Ausnahmen als Flusskontrolle.
_ Erleichterung der Komposition und Verkettung von Operationen.
_ Bessere Unterstützung der Kommunikation zwischen Schichten und Diensten.
_ Fließende Integration mit HTTP-APIs, Validierungen und Fehlermeldungen.
_ Verbesserte Debugging- und strukturierte Protokollierungserfahrung.

Darüber hinaus erweitern Erweiterungen wie Tolitech.Results.Http und Tolitech.Results.Guards die Integration mit REST-APIs und defensiven Validierungen.

Funktion
Januar 2025 v1.0.0-alpha
Ein unbehandelter Fehler ist aufgetreten. Aktualisieren 🗙