Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   [DSharp, Spring4D, Knockoff] Ist Knockoff nur ein proof of concept ? (https://www.delphipraxis.net/192856-%5Bdsharp-spring4d-knockoff%5D-ist-knockoff-nur-ein-proof-concept.html)

Rollo62 26. Mai 2017 07:36


[DSharp, Spring4D, Knockoff] Ist Knockoff nur ein proof of concept ?
 
Hallo zusammen,

aus der Knockoff-Readme:
Zitat:

Note that KnockOff is an experimental proof of concept.
Ich frage mich ob Knockoff Teil von DSharp, Spring4D wird oder ob es nur eine separate Spielwiese ist ?
Jedenfalls ist der letzte Commit von 2015.

DSharp hat die Funktionalität 150% integriert, oder sehe ich das falsch ?

Arbeitet jemand damit in einem produktiven Projekt ?

Rollo

Stevie 26. Mai 2017 10:26

AW: [DSharp, Spring4D, Knockoff] Ist Knockoff nur ein proof of concept ?
 
Frag doch einfach den Author :roll:

Knockoff benutzt ein undokumentiertes Feature des Compilers (was ich seitdem schon einmal "verteidigen" musste, weils aus Versehen ausgebaut wurde), dass man Interfaces von anonymen Methoden ableiten und die Invoke Methode überladen kann. Klar kann man das auch klassisch (reguläres Interface mit Get/Set Methoden) lösen, aber der Witz hier war gerade, dass man es so nutzen kann, wie es aktuell ist.

DSharp hat Bindings, aber die funktionieren aber ein kleines bisschen anders und haben auch nicht den Benachrichtigungsmechanismus wie ich ihn in Knockoff (von KnockoutJS abgeschaut) eingebaut habe. Außerdem ist die Methode, Controls mit Attributen zu versehen um sie automatisch zu binden ziemlich fragil, weil der Designer einem da gerne mal zwischen schießt (aber man kann natürlich auch ohne dieses Feature).

Da ich aktuell an einer Delphi ReactiveX Implementierung arbeite, kann es sehr gut sein, dass darauf aufbauend etwas ähnliches entsteht. Aber das liegt noch in einiger Ferne.

Rollo62 26. Mai 2017 10:40

AW: [DSharp, Spring4D, Knockoff] Ist Knockoff nur ein proof of concept ?
 
Hallo Stevie,

ja dankesehr für die Info.
Ich wollte auch mal generall so hören wer das vielleicht so einsetzt.

Was wäre denn jetzt die Beste Alternative für ein MVVM Konzept mit ORM
- DSharp ?
- Spring4D/Marshmallow ?
- Caliburn ?

Ich verstehe nicht so ganz ob ond wie die Projekte eigentlich zusammenhängen, oder
ob das Alles eher separat zu betrachten ist.
Welches wäre denn für die Zukunft am Besten ausgerichtet (ich vermute mal das wäre Alles im Team) ?

Rollo

mkinzler 26. Mai 2017 10:41

AW: [DSharp, Spring4D, Knockoff] Ist Knockoff nur ein proof of concept ?
 
:thumb:

Stevie 26. Mai 2017 11:08

AW: [DSharp, Spring4D, Knockoff] Ist Knockoff nur ein proof of concept ?
 
DSharp setzt auf Spring4D auf. Caliburn (als Teil von DSharp gestartet) ist niemals über Alpha Status hinausgekommen.

Zu MVVM gibt es sowieso viele Meinungen
(und einige davon sind mMn nichtmal als MVVM zu bezeichnen, wenn man sich die Definition und das Konzept von MVVM mal genau anschaut, aber das ist Stoff für ein anderes Thema)

vieles, was in anderen Sprachen den Charm von MVVM ausmacht wird, in Delphi durch RAD mehr oder minder gut erschlagen.
Und da ich wenig Lust habe, mich mit dem ganzen UI Klump und den unterschiedlichen Verhaltensweisen von VCL, FMX und deren Drittanbieter Controls rumzuschlagen, hab ich das ganze erstmal auf Eis gelegt. Was auch damit zu tun hat, dass es zwar viele Open Source Konsumenten, aber nahezu keine Entwickler gibt, die motiviert, kompetent, vertrauenswürdig und leidensfähig genug sind, mit mir an einem solchen Projekt mitzuarbeiten.

Rollo62 26. Mai 2017 15:29

AW: [DSharp, Spring4D, Knockoff] Ist Knockoff nur ein proof of concept ?
 
Hallo Stevie,

also das ist aber Schade zu hören, vielleicht müssen wir nur mal einen Rundruf starten.
Ich wäre schon bereit daran mitzuarbeiten, ich habe aber auch das Problem das ich keine (oder zu viele) sinnvolle Einbindungen in das RAD-Konzept sehe.

Das ColumbusEgg von Daniele Teti geht ja in die Richtung, fühlt sich aber auch nicht ganz schlüssig an.
Zumindest geht es erstmal nur um Datasets, vielleicht wäre eine Erwaiterung zu PODO Objekten ja sinvoll.

Das entkoppeln von View und ViewModel nur durch die Namensgebung der Properties ist auch so eine Sache, da muss
man sich ziemlich umgewöhnen.
Deshalb fand ich das Knockoff attraktiv weil es konkrete Bind(...) bindings im Code macht, das ist mir eigentlich lieber als RTTI-Magic im Hintergrund.
Zu jedem Property jetzt noch die Attribute schreiben ist auch nicht unbedingt das was ich möchte.
Am Ende läuft das vielleicht doch Alles auf einen LiveBindings Editor V2.0 hinaus, der mit separaten Units/Klassen arbeitet.
Aber ich könnte mich mit Allem anfreunden wenn es denn die Arbeit erleichtert.

Rollo

freimatz 1. Jun 2017 12:57

AW: [DSharp, Spring4D, Knockoff] Ist Knockoff nur ein proof of concept ?
 
Zitat:

Zitat von Stevie (Beitrag 1372791)
vieles, was in anderen Sprachen den Charm von MVVM ausmacht wird, in Delphi durch RAD mehr oder minder gut erschlagen.

Inwiefern? Über LiveBinding. Den Hauptvorteil den ich sehe ist die Abtrennung von Logik aus der UI und die Testbarkeit der Logik.
Wir haben ein eigenes Framework für MVVM gemacht (und auch für Mocks). Leider stösst man an allen ecken und Kanten an die Unzulänglichkeiten von Delphi wenn man mal Generics und RTTI richtig aureizen will.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz