Clutter sieht zwar ganz nett aus und den Ansatz, ein GUI Toolkit zu entwickeln, das direkt auf OpenGL aufbaut, finde ich auch gut. Allerdings sieht die Zukunft für Clutter, nachdem Moblin in Meego aufgeht und Meego hauptsächlich Qt verwendet, eher düster aus. Auch bietet Qt ähnliche Funktionalität (QGraphicsView, animation framework, QML) ohne daß man gleich ein komplett neues GUI Toolkit verwenden muß.
Da kann man keine Unterschiede erklären. Die beiden sind grundverschieden. QGraphicsView ist ein 2D Canvas Widget (das optional Hardware-Beschleunigung nutzen kann). Clutter ist ein 3D Scene Graph.
Daß das Design von Clutter und QGraphicsView verschieden ist, ist mir schon klar. Aber das Ziel ist bei beiden ist das gleiche: animierte Objekte (Widgets) auf einer Canvas. Mit QGraphicsView lassen sich auch 3D-Effekte erzielen: WolfenQt.
Clutter benutzt einen JSON Dialekt um Interfaces zu beschreiben, QML auch, z.B.:
Wie gesagt, vom Design her ist Clutter sehr schön (meiner Meinung nach auch schöner als QGraphicsView). Allerdings scheint mir die Zukunft von Clutter eher fragwürdig.
Wie schauts eigentlich mit Clutter und MVC aus? WPF ist ja Scene-Graph basiert, hat aber praktisch kein MVC und ist deswegen für größere Projekte eher unbrauchbar. Das MVC Framework von Qt finde ich zwar auch nicht gerade schön (fat baseclass problem), aber es ist wenigstens ziemlich mächtig.
Bei QGraphicsView musst du du 3D-Koordinaten in 2D-Koordinaten transformieren. Clutter benutzt direkt OpenGL und hat einen 3D-Scenegraph. Sowas wie Coverflow ist in Clutter intuitiv zu implementieren, während das mit QGraphicsView wesentlich schwerer geht.
Sorry, für Clutter wurde das auch schon x mal implementiert. Das ist fast schon das Standard-Clutter-Hello-World.
Ein Toolkit muß aber schon noch ein bischen mehr können als nette 3D-Effekte. Leider scheinen moderne Toolkits aber nur noch nette graphische Effekte zu bieten und kein MVC, daß für größere Applikationen einfach ein muß ist.
Swing ist zwar etwas altbacken, aber es ist überhaupt kein Problem, Listen oder Trees mit hunderttausenden Items darzustellen. In WPF ist das einfach nicht möglich. Persönlich ist mir MVC wichtiger als 3D Effekte, weil man ohne 3D Effekte auch tolle Applikationen entwickeln kann, ohne MVC aber schon sehr eingrschränkt ist.
Ich würde Freudentänze aufführen, wenn sich unter Linux ein moderes Toolkit ähnlich Clutter etablieren würde, das vernünftiges MVC bietet. Nur habe ich da so meine Zweifel. Ich würde ehrlich gesagt aber lieber mal ein paar richtig coole Applikationen für Linux sehen anstatt immer noch ein Toolkit, das ein paar Sachen vielleicht besser kann als die, die es schon gibt und andere Sachen viel schlechter. Ich hab mir vor ein paar Tagen Corel Painter 11 gekauft und find das Programm einfach genial. Sowas für Linux wäre einfach ein Traum. Welches Toolkit das Programm benutzt ist mir völlig egal, ich will einfach gute Software, die Spaß macht. Naja, Krita versucht immerhin ein Corel Painter für Linux zu sein.
Ein 3D Scene-Graph der nur 2D Flächen unterstützt (von der Clutter Homepage: Scene-graph of layered 2D interface elements manipulated in 3D space via position, grouping, transparency, scaling, clipping and rotation), daher ist Clutter hauptsächlich als Basis eines Toolkits zu gebrauchen oder um einfache 3D Effekte wie Cover-Flow zu erzeugen (das läßt sich aber auch recht einfach mit z.B. QGraphicsView machen). Für was anderes ist es nicht gedacht.
nein, denn WolfenQt ist ein Blogeintrag und keine Bibliothek... eher noch ein Hack und erledigt selbst nix anderes als ein primitiver compiz. Listen und Trees sind in Gtk auch nach MVC entworfen. Das ist aber garnix besonderes, denn das ist _praktisch bei jedem_ Toolkit so.
nein, denn WolfenQt ist ein Blogeintrag und keine Bibliothek... eher noch ein Hack und erledigt selbst nix anderes als ein primitiver compiz.
WolfenQt läßt sich übrigens mit Clutter auch nicht ohne viel rumgehacke realisieren, da Clutter nur 2D Objekte unterstützt. Ist aber auch völlig irrevant. Sowas wie CoverFlow läßt sich mit QGraphicsView auch realisieren (wenn auch vielleicht nicht so einfach wie mit Clutter).
Listen und Trees sind in Gtk auch nach MVC entworfen. Das ist aber garnix besonderes, denn das ist _praktisch bei jedem_ Toolkit so.
Schön wärs, nur leider nicht bei Windows.Forms und WPF. Ich nehme mal an dieses Clutter-basierte Toolkit Mx unterstützt auch kein MVC. Heutzutage scheinen 3D Effekte wichtiger als MVC zu sein.
doch, sogar Clutter selbst hält die model-klassen dafür bereit. wie gesagt ist das aber auch nix besonderes, mvc ist keine heilige Kuh, die man "unterstützt", sondern halt ein entwurfsmuster um insbesondere die Datenhaltung von der Präsentation abzukoppeln. Das einzusetzen oder nicht einzusetzen macht für die Entwickler eines Toolkits nicht wesentlich mehr Arbeit.
Natürlich kann ich alles mögliche verwenden um das zu tun, was ich mit Clutter tun kann: SDL, OpenGL, Cairo (insb. mit glitz backend) oder eben QGraphicsView. Nach deiner Logik wären aber 4 in dieser Liste unnötig und hätten "wohl keine Zukunft". So ist,war und wird das aber nicht sein. Die genannten ergänzen sich teilweise, bauen aufeinander und haben mitunter ganz andere Anwendungsbereiche, obwohl man mit allen vieren Rechtecke darstellen kann.
Natürlich kann ich alles mögliche verwenden um das zu tun, was ich mit Clutter tun kann: SDL, OpenGL, Cairo (insb. mit glitz backend) oder eben QGraphicsView. Nach deiner Logik wären aber 4 in dieser Liste unnötig und hätten "wohl keine Zukunft". So ist,war und wird das aber nicht sein. Die genannten ergänzen sich teilweise, bauen aufeinander und haben mitunter ganz andere Anwendungsbereiche, obwohl man mit allen vieren Rechtecke darstellen kann.
Ich würde mir wirklich wünschen, es würde sich unter Linux endlich ein Toolkit durchsetzen. Ich weine den anderen keine Träne nach. Ich sehe absolut keinen Vorteil darin, unzählige Toolkits und Frameworks zu haben. Letztendlich bringt das für die Anwender und selbst für die Entwickler nur Nachteile und was die Anwender wirklich interessiert, sind Applikationen. Sowas wie Corel Painter ist wirklich beeindruckend, aber welchens Toolkit das benutzt, um seine buttons zu zeichnen ist doch letztendlich irrelevant. 3D Effekte sind nett, aber wirklich zentral sind die auch nicht.
ich glaube, du hast mich immernoch nicht verstanden: die sind alle für etwas anderes gut. ansonsten sind die einzigen nennenswerten zwei konkurrenten Qt und Gtk. Mich stört die Konkurrenz nicht, denn alles was ich brauche gibts mit Gtk als Toolkit. Ansonsten verkörpern die beiden Lager (KDE/GNOME) ja auch verschieden Usabilityansätze, d.h. es ist keine sinnfreie Aufspaltung.
Seit .NET 3.5 SP1 haben die Container Virtualization bekommen. Damit ist es überhaupt kein Problem Listen, Treeviews, etc mit 100tausenden von Einträgen anzuzeigen.
nein, du verstehst da was falsch. Nur weil man in beiden toolkits Rechtecke beschreiben kann, ist das noch lange nicht das gleiche. Dein Vorposter hat das auch auf den Punkt gebracht. WolfenQt ist ein nettes Experiment, das ein Trolltechmitarbeiter in einem Blog vorgestellt hat, aber kein Toolkit. Alles, was es bietet sind transformierte 3d-Texturen, auf die zuvor in zweidimensionaler Manier ganz normal Widgets gerendert wurden. Auch Clutter und (GTK+) wurden von Meego nicht komplett ausgespart, sondern standardmäßig mitgeliefert. Daher werden Entwickler von third-party Software wohl das Toolkit ihrer persönlichen Präferenz verwenden. Die Statistik im OpenSource eBreich spricht hier weder im Bereich der User noch im Bereich der Entwickler für Qt.
> Die Statistik im OpenSource eBreich spricht hier weder im Bereich der User noch im Bereich der Entwickler für Qt. Ach tut sie das? Welche Statistik eigentlich? Aber ich glaube eh nur der Statistik die ich selbst gefälscht habe.
> Auch Clutter und (GTK+) wurden von Meego nicht komplett ausgespart, sondern standardmäßig mitgeliefert. Daher > werden Entwickler von third-party Software wohl das Toolkit ihrer persönlichen Präferenz verwenden.
Ich würde mal sagen es wird eher aus Kompatibilitätsgründen mitgeliefert werden. Ob es auf Dauer drin bleibt, bleibt mal abzuwarten. Ich persönlich hoffe es nicht, da ich gerne mal eine einheitliche Oberfläche hätte. So richtig viel klar ist bei MeeGo jetzt ja noch nicht, aber das Qt der Standard werden soll ist einer der wenigen Punkte der dann doch schon klar ist.
Ja, es wird, wie schon gesagt, zusätzlich enthalten sein. Dass es später rausfliegen wird, hab ich noch nicht gehört. Viel auffälliger ist imo, dass die Leute von Moblin zur Zeit sehr aktiv an Mx, einem Toolkit arebiten, das auf Clutter aufsetzt.
Clutter kann Gtk+ widgets einbetten und auch umgekehrt kann eine ClutterStage in Gtk+ verwedet werden, aber Clutter war nie (und wird auch nie) ein Ersatz für Gtk+ sein. Clutter ist eine scene-graph library und kein widget toolkit. Allerdings können auf basis von Clutter solche toolkits entwickelt werden, so z.B. Mx-Toolkit
Vektorgrafik-basiert, sogar GUI-Widget-Funktionen eingebaut, und dann noch 3D (das versucht sich Flash ja gerade an die Seite zu pappen, obwohl es nicht dafür ausgelegt ist). Multimedia mit gstreamer...
Klingt doch wie Flash rechts überholt, oder?
Nur noch ne VM (LLVM?) und ab geht's.
Und der Name paßt auch, für zugemüllte Webseiten. Nee, aber im Ernst.
Dieser Beitrag wurde 2 mal editiert. Zuletzt am 04. Mär 2010 um 02:24.
Clutter und Flash haben nicht wesentlich mehr gemein als Cairo und Flash. Wobei Tage lang ausm Feiern nicht mehr rauskäme, wenn clutter Flash ersetzen würde.
Clutter sieht zwar ganz nett aus und den Ansatz, ein GUI Toolkit zu entwickeln, das direkt auf OpenGL aufbaut, finde ich auch gut. Allerdings sieht die Zukunft für Clutter, nachdem Moblin in Meego aufgeht und Meego hauptsächlich Qt verwendet, eher düster aus. Auch bietet Qt ähnliche Funktionalität (QGraphicsView, animation framework, QML) ohne daß man gleich ein komplett neues GUI Toolkit verwenden muß.
QGraphicsView und Clutter sind zwei völlig verschiedene Dinge.
Dann erkläre doch mal die Unterschiede
Da kann man keine Unterschiede erklären. Die beiden sind grundverschieden.
QGraphicsView ist ein 2D Canvas Widget (das optional Hardware-Beschleunigung nutzen kann).
Clutter ist ein 3D Scene Graph.
Da kann man keine Unterschiede erklären. Die beiden sind grundverschieden.
QGraphicsView ist ein 2D Canvas Widget (das optional Hardware-Beschleunigung nutzen kann).
Clutter ist ein 3D Scene Graph.
Daß das Design von Clutter und QGraphicsView verschieden ist, ist mir schon klar. Aber das Ziel ist bei beiden ist das gleiche: animierte Objekte (Widgets) auf einer Canvas. Mit QGraphicsView lassen sich auch 3D-Effekte erzielen: WolfenQt.
Clutter benutzt einen JSON Dialekt um Interfaces zu beschreiben, QML auch, z.B.:
import Qt 4.6
Rectangle {
width: 200
height: 200
color: "white"
Text {
text: "Hello World"
anchors.centerIn: parent
}
}
siehe Qt Declarative UI.
Wie gesagt, vom Design her ist Clutter sehr schön (meiner Meinung nach auch schöner als QGraphicsView). Allerdings scheint mir die Zukunft von Clutter eher fragwürdig.
Wie schauts eigentlich mit Clutter und MVC aus? WPF ist ja Scene-Graph basiert, hat aber praktisch kein MVC und ist deswegen für größere Projekte eher unbrauchbar. Das MVC Framework von Qt finde ich zwar auch nicht gerade schön (fat baseclass problem), aber es ist wenigstens ziemlich mächtig.
Bei QGraphicsView musst du du 3D-Koordinaten in 2D-Koordinaten transformieren. Clutter benutzt direkt OpenGL und hat einen 3D-Scenegraph. Sowas wie Coverflow ist in Clutter intuitiv zu implementieren, während das mit QGraphicsView wesentlich schwerer geht.
Während das in clutter noch implementiert werden muss, hat Qt das schon lange
Sorry, für Clutter wurde das auch schon x mal implementiert. Das ist fast schon das Standard-Clutter-Hello-World.
GloobusFlow in Nautilus, ClutterFlow in Banshee
Sorry, für Clutter wurde das auch schon x mal implementiert. Das ist fast schon das Standard-Clutter-Hello-World.
Ein Toolkit muß aber schon noch ein bischen mehr können als nette 3D-Effekte. Leider scheinen moderne Toolkits aber nur noch nette graphische Effekte zu bieten und kein MVC, daß für größere Applikationen einfach ein muß ist.
Swing ist zwar etwas altbacken, aber es ist überhaupt kein Problem, Listen oder Trees mit hunderttausenden Items darzustellen. In WPF ist das einfach nicht möglich. Persönlich ist mir MVC wichtiger als 3D Effekte, weil man ohne 3D Effekte auch tolle Applikationen entwickeln kann, ohne MVC aber schon sehr eingrschränkt ist.
Ich würde Freudentänze aufführen, wenn sich unter Linux ein moderes Toolkit ähnlich Clutter etablieren würde, das vernünftiges MVC bietet. Nur habe ich da so meine Zweifel. Ich würde ehrlich gesagt aber lieber mal ein paar richtig coole Applikationen für Linux sehen anstatt immer noch ein Toolkit, das ein paar Sachen vielleicht besser kann als die, die es schon gibt und andere Sachen viel schlechter. Ich hab mir vor ein paar Tagen Corel Painter 11 gekauft und find das Programm einfach genial. Sowas für Linux wäre einfach ein Traum. Welches Toolkit das Programm benutzt ist mir völlig egal, ich will einfach gute Software, die Spaß macht. Naja, Krita versucht immerhin ein Corel Painter für Linux zu sein.
> Ein Toolkit muß aber schon noch ein bischen mehr können als nette 3D-Effekte.
Clutter ist kein Widget-Toolkit. Nix Buttons, nix Trees. Es ist ein 3D-Scenegraph-Animation-Framework.
Es ist ein 3D-Scenegraph-Animation-Framework.
Ein 3D Scene-Graph der nur 2D Flächen unterstützt (von der Clutter Homepage: Scene-graph of layered 2D interface elements manipulated in 3D space via position, grouping, transparency, scaling, clipping and rotation), daher ist Clutter hauptsächlich als Basis eines Toolkits zu gebrauchen oder um einfache 3D Effekte wie Cover-Flow zu erzeugen (das läßt sich aber auch recht einfach mit z.B. QGraphicsView machen). Für was anderes ist es nicht gedacht.
nein, denn WolfenQt ist ein Blogeintrag und keine Bibliothek... eher noch ein Hack und erledigt selbst nix anderes als ein primitiver compiz.
Listen und Trees sind in Gtk auch nach MVC entworfen.
Das ist aber garnix besonderes, denn das ist _praktisch bei jedem_ Toolkit so.
nein, denn WolfenQt ist ein Blogeintrag und keine Bibliothek... eher noch ein Hack und erledigt selbst nix anderes als ein primitiver compiz.
WolfenQt läßt sich übrigens mit Clutter auch nicht ohne viel rumgehacke realisieren, da Clutter nur 2D Objekte unterstützt. Ist aber auch völlig irrevant. Sowas wie CoverFlow läßt sich mit QGraphicsView auch realisieren (wenn auch vielleicht nicht so einfach wie mit Clutter).
Listen und Trees sind in Gtk auch nach MVC entworfen.
Das ist aber garnix besonderes, denn das ist _praktisch bei jedem_ Toolkit so.
Schön wärs, nur leider nicht bei Windows.Forms und WPF. Ich nehme mal an dieses Clutter-basierte Toolkit Mx unterstützt auch kein MVC. Heutzutage scheinen 3D Effekte wichtiger als MVC zu sein.
doch, sogar Clutter selbst hält die model-klassen dafür bereit.
wie gesagt ist das aber auch nix besonderes, mvc ist keine heilige Kuh, die man "unterstützt", sondern halt ein entwurfsmuster um insbesondere die Datenhaltung von der Präsentation abzukoppeln.
Das einzusetzen oder nicht einzusetzen macht für die Entwickler eines Toolkits nicht wesentlich mehr Arbeit.
Natürlich kann ich alles mögliche verwenden um das zu tun, was ich mit Clutter tun kann: SDL, OpenGL, Cairo (insb. mit glitz backend) oder eben QGraphicsView. Nach deiner Logik wären aber 4 in dieser Liste unnötig und hätten "wohl keine Zukunft".
So ist,war und wird das aber nicht sein.
Die genannten ergänzen sich teilweise, bauen aufeinander und haben mitunter ganz andere Anwendungsbereiche, obwohl man mit allen vieren Rechtecke darstellen kann.
Natürlich kann ich alles mögliche verwenden um das zu tun, was ich mit Clutter tun kann: SDL, OpenGL, Cairo (insb. mit glitz backend) oder eben QGraphicsView. Nach deiner Logik wären aber 4 in dieser Liste unnötig und hätten "wohl keine Zukunft".
So ist,war und wird das aber nicht sein.
Die genannten ergänzen sich teilweise, bauen aufeinander und haben mitunter ganz andere Anwendungsbereiche, obwohl man mit allen vieren Rechtecke darstellen kann.
Ich würde mir wirklich wünschen, es würde sich unter Linux endlich ein Toolkit durchsetzen. Ich weine den anderen keine Träne nach. Ich sehe absolut keinen Vorteil darin, unzählige Toolkits und Frameworks zu haben. Letztendlich bringt das für die Anwender und selbst für die Entwickler nur Nachteile und was die Anwender wirklich interessiert, sind Applikationen. Sowas wie Corel Painter ist wirklich beeindruckend, aber welchens Toolkit das benutzt, um seine buttons zu zeichnen ist doch letztendlich irrelevant. 3D Effekte sind nett, aber wirklich zentral sind die auch nicht.
ich glaube, du hast mich immernoch nicht verstanden:
die sind alle für etwas anderes gut.
ansonsten sind die einzigen nennenswerten zwei konkurrenten Qt und Gtk.
Mich stört die Konkurrenz nicht, denn alles was ich brauche gibts mit Gtk als Toolkit. Ansonsten verkörpern die beiden Lager (KDE/GNOME) ja auch verschieden Usabilityansätze, d.h. es ist keine sinnfreie Aufspaltung.
Seit .NET 3.5 SP1 haben die Container Virtualization bekommen. Damit ist es überhaupt kein Problem Listen, Treeviews, etc mit 100tausenden von Einträgen anzuzeigen.
nein, du verstehst da was falsch.
Nur weil man in beiden toolkits Rechtecke beschreiben kann, ist das noch lange nicht das gleiche. Dein Vorposter hat das auch auf den Punkt gebracht.
WolfenQt ist ein nettes Experiment, das ein Trolltechmitarbeiter in einem Blog vorgestellt hat, aber kein Toolkit. Alles, was es bietet sind transformierte 3d-Texturen, auf die zuvor in zweidimensionaler Manier ganz normal Widgets gerendert wurden.
Auch Clutter und (GTK+) wurden von Meego nicht komplett ausgespart, sondern standardmäßig mitgeliefert. Daher werden Entwickler von third-party Software wohl das Toolkit ihrer persönlichen Präferenz verwenden.
Die Statistik im OpenSource eBreich spricht hier weder im Bereich der User noch im Bereich der Entwickler für Qt.
> Die Statistik im OpenSource eBreich spricht hier weder im Bereich der User noch im Bereich der Entwickler für Qt.
Ach tut sie das? Welche Statistik eigentlich? Aber ich glaube eh nur der Statistik die ich selbst gefälscht habe.
> Auch Clutter und (GTK+) wurden von Meego nicht komplett ausgespart, sondern standardmäßig mitgeliefert. Daher
> werden Entwickler von third-party Software wohl das Toolkit ihrer persönlichen Präferenz verwenden.
Ich würde mal sagen es wird eher aus Kompatibilitätsgründen mitgeliefert werden. Ob es auf Dauer drin bleibt, bleibt mal abzuwarten. Ich persönlich hoffe es nicht, da ich gerne mal eine einheitliche Oberfläche hätte. So richtig viel klar ist bei MeeGo jetzt ja noch nicht, aber das Qt der Standard werden soll ist einer der wenigen Punkte der dann doch schon klar ist.
Ja, es wird, wie schon gesagt, zusätzlich enthalten sein.
Dass es später rausfliegen wird, hab ich noch nicht gehört.
Viel auffälliger ist imo, dass die Leute von Moblin zur Zeit sehr aktiv an Mx, einem Toolkit arebiten, das auf Clutter aufsetzt.
"Viel auffälliger ist imo, dass die Leute von Moblin zur Zeit sehr aktiv an Mx..."
"Die Leute" ist ein wenig übertrieben, wenn man von einem Entwickler spricht...
kühl mal ab.
alleine die letzten 3 Commits stammen von drei verschiedenen intel-Entwicklern.
Neuste Entwicklung ist, daß Intel mx aus http://git.moblin.org/cgit.cgi/ entfernt hat. Soviel dazu.
Weil die Infrastruktur gerade umzieht.
Soso, weil in Zukunft immer weniger Gerät 3D Beschleunigung haben werden?
Clutter kann Gtk+ widgets einbetten und auch umgekehrt kann eine ClutterStage in Gtk+ verwedet werden, aber Clutter war nie (und wird auch nie) ein Ersatz für Gtk+ sein. Clutter ist eine scene-graph library und kein widget toolkit. Allerdings können auf basis von Clutter solche toolkits entwickelt werden, so z.B. Mx-Toolkit
Clutter ist kein Ersatz für GTK+, sondern eine Ergänzung, die mann aber auch ohne GTK+ verwenden kann.
Vektorgrafik-basiert, sogar GUI-Widget-Funktionen eingebaut, und dann noch 3D (das versucht sich Flash ja gerade an die Seite zu pappen, obwohl es nicht dafür ausgelegt ist).
Multimedia mit gstreamer...
Klingt doch wie Flash rechts überholt, oder?
Nur noch ne VM (LLVM?) und ab geht's.
Und der Name paßt auch, für zugemüllte Webseiten.
Dieser Beitrag wurde 2 mal editiert. Zuletzt am 04. Mär 2010 um 02:24.Nee, aber im Ernst.
Clutter und Flash haben nicht wesentlich mehr gemein als Cairo und
Flash. Wobei Tage lang ausm Feiern nicht mehr rauskäme, wenn clutter Flash ersetzen würde.