PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gtk oder Gnome



miketech
07.02.2005, 22:32
Hi zusammen,

ich bin gerade dabei mich mit der Programmierung von Gnome-Anwendungen zu beschäftigen. Ich habe mir dafür ein Mono-Buch ausgeliehen, da Mono durchaus dafür in Frage kommt. Mein Problem ist nun: In meinem Buch werden verschiedene Ansätze gewählt, einmal Gtk und einmal Gnome. D.h. ich habe verschiedene Möglichkeiten dieselben Dinge umzusetzen. Entweder mit den Gtk-Libs, oder mit den Gnome-Libs. Was nehm ich nun? Einige haben mir gesagt, ich solle lieber die Gtk-Libs nehmen, da immer mehr von Gnome nach Gtk übertragen wird. In einem Gnome-Buch, was ich jetzt ausgeliehen habe steht, dass ich lieber die Gnome-Libs nehmen soll. Ja was denn nun? :) Hat jemand Rat?

Gruß

Mike

Adridon
07.02.2005, 22:44
Nimm GTK, da können sich auch win-/kde- und sonstige -nutzer dran freuen :)

Factory
07.02.2005, 22:46
Hi also ich würde lieber die Gnome Lib's nehmen, denke dann hat man auch weniger probs mit denn abhängikeiten !


Mfg : Linux-Debian

miketech
07.02.2005, 22:58
Aber wenn ich die Gnome-Libs nehme, habe ich doch Abhängigkeiten von Gnome? Finde das ziemlich verwirrend *g* Was kommt denn von Gnome nach Gtk und was nicht? Das weiß ich ja jetzt noch nicht. Kann ja sein, dass ich jetzt was aus Gnome nehme, was später in Gtk landet und aus Gnome entfernt wird.

Auf der anderen Seite: Nur Gtk? Sobald ich etwas mit Sessions usw. machen will, muss ich eh wieder Gnome-Libs nehmen oder?

Oder wird das auch irgendwann vielleicht nach Gtk portiert?

Gruß

Mike

pinky
08.02.2005, 09:21
Das ist jetzt vielleicht nicht die ultimative Antwort die du hören willst, aber die gibt es imho auch nicht... nimm das was du brauchst.

Solange es mit Gtk geht, arbeite mit Gtk, brauchst du etwas aus gnome, dann binde gnome ein. Als Basis würde ich ein Gtk Programm erstellen, darin kannst du auch jederzeit gnome sachen verwenden. Von Anfang an würde ich nur dann ein gnome Programm schreiben, wenn es wirklich dein Ziel ist, dass Programm möglichst gut in gnome zu integrieren.

miketech
08.02.2005, 11:15
Hi,

ok also primär erstmal Gtk und wenn ich sowas wie Session-Management möchte, was eben zu Gnome gehört, dann fang ich an die Gnome-Libs zu nehmen. Aber rüste ich dann den Rest auch auf Gnome um, wenn es gleiche Funktionen in Gnome und Gtk gibt? Eher nicht, oder?

Dann bleibe ich bei Gtk und fang erst mit Gnome an, wenn Gtk mir nicht die Funktion bietet.

Gruß

Mike

hehejo
08.02.2005, 11:32
Also ich würde es so weit es geht auf GTK-Basis belassen.
Dann wäre das Programm wirklich noch am portablesten.

pinky
08.02.2005, 13:43
Aber rüste ich dann den Rest auch auf Gnome um, wenn es gleiche Funktionen in Gnome und Gtk gibt? Eher nicht, oder?


du wirst kaum solche Fälle finden.
Also mir fällt da so aus dem Stand zumindest nichts ein. Bei Gtk/gnome ist es nicht so wie bei Qt, das es unterschiedliche Dialoge usw. gibt, dass ist bei Gtk/gnome zu 99% gleich. Bis gtk2.6 gab es da z.B. noch den about-Dialog als Unterschied, seit gtk2.6 sind die aber auch gleich bzw. gtk verwendet den gnome Dialog.



Dann bleibe ich bei Gtk und fang erst mit Gnome an, wenn Gtk mir nicht die Funktion bietet.


ja, so würde ich es machen, bzw. so mache ich es. Der einzige Unterschied ist, wenn dein Ziel wirklich von Anfang an ein gnome Programm ist. Dann würde ich auch voll auf die power von gnome setzen, da du damit die beste integration erreichst. Aber ich denke für 99% der Programme ist der Gtk Ansatz besser.

Aber du mußt halt immer im Auge bahalten, dass damit evtl. die portierung schwieriger bis unmöglich wird und auch vielleicht Leute die kein gnome haben von der Anwendung etwas abgeschreckt werden.

miketech
08.02.2005, 13:51
ja, so würde ich es machen, bzw. so mache ich es. Der einzige Unterschied ist, wenn dein Ziel wirklich von Anfang an ein gnome Programm ist. Dann würde ich auch voll auf die power von gnome setzen, da du damit die beste integration erreichst. Aber ich denke für 99% der Programme ist der Gtk Ansatz besser.


Naja das fällt mir natürlich jetzt nicht so leicht, da ich noch nicht weiß, welche Funktionen in Gtk und welche in Gnome sind. (z.B. Systray, Sessions, usw.)

D.h. mir bleibt nichts anderes übrig, als einfach mit Gtk anzufangen und wenn mir was wichtiges fehlt, nachzuschauen, ob Gnome mir diese Funktion bietet.

Aber was meinst Du mit "voll auf Power von Gnome setzen"? *nachhak* Du sagst, dass es nichts doppelt gibt, oder höchstens minimal. D.h. wenn ich nun anfange ein Programm zu schreiben, werde ich meistens Gtk benötigen. Wo soll ich dann die "Power von Gnome" einsetzen? Hab ich also doch Wahlmöglichkeiten?

Das würde ja widerrum heißen, wenn ich später merke, dass es eine Gnome-Anwendung wird, muss ich eventuell doch umbauen, um die "Power von Gnome" ausreizen zu können? :)

Gruß

Mike

pinky
08.02.2005, 14:13
Aber was meinst Du mit "voll auf Power von Gnome setzen"? *nachhak* Du sagst, dass es nichts doppelt gibt, oder höchstens minimal. D.h. wenn ich nun anfange ein Programm zu schreiben, werde ich meistens Gtk benötigen. Wo soll ich dann die "Power von Gnome" einsetzen? Hab ich also doch Wahlmöglichkeiten?


Ich sagen mal wenn du dein Programm in gnome integrieren willst, mit gconf usw. dann würde ich sagen hast du vor ein gnome Programm zu schreiben und dann kannst du es von Anfang an darauf auslegen.
Ein beispiel wäre z.B. auch wenn du deine widgets mit glade anordnest. Wenn du hier mit einem gtk Projekt startest, dann kommst du später nichtmehr an die gnome-widgets ran. Du mußt dann also entweder das UI mit glade neu erstellen oder die gnome-Teile im Quellcode programmieren.

Aber ich denke in 99% machst du mit dem Gtk Ansatz nichts falsch.

miketech
08.02.2005, 14:25
Hm, das ist mir jetzt noch nicht so ganz einleuchtend, sorry, wenn ich weiter nachhaken muss. Ich dachte ich kann Gtk und Gnome auch gemeinsam nutzen? D.h. ich baue zum Beispiel meine GUI mit Gtk und wenn ich z.B. Gconf benötige, dann binde ich das einfach zusätzlich ein. Da muss ich doch an dem alten nichts ändern oder? Genauso, wenn ich nun Gnome-Widgets nutze. Kann ich doch parallel zu Gtk verwenden, oder verträgt sich das nicht?

Gruß

Mike

pinky
08.02.2005, 15:04
ja, du hast schon recht. Aber wenn du das UI mit glade machst, dann mußt du doch am Anfang gnome oder gtk+ auswählen. Wenn du dich hier für gtk+ entscheidest, dann werden dir die gnome-widgets nicht angezeigt und du kannst es für ein bestehendes glade-Projekt auch nicht nachträglich ändern.
Im Quellcode kannst du natürlich alles machen, aber bei glade mußt du dich am Anfang festlegen.

miketech
08.02.2005, 15:24
Achso ok, Glade merkt sich das irgendwo ja? Dachte ich könnte ein Glade-Gtk auch nachträglich zu Glade-Gnome umbasteln.

Gruß

Mike