Quino

Ressourcen

Präsentationen

Die Ressourcen und

Präsentationen sind nur

auf Englisch erhältlich

Quino ist ein leistungsfähiges, flexibles, modulares und modernes Metadaten-Framework zum Erstellen aller Arten von Anwendungen mit .NET — Von einfachen API-Servern über SPA-Web-Apps bis hin zu Winform oder WPF auf dem Desktop.

„Model-first“ Enwicklung

Eine Anwendung verwendet Quino, um ihr Domain-Modell zu definieren, zu erweitern und zu verwenden. Ein Domänenmodell besteht aus Klassen, Eigenschaften, Beziehungen, Layouts, Indizes, Methoden und mehr. Der Ansatz „model-first“ stellt im Gegensatz zum Ansatz „database-first“ oder „code-first“ den Fokus auf das Domänenmodell Ihrer Anwendung — wo es hingehört. Quino ist in .NET implementiert, aber das Konzept — Einkapseln von Anwendungsdomänenwissen — könnte in jeder Sprache oder Laufzeit erstellt werden.

Modular und flexibel

Quino ist sehr modular aufgebaut: Der Kern besteht aus nur drei Baugruppen. Die Metadaten selbst sind einfach und leicht zu verstehen. Es kann auf unzählige Arten mit anwendungsspezifischen Aspekten erweitert werden, die von Komponenten verwendet werden können, die auf Quino basieren.

Andere Module verwenden Metadaten, um andere Dienste bereitzustellen:

  • ORM (PostgreSql, Sql Server und Remoting)
  • Automatisierte Schema-Migration (PostgreSql und Sql Server)
  • Generierte Benutzeroberflächen für Winform, WPF
  • Verallgemeinerter REST-API-Server für SPA-Frontends
  • Generalized Remoting Server mit ORM und modellierten APIs
  • Reporting Integration (DevExpress)
  • Testunterstützung (verallgemeinert und NUnit)

Quino richtig verwenden

Wenn Sie Quino verwenden, definieren Sie Ihre Metadaten und wählen die Module aus, die Ihre Anwendung verwenden soll. Eine typische Anwendung enthält einen Datentreiber (PostgreSql und SQL Server werden unterstützt) sowie eine automatisierte Schemamigration. Mit ein paar Zeilen in der Konfiguration erhält die Anwendung einen vollständigen CRUD-Client für das Datenmodell in Winform oder WPF.

Eine solche Anwendung kann für extrem schnelles und optimiertes Prototyping verwendet werden. Außerdem kann die Anwendung ohne direkt in den Produktionscode einzugreifen erweitert werden.

Ein Entwicklerwerkzeug

Quino ist für Entwickler. Domänenmodelle sind in einer .NET-Sprache definiert. 1 Die Entwickler-Feedback-Schleife ist extrem eng: Neue Teile des Modells sind für Tests und die Benutzeroberfläche mit einem schnellen Neuaufbau und Ablauf verfügbar.

Die WPF- und Web-Clients können vollständig formatiert werden (der Winform-Client verfügt über eingeschränkte Styling-Unterstützung). Kundenspezifische Modellelemente werden durch Plugins unterstützt, die entweder .NET-Assemblys oder C # -Quelldateien sein können (falls aktiviert). Dies ermöglicht eine große Flexibilität für benutzerdefinierte Felder und Details.

Vergleiche

Was ist los mit dem Ansatz von Entity Framework (EF) oder anderen ORMs, die „database-first“ oder „code-first“ Ansätze verwenden? Es ist klar, dass „database-first“ für Anwendungen, die Legacy-Daten verwenden, ihren Platz hat. Quino bietet diese Unterstützung ebenfalls. Bei der Definition einer new-Anwendung ist es jedoch besser, zuerst das Modell zu erstellen. Die Vorteile dieses Ansatzes sind:

  • Sie können bekannte Werkzeuge und IDEs verwenden, um das Modell zu definieren
  • Sie können Tests für dieses Modell schreiben
  • Ihr Modell kann von anderen Komponenten verwendet werden (z. B. UI-Generatoren, Berichterstellungstools usw.)

Was ist mit dem „code-first“ Ansatz? Dieser Ansatz definiert Tabellen als C # -Objekte mit Attributen zum Definieren von Beziehungen, Indizes usw. Wo das nicht ausreicht, können Sie das Modell mit einer fließenden API (zumindest in EF) weiter konfigurieren.

Ein großer Teil dieses Modells ist jedoch nicht als Code verfügbar oder wird von EF mit dem ausdrücklichen Zweck bereitgestellt, von einem ORM verwendet zu werden. Sie können die Metadaten von EF nicht für andere Zwecke erweitern. Wenn Sie dies tun, werden Sie am Ende mit Metadaten kämpfen, deren Inhalt Datenpersistenz ist, keine generalisierte Domänenmodellbeschreibung. Anstelle einer API, die sich auf das Abrufen von Metadaten konzentriert, verwenden Sie eine allgemeinere reflektierende API.

Benutzeroberflächen

Wie oben erwähnt, enthält Quino Unterstützung für generierte Benutzeroberflächen mit Winform- und WPF-Zielen. Für Webanwendungen können Sie einen OWIN-Server integrieren, der als eigenständige ausführbare Datei oder als Windows-Dienst ausgeführt wird. Es gibt einen Quino Webclient, der mit React und Mobx geschrieben wurde.

  • WPF und Web verwenden die ECUI (Encodo Common User Interface) 2
  • WPF- und Web-UIs können vollständig neu formatiert werden
  • Winform verwendet DevExpress-Skins
  • Alle Benutzeroberflächen unterstützen benutzerdefinierte Komponenten

Die folgenden Beispiele zeigen das in Quino enthaltene Sandbox-Modell, das auf den verschiedenen Benutzeroberflächen ausgeführt wird.

WPF

WPF Sandbox

Web

Web Sandbox

Winform

Winform Sandbox


  1. C# ist standart allenfalls ist Quino CLS-compliant und deshalb stehen VB and F# auch als mögliche Sprachen da.

  2. Siehe ECUI (Authentifizierung erforderlich)

aktualisiert am 12.06.2019