# Ein Denkanstoß für GUI



## virtuellesNugat (19. Dez 2010)

Hallo alle zusammen,

ich hab mein Datenmodell so ziemlich fertig mit EMF modelliert und kann den Code auch nutzen - alles wunderbar 

Aber ich möchte einfach nicht die ganze GUI (und das Mapping) von Hand machen und jetzt hab ich da mal ein paar Stunden im Netz rumgesucht, dabei auf viele Dinge gestoßen:

GMF
GEF
JFace
RCP

u.v.m.

RCP sah fand ich sehr vielversprechend aus. Ich benötige eine GUI, welche eclipse-unabhängig funktioniert. Es gibt doch sooooo viele Programme und sooooo viele Entwickler, da muss es doch wesentlich komfortablere Dinge als SWT oder Swing geben  Ich brauch einen kleinen Denkanstoß, damit ich mich zurecht finde :rtfm: das wächst einem sonst übern Kopp.

Gibt es ne Möglichkeit mein EMF Model per Mapping o.ä. mit einem Baukasten für ne GUI zu verbinden und dann schnell schonmal etwas generiertes in der Hand zu haben?

Danke für jede Art von Hilfe!

Grüße,
Nugat


----------



## darekkay (19. Dez 2010)

Und was ist mit dem GUI-Builder bei Netbeans?

Zur Not kannst du dir auch Eclipse 4 anschauen - dort soll es möglich sein, JFace/SWT-Anwendungen zu erstellen und die GUI mit einem XML-Format zu beschreiben.


----------



## Wildcard (20. Dez 2010)

Welche Art von GUI erwartest du denn?
EMF kann dir einen Baum-Editor erzeugen, GMF einen Graph Editor, Xtext einen textuellen Editor.


----------



## virtuellesNugat (20. Dez 2010)

Hallo,

an Netbeans hatte ich auch schon gedacht, aber der produzierte Code ist nur sehr schlecht wartbar.

Eclipse 4 hab ich mir noch nicht angesehen, aber das ist auch noch im Beta Stadium oder?

Es soll eine Benutzeroberfläche zur Verwaltung von Literatur sein, vielleicht kennt ihr ja Citavi. Nur in deutlich abgespekter Form soll es sein, da wir es zu zweit in einem recht eingeschränkten Zeitrahmen erstellen.

Das heißt wir brauchen zum einen ein paar Dialoge für Einstellungen und neu anzulegende Dateien. Dann brauchen wir Listen zur Darstellung von einzelnen Büchern sowie zugehörige Sortiermöglichkeiten (hier bietet sich wohl sowas wie eine JTable an). Und um die einzelnen Bücher auch verwenden zu können benötigen wir logischerweise dahingehende Eingabeformulare sowie einige erweiterte Funktionalitäten.

Das Hauptprogramm soll in Tabs organisiert sein, also würden sich RCP vermutlich wohl anbieten oder?

Ich habe sonst immer Swing benutzt, aber das gefällt mir nicht. Und ich hatte in meinen Recherchen zu EMF mehrfach gelesen, dass es Hand in Hand mit einigen grafischen Oberflächentools arbeiten könne.

Und jetzt seh ich grad vor lauter Bäumen den Wald nicht mehr..


----------



## Wildcard (20. Dez 2010)

Im Prinzip reicht erstmal der RCP den man automatisch mit EMF generieren kann. Wenn das vom Prinzip her dann passt musst du die Oberfläche nur noch entsprechend aufhübschen.
Wenn Daten auf einem Server gehalten werden statt lokal auf Dateiebene, dann solltest du dir eines der folgenden Projekte ansehen:
-CDO
-Teneo
-EMF Store
-Texo

Hängt dann davon ab was die konkreten Vorstellungen sind.


----------



## virtuellesNugat (20. Dez 2010)

Das soll ne lokale Anwendung sein. Aus dem EMF hab ich diesen Editor schon generiert, aber ich bin mir da ehrlich gesagt ziemlich unschlüssig wie ich das zu verwenden habe. Der Einstieg in RCP fällt mir schwieriger als ich dachte, ich hab allerdings auch noch kein gutes Tutorial gefunden was die Grundlagen vernünftig erklärt. Ich hab nur gute Tuts gefunden die dann allerdings schon etwas advanced waren.. aber das hilft bei meinem Prob (noch) nicht weiter. Könnt ihr mir da was empfehlen?


----------



## Wildcard (20. Dez 2010)

Hmm, was genau bereitet dir Probleme? Du kannst im genmodel einstellen das du einen RCP generieren möchtest. Dann solltest du eigentlich ein (aus der Entwicklungsumgebung) ausführbares Eclipse Product bekommen das ausser deinem Editor nicht viel enthält.


----------



## Gast2 (21. Dez 2010)

virtuellesNugat hat gesagt.:


> Das soll ne lokale Anwendung sein. Aus dem EMF hab ich diesen Editor schon generiert, aber ich bin mir da ehrlich gesagt ziemlich unschlüssig wie ich das zu verwenden habe. Der Einstieg in RCP fällt mir schwieriger als ich dachte, ich hab allerdings auch noch kein gutes Tutorial gefunden was die Grundlagen vernünftig erklärt. Ich hab nur gute Tuts gefunden die dann allerdings schon etwas advanced waren.. aber das hilft bei meinem Prob (noch) nicht weiter. Könnt ihr mir da was empfehlen?



Vielleicht solltest du auch kleiner Einsteigen, wenn du noch nie was mit SWT/JFace und RCP gemacht hast.

Eclipse RCP Tutorial


----------



## Guybrush Threepwood (21. Dez 2010)

Ich glaube, GUI-Programmierung ist ein Gebiet, auf das man beim Programm einen sehr großen Wert legen sollte. Ansonsten kommen hässliche, unbenutzbare Dinger raus, die man dann als Entwickler-GUI bezeichnet. Ich fürchte, ein Framework, wo Du mal eben eine Datenstruktur reinwirst und sie generiert Dir dann eine GUI ist eine völlig utopische Sache.


----------



## Gast2 (21. Dez 2010)

Guybrush Threepwood hat gesagt.:


> Ich glaube, GUI-Programmierung ist ein Gebiet, auf das man beim Programm einen sehr großen Wert legen sollte. Ansonsten kommen hässliche, unbenutzbare Dinger raus, die man dann als Entwickler-GUI bezeichnet. Ich fürchte, ein Framework, wo Du mal eben eine Datenstruktur reinwirst und sie generiert Dir dann eine GUI ist eine völlig utopische Sache.



Wegen für Formulare und Verwaltungs Editoren doch ideal? Kann mir schon einige Sachen vorstellen die man aus einer Datenstruktur gestalten kann.


----------



## virtuellesNugat (21. Dez 2010)

hehe, so war das auch nicht gemeint  Dann würden ja alle arbeitslos werden 

Ich würde auch gerne kleiner einsteigen, leider muss ich aber für die FH ein Projekt möglichst bald abschließen oder zumindest in diese Richtung lenken.
Die Tutorials von vogella hab ich alle durch, sind sehr gut, nur setzen die etwas höher an als das was ich suche. Ich hätte gerne eine Übersicht welche Klassen wie zusammen arbeiten, bei den Plugin-Projekten hab ich das Gefühl ich hätte nie programmiert :bahnhof:
Klar kann ich die Klassen selbst inspizieren, mach ich auch, aber insbesondere die Wiederverwendbarkeit macht mir etwas Sorgen und da ich die verwendeten JFace Klassen etc nicht kenne bereitet mir das alles ein bißchen Kopfschmerzen...


----------



## Gast2 (21. Dez 2010)

virtuellesNugat hat gesagt.:


> hehe, so war das auch nicht gemeint  Dann würden ja alle arbeitslos werden
> 
> Ich würde auch gerne kleiner einsteigen, leider muss ich aber für die FH ein Projekt möglichst bald abschließen oder zumindest in diese Richtung lenken.
> Die Tutorials von vogella hab ich alle durch, sind sehr gut, nur setzen die etwas höher an als das was ich suche. Ich hätte gerne eine Übersicht welche Klassen wie zusammen arbeiten, bei den Plugin-Projekten hab ich das Gefühl ich hätte nie programmiert :bahnhof:
> Klar kann ich die Klassen selbst inspizieren, mach ich auch, aber insbesondere die Wiederverwendbarkeit macht mir etwas Sorgen und da ich die verwendeten JFace Klassen etc nicht kenne bereitet mir das alles ein bißchen Kopfschmerzen...



Dann musst du dir wohl ein Einsteigerbuch kaufen und durcharbeiten.
Ansonsten bringen die Tutorials doch die wichtigsten Sachen zum Einstieg mit RCP und SWT/JFace sind ja mehrere Tutorials.
Am Anfang macht doch bei SWT/JFace nur Tabelle und Trees etwas Probleme wenn man von der Swing Ecke kommt, ansonsten ist ja net viel anders. Ein Textfeld bleibt ein Textfeld, ein Button ein Button und ListenerKonzept ist in beiden Toolkits vorhanden. Aber klar das es Unterschiede gibt, da muss man sich halt reinarbeiten.
Hier noch ein anderes Tutorial:
Eclipse RCP Buch

Du lernst die ganzen Klassen nach und nach kennen wenn du Sie benötigst.


----------



## virtuellesNugat (21. Dez 2010)

dankeschön, ich glaube das ist das was mir fehlte


----------



## virtuellesNugat (21. Dez 2010)

Das gefällt mir echt gut, nicht nur dieses Buch, sondern auch was sich damit anstellen lässt.

Aber bevor ich hier noch zwei Tage Arbeit investiere möchte ich gerne wissen, ob die dann erstellte Anwendung auch eclipse-unabhängig ist


----------



## Wildcard (21. Dez 2010)

> Aber bevor ich hier noch zwei Tage Arbeit investiere möchte ich gerne wissen, ob die dann erstellte Anwendung auch eclipse-unabhängig ist


Du darst Eclipse nicht als IDE sehen. Eclipse ist eine Applikationsplattform um beliebige Arten von Anwenungen zu erstellen.
Wenn du also einen Eclipse RCP erstellst dann hat dieser (wenn du das nicht möchtest) nichts mit einer Java IDE zu tun. Die Anwendung läuft also in Eclipse, aber es ist 'dein' Eclipse.


----------



## virtuellesNugat (21. Dez 2010)

Okay, also ist es schon selbstständig lauffähig, hat nur die selben requirements wie eclipse sie hat und ist somit zweckdienlich  Dankeschön!


----------



## Wildcard (21. Dez 2010)

virtuellesNugat hat gesagt.:


> Okay, also ist es schon selbstständig lauffähig


Ja genau, die Eclipse Java IDE ist der bekannste Eclipse RCP, es gibt aber auch ganz andere wie zB MP3 Manager, RSS Feed Reader (RSSOwl),...
Wenn du dir mit EMF einen RCP generieren lässt bekommst du schon einen (noch ziemlich nakten und rohen) Eclipse RCP, allerdings kannst du ihn direkt starten und auch als eigenständiges zip exportieren.


----------



## virtuellesNugat (22. Dez 2010)

Dazu muss ich nur noch eine Product Configuration erstellen. Da merkt man nu aber wie cool das eigentlich ist 
Vielen, vielen Dank


----------

