Lust auf eine Open-Source Lösung für universelle Java Client-Technologie?

KSG9|sebastian

Top Contributor
Hab mich mal durchgewühlt...aber mir fehlt so ein wenig der Unterschied zu den anderen tausend Frameworks?!
Warum nichtGWT alleine oder z.B Vaadin? Was unterscheidet dein Framework von den anderen? Alleinstellungsmerkmale?
 

hohwille

Mitglied
Hi Sebastian,

danke für das Interesse.

In dem Text war ein Link auf die Alleinstellungsmerkmale:
net.sf.mmm.client.ui.api (JavaDocs for mmm 1.0.0)

Der Mehrwert ist, dass man über die gleiche API bald GUIs für Web/GWT, Swing, SWT und vermutlich auch Andorid bauen kann. Ziel des ganzen ist langfristig auch eine API zu standardisieren. Das wird alles ein langer Weg, aber mit etwas Unterstützung wird das gelingen...

GWT selbst ist viel zu "low-level". Die Testbarkeit bei GWT-Apps ist extrem schwierig und in der Entwicklung ist man vor allem mit Warten beschäftigt. Hier wird mein Projekt weiterhelfen.
Die fertige Lösung ist nicht da, aber es ist schon vieles am enstehen.
Wird auch alles HTML5 - bis das fertig ist, wird das Marktreif sein. Auch das ist ein Alleinstellungsmerkmal, denn die ganze Legacy-Katastrophe anderer Frameworks besteht erst gar nicht.

Jörg
 
S

Spacerat

Gast
Nein, kein Interesse... um eine solche Technologie zu entwickeln, müssen erstmal die Schwachpunkte der bestehenden Frameworks ausgiebig ausgelotet werden. Es nützt nichts, zu sagen, ein Framework hätte Schwachstellen, wenn man selbst unfähig ist, diese nicht selber erneut zu implementieren oder gar zu verwenden.
I also want to create implementations that adapt from this API to existing native UI-technolgies. And I have already done this for GWT and in previous versions for Swing and SWT.
Meine ureigenste Standardisierung in Sachen Datentypen flüstert mir grad', dass ich soweit auch schon war, wobei alle Implementationen anders aussahen und damit weit entfernt von irgendwelchen Standards waren. Man brauchte also ein und das selbe Framework in der jeweils passenden Version, obwohl man selbst nur für eine Plattform entwickelt hat.
 

hohwille

Mitglied
> um eine solche Technologie zu entwickeln,
> müssen erstmal die Schwachpunkte der bestehenden Frameworks ausgiebig ausgelotet werden.

Ich habe über 10 Jahre private und berufliche Erfahrung mit diversen Web-Frameworks gesammelt. Mir sind sehr viele der Schwachpunkte bekannt.

> Es nützt nichts, zu sagen, ein Framework hätte Schwachstellen,
> wenn man selbst unfähig ist, diese nicht selber erneut zu
> implementieren oder gar zu verwenden.

Warum solche Angriffe wie "wenn man selbst unfähig ist" ?
Ich will nicht GWT neu bauen und ich will auch kein Swing oder SWT neu bauen.
Von den untersten Schichten her lösen diese Frameworks bereits die richtigen Probleme.
Aber alle diese Frameworks bieten die gleichen Widgets haben jedoch keine API in Form von Interfaces. Man muss sich also für eines entscheiden. Will man die Entscheidung ändern muss man fast von vorne anfangen. Ich denke eine gemeinsame API dafür ist etwas, dass in Java einfach fehlt.

> Meine ureigenste Standardisierung in Sachen Datentypen flüstert mir grad',
> dass ich soweit auch schon war, wobei alle Implementationen anders aussahen
> und damit weit entfernt von irgendwelchen Standards waren.
> Man brauchte also ein und das selbe Framework in der jeweils passenden Version,
> obwohl man selbst nur für eine Plattform entwickelt hat.

Woher kommt dieses Urteil? Wurde hierzu die angebotene Lösung aus meinem Projekt überhaupt analysiert?
 

bERt0r

Top Contributor
Was mir nicht ganz klar is: Willst du mit deinem Framework dann Swing/GWT/SWT/etc Code erzeugen oder soll das alles bisherige ersetzen?
 

Noctarius

Top Contributor
Nein wenn ich es richtig verstanden habe will einen einen allgemeinen Abstraktionslayer erstellen, welcher die darunter liegenden UI Implementierungen wegkapselt und noch oben hin ein gemeinsames Set von Interfaces zur Verfügung stellt.

Mein Problem damit, solche Ansätze gab es schon einige und du läufst immer gegen das Problem:
Finde den kleinsten gemeinsamen Nenner, ergo finde UI-Components welche von allen Frameworks unterstützt werden. Das fängt schon bei Dingen wie Layout-Managern an und hört damit auf, das viele sehr typische Elemente in gewissen Frameworks wegfallen, weil die anderen sie nicht bieten oder man muss sie selber nachimplementieren (was den Aufwand ungemein in die Höhe treibt).
 
S

Spacerat

Gast
Sorry... sollte kein Angriff sein, zumal die Idee erstens nicht schlecht ist und zweitens ich eine ähnliche Idee in Sachen Dateiformate habe und diese auch (notfalls im Alleingang) umsetzen werde. Aber wenn ich lese, dass man bei seinem Vorhaben auf bereits Bestehendes fundiert (das hatte ich auch schon...), ist dass mit "gemeinsam" so eine Sache, denn leider ist es so, dass man eigentlich komplett neu anfangen müsste, zumindest damit, was den Inhalt der Top-Level-Frames angeht. Einen Top-Level-Frame bekommt man ja glücklicherweise überall, nur ob man diesen auch überall undekoriert bekommt ist die zweite Frage.
Die Schwachpunkte von solchen Widget-Toolkits beschränken sich aber nicht nur auf das Öffnen und Schliessen von Fenstern oder dem Hinzufügen und Entfernen von Komponenten, sondern in erster Linie auch darauf, dass man auch mal etwas Anzeigen möchte. Grafik, Schrift, dass alles will geladen werden und (evtl. per Paintkontext) auf die Oberfläche gebracht werden. Wie stellst du dir das vor? Andersrum könntest du jetzt fragen, wie ich per DT_Lib geladene Bilder überall anzeigen wollte. Die Antwort ist recht simpel... Mit 'nem neuen Widget-Toolkit, was auf Interfaces basiert und sich über 'nen Service 'nen undekorierten Top-Level-Frame (@Noctarius: das wäre der kleinste gemeinsame Nenner) der jeweiligen Oberfläche holt, auf dem es grad' läuft.
Kurzum: Ich denke mal, wenn du an dem Punkt angekommen bist, wo es um die Implementation einer "paint(Graphics g)" ähnlichen Methode geht, wirst du wissen, wovon ich hier fasel.
 

hohwille

Mitglied
Nein wenn ich es richtig verstanden habe will einen einen allgemeinen Abstraktionslayer erstellen, welcher die darunter liegenden UI Implementierungen wegkapselt und noch oben hin ein gemeinsames Set von Interfaces zur Verfügung stellt.

Mein Problem damit, solche Ansätze gab es schon einige und du läufst immer gegen das Problem:
Finde den kleinsten gemeinsamen Nenner, ergo finde UI-Components welche von allen Frameworks unterstützt werden. Das fängt schon bei Dingen wie Layout-Managern an und hört damit auf, das viele sehr typische Elemente in gewissen Frameworks wegfallen, weil die anderen sie nicht bieten oder man muss sie selber nachimplementieren (was den Aufwand ungemein in die Höhe treibt).

Richtig verstanden :)
Das mit den Layout-Managern habe ich bereits per Proof-Of-Concept hinbekommen. In Swing und SWT ist das für mich zwar die Hölle, aber für den API-Nutzer ist es gut, weil er sich um so einen murks nicht mehr kümmern muss. Swing hat da auch alles falsch gemacht mit Object constraints, etc.
 

hohwille

Mitglied
Kurzum: Ich denke mal, wenn du an dem Punkt angekommen bist, wo es um die Implementation einer "paint(Graphics g)" ähnlichen Methode geht, wirst du wissen, wovon ich hier fasel.

Ist alles schon da von der Basis:
Canvas (Google Web Toolkit Javadoc)

Das zu Wrappen ist nicht so schwer. Die API von Java2d gibt das auch locker her.

Ich will aber erst mal gar nicht pixelgenaue UIs und setzen von einzelnen Pixeln anbieten oder Fenster ohne Rand. Ich will einen Rich Client effizient bauen können, der aus hunderten von Dialogen besteht, mit komplexen Eingabeformularen, Validierung, Databinding, Navigation, Back-Button, etc.

Mein Eindruck ist nur leider, dass ich in diesem Forum nur rumdiskutieren werde, aber keine OSS Entwickler finde...
 
S

Spacerat

Gast
Ist alles schon da von der Basis:
Canvas (Google Web Toolkit Javadoc)

Das zu Wrappen ist nicht so schwer. Die API von Java2d gibt das auch locker her.

Ich will aber erst mal gar nicht pixelgenaue UIs und setzen von einzelnen Pixeln anbieten oder Fenster ohne Rand. Ich will einen Rich Client effizient bauen können, der aus hunderten von Dialogen besteht, mit komplexen Eingabeformularen, Validierung, Databinding, Navigation, Back-Button, etc.

Mein Eindruck ist nur leider, dass ich in diesem Forum nur rumdiskutieren werde, aber keine OSS Entwickler finde...
Ist auch 'ne Idee, den ganzen Google-Kram nach Oracle-Java zu wrappen (ich hatte die natürlich noch nicht).
Fenster ohne Rand waren zunächst einfacher, denn damit liessen sich schon mal Grafiken (sogar Animationen) und Schrift überall hinpinseln wo man wollte (z.B. in den Texturbuffer eines LWJGL-Kontext). Der Nachteil dabei, dass man nun all die bereits vorhandenen Widgets und Layoutmanager gar nicht mehr verwenden kann und so fängt man wieder von vorne an und begeht am Ende wieder genau die selben Fehler, die man eigentlich ausmerzen wollte.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JButtons haben nicht immer lust zu erscheinen AWT, Swing, JavaFX & SWT 9
jojoge wie kann ich in eine Benennung eines JButtons eine Variable einbauen? AWT, Swing, JavaFX & SWT 6
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
berserkerdq2 Buttons und Shapes sehen ja nach Screengröße klein oder zu groß aus, jemand eine Idee, was man tun kann? AWT, Swing, JavaFX & SWT 1
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
_user_q Gibt es eine Möglichkeit, in Java alle möglichen Zeichen automatisch tippen zu lassen? AWT, Swing, JavaFX & SWT 13
J Ich kriege eine Fehler Messesage bei meinem Media Player AWT, Swing, JavaFX & SWT 8
I Einbindung eines jpg/png/icons in eine GUI AWT, Swing, JavaFX & SWT 1
mrbody234 ArrayList<Message> in eine TableView visualisieren AWT, Swing, JavaFX & SWT 2
U Gibt es eine Möglichkeit statt concatenate einen anderen Befehl zu nutzen? AWT, Swing, JavaFX & SWT 9
D Tastaturabfragen CTRL+t, CTRL+E bei eine JTable, bestehend aus JTextAteas AWT, Swing, JavaFX & SWT 4
G JavaFX Wert aus DB lesen, wenn erfolgreich automatisch eine fxml laden, möglich? AWT, Swing, JavaFX & SWT 2
Lukas2904 Wie speicher ich eine Einstellung? AWT, Swing, JavaFX & SWT 1
T Getter und Setter für eine Stage AWT, Swing, JavaFX & SWT 6
P Zwei JTables auf eine A4-Seite mit einstellbaren Rändern AWT, Swing, JavaFX & SWT 9
Monokuma 2D-Grafik Imageimport durch eine gezeichnete Form ersetzen AWT, Swing, JavaFX & SWT 16
M Eine Datei auf den Apache Server hochladen - über das Menü im JavaProgramm AWT, Swing, JavaFX & SWT 7
B JavaFX Warum wird hier eine NullPointer-Exception geworfen? AWT, Swing, JavaFX & SWT 7
VPChief Gibt es eine möglichkeit Dateien aus der jar datei zu kopieren? AWT, Swing, JavaFX & SWT 46
B Swing Sudoku: Laden / Speichern von Zahlen aus/in mehrere JTextFields aus/in eine(r) Textdatei AWT, Swing, JavaFX & SWT 9
P Swing Icon einfügen wirft eine Fehlermeldung AWT, Swing, JavaFX & SWT 3
F Variablen an eine Form binden? AWT, Swing, JavaFX & SWT 2
V Swing für jedes Kästchen eine eigene Farbe AWT, Swing, JavaFX & SWT 2
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3
W JavaFX Warum kriege ich eine Exception? AWT, Swing, JavaFX & SWT 23
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
Informatiknoob AWT Zahlenraten (eine Zahl zwischen 1 und 10) AWT, Swing, JavaFX & SWT 1
A eine Fehler AWT, Swing, JavaFX & SWT 9
TheJavaKid Auf eine Zeichnung im Canvas reagieren AWT, Swing, JavaFX & SWT 13
A JavaFX Daten in eine HTML-Table mit JS schreiben AWT, Swing, JavaFX & SWT 3
B JavaFX TableView eine Zeile markieren AWT, Swing, JavaFX & SWT 5
J jButton soll nach klicken eine Variable um 1 erhöhen AWT, Swing, JavaFX & SWT 2
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
J Swing JavaProgramm für Verschlüssen für eine Datei AWT, Swing, JavaFX & SWT 19
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
J JavaFX Die Webview stellt eine Webseite nicht dar AWT, Swing, JavaFX & SWT 0
M JavaFX Ein Labeltext eine zeitlang anzeigen dann weiter machen AWT, Swing, JavaFX & SWT 3
F Event wenn Maus eine JList verlässt AWT, Swing, JavaFX & SWT 13
I JAVAFX - Übergabe der Inhalte an eine Scene - Wo ist der Vorteil gegenüber Swing? AWT, Swing, JavaFX & SWT 2
Joker4632 JFrame in eine Runnable auslagern? AWT, Swing, JavaFX & SWT 4
A JScrollPane soll JPanel mit JButtons enthalten und eine Scollbar anzeigen AWT, Swing, JavaFX & SWT 1
B Wie erstelle ich eine JavaFX Anwendung von diesem Code? AWT, Swing, JavaFX & SWT 3
Sanni94 JavaFX Kann man eine Grafik in einen Text einbinden? AWT, Swing, JavaFX & SWT 2
Java_RY AWT Frame in eine eigene klasse auslagern und aufrufen AWT, Swing, JavaFX & SWT 6
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
G Eine paint-Methode, 2 Welten? AWT, Swing, JavaFX & SWT 3
Thallius Swing JDatePicker oder Sucht jemand eine Aufgabe? AWT, Swing, JavaFX & SWT 0
K Wie kann ich eine Variable zwischen Tab Klassen weitergeben ? AWT, Swing, JavaFX & SWT 7
D JavaFX Erkennen wenn eine Anwendung geschlossen wird und etwas tun? AWT, Swing, JavaFX & SWT 4
R Swing Durch JComboBox-Item eine TextArea aktualisieren AWT, Swing, JavaFX & SWT 2
M Wie binde ich eine JavaFX ProgressBar an eine Datei Übertragung? AWT, Swing, JavaFX & SWT 2
D Objekte einer Oberfläche in eine Datei/Ordner speichern AWT, Swing, JavaFX & SWT 9
A Mit dem Scene Builder eine Collage erstellen (Bilder beziehen aus Flickr) AWT, Swing, JavaFX & SWT 1
A JFace Wizard: Ist es möglich eine Page zu löschen? AWT, Swing, JavaFX & SWT 2
L Swing Wie programmiere ich eine eigene GUI? AWT, Swing, JavaFX & SWT 12
M Combo Box auswahl in eine Datenbank speichern AWT, Swing, JavaFX & SWT 1
M Swing JTextField getText Mehtode übergeben in eine Klasse zu einer Rechnung AWT, Swing, JavaFX & SWT 1
D AWT Das ganze GUI in eine Klasse? AWT, Swing, JavaFX & SWT 1
J JavaFX eine Art Tabelle, jedoch mit mehreren Zeilen AWT, Swing, JavaFX & SWT 2
L Zwei String Array in eine Spalte einfügen AWT, Swing, JavaFX & SWT 1
U LookAndFeel für eine Komponente AWT, Swing, JavaFX & SWT 2
E Mit Netbeans von einer Form auf eine Komponente einer anderen Form zugreifen AWT, Swing, JavaFX & SWT 2
G Zeichnen auf eine schwergewichtige Komponente? AWT, Swing, JavaFX & SWT 0
S Swing Update eine JTabelle nach einer Drag&Drop Operation AWT, Swing, JavaFX & SWT 0
M Über eine JMenuBar überprüfen ob ein JCheckBoxMenuItem selectiert ist. AWT, Swing, JavaFX & SWT 4
M Wie kann ich eine an Apple Automator angelehnte GUI erstellen? AWT, Swing, JavaFX & SWT 1
A JavaFX Eine Task mit einer ProgressBar verbinden AWT, Swing, JavaFX & SWT 0
S JavaFX Canvas - nur eine Figur auf der Zeichenfläche färben? AWT, Swing, JavaFX & SWT 1
S Swing Mit einem Link eine Methode aufrufen AWT, Swing, JavaFX & SWT 2
C Swing Durch Inhaltsänderung eines JTextfields eine Funktion aufrufen AWT, Swing, JavaFX & SWT 5
G 2D-Slider bzw. eine graphische Auswahlkomponente die sich so verhält AWT, Swing, JavaFX & SWT 6
T Aus JAVA.Jar GUI eine Flash-Datei machen AWT, Swing, JavaFX & SWT 3
S 5 Playlisten eine Skip() AWT, Swing, JavaFX & SWT 4
M SWT Browser nur eine Seite erlauben AWT, Swing, JavaFX & SWT 3
B Daten in eine JTable schreiben AWT, Swing, JavaFX & SWT 3
K GUI Elemente über eine separate Textdatei beschriften? AWT, Swing, JavaFX & SWT 4
G noch eine Frage zum EventDispachThread AWT, Swing, JavaFX & SWT 4
I Anhand ButtonGroup eine Auswahl treffen AWT, Swing, JavaFX & SWT 2
B Nach dem Öffnen des Dialogs eine Aktion ausführen. AWT, Swing, JavaFX & SWT 6
W Funktion aus einer Java Datei in eine andere einbauen AWT, Swing, JavaFX & SWT 25
A Swing Text auf eine Seite an beliebigen Orten schreiben AWT, Swing, JavaFX & SWT 6
G Swing Value von einer JScrollBar auf eine andere übertragen AWT, Swing, JavaFX & SWT 2
Rudolf Swing Wie testet man am besten eine GUI? AWT, Swing, JavaFX & SWT 3
P Swing Alle Zeilen einer Spalte (jTable) zusammen zählen und in eine eigene Zeile das Ergebnis schreiben. AWT, Swing, JavaFX & SWT 7
F GroupableTableHeader zeigt nur eine Zeile AWT, Swing, JavaFX & SWT 4
N Swing Optimale Höhe eine JTextPanes bei festgelegter Breite bestimmen AWT, Swing, JavaFX & SWT 23
R Swing Mit Swing eine throws Exception Methode öffnen AWT, Swing, JavaFX & SWT 3
M Eine Kugel nach rechts bewegen AWT, Swing, JavaFX & SWT 5
C Swing NullPointerException beim Hinzufügen von Checkboxes in eine ArrayList AWT, Swing, JavaFX & SWT 5
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
lumo SWT Zeichnen bescheunigen bzw eine allg. Frage AWT, Swing, JavaFX & SWT 8
M Auf einem Bild eine Markierung aufziehen AWT, Swing, JavaFX & SWT 3
R Eine Instanz von JPanel mehrfach hinzufügen AWT, Swing, JavaFX & SWT 2
B eine .jar erzeugen AWT, Swing, JavaFX & SWT 4
M In JField eine Kommazahl darstellen java.lang.NumberFormatException AWT, Swing, JavaFX & SWT 4
N Button on click eine andere Klasse aufrufen... AWT, Swing, JavaFX & SWT 2
M Eine nicht korrekte Darstellung bei repaint() warum? AWT, Swing, JavaFX & SWT 4
M Ein Tab eine JTabbedPane durch Button Druck öffen AWT, Swing, JavaFX & SWT 2
B Swing JButtons in eine Arraylist<JButton> einfügen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben