ubuntuusers.de

Hat GTK ein Problem?

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

opu.e

Anmeldungsdatum:
4. November 2006

Beiträge: 349

Hallo zusammen,

ersteinmal: das ihr soll kein GTK vs. QT Flamewar werden!

Weshalb ich darauf komme: in letzter Zeit bemerke ich bei immer mehr Programmen, dass auf Qt gesetzt wird, vor allem von kommerziellen Anbietern. Da wären, Skype, LastFM Player, Virtual Box, VLC. Ich weiß, bis auf VLC setzen diese schon immer Qt ein. Aber mir sind leider gerade nur die eingefallen. Auf jeden Fall fühle ich so einen Trend hin zu Qt, wenn es für beide Desktops sein soll, oder es kommerziell ist. Seit der Lizenzänderung durch Nokia ja noch mehr.

Hat also GTK ein strategisches, inhaltliches Problem?

Bitte korrigiert mich falls falsch, aber meines Wissens ist Qt C++ und damit objektorientiert und GTK C#!? Mit C# läßt sich zwar performanter Programmieren, komplexe Aufgaben lassen sich in C++ aber besser lösen und wiederverwenden. Überhaupt dachte ich dass Objektorientierung "die Zukunft" ist (sorry, kann nur ein bisschen Java), zumindest hör ich unseren Prof noch so :p

Macht es also weiterhin sinn, GTK im Grundesystem unverändert zu lassen? Ich mein, dass ist ja auch eine strategische Entscheidung des GNOME Desktops!

Grüße, opu.e

peter02

Avatar von peter02

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 115

opu.e schrieb:

Bitte korrigiert mich falls falsch

Ok

aber meines Wissens ist Qt C++ und damit objektorientiert

richtig

und GTK C#!?

Falsch. GTK+ basiert auf C. (http://de.wikipedia.org/wiki/C_(Programmiersprache))

Mit C# läßt sich zwar performanter Programmieren

C# ist eine langsame Bytecode-Sprache von Microsoft. C und C++ dürften aber so ziemlich gleich schnell sein.

komplexe Aufgaben lassen sich in C++ aber besser lösen und wiederverwenden. Überhaupt dachte ich dass Objektorientierung "die Zukunft" ist (sorry, kann nur ein bisschen Java), zumindest hör ich unseren Prof noch so :p

richtig

Macht es also weiterhin sinn, GTK im Grundesystem unverändert zu lassen? Ich mein, dass ist ja auch eine strategische Entscheidung des GNOME Desktops!

Ja. Es müssen schließlich nicht alle Anwendungen auf GTK+ basieren, damit sie gut in Gnome laufen. Qt-Anwendungen integrieren sich mittlerweile recht gut in den Gnome-Desktop. Für plattformunabhängige Anwendungen ist Qt eine gute Lösung.

Jan-Nik

Avatar von Jan-Nik

Anmeldungsdatum:
22. Juli 2006

Beiträge: 427

Wohnort: Sulingen

opu.e schrieb:

Weshalb ich darauf komme: in letzter Zeit bemerke ich bei immer mehr Programmen, dass auf Qt gesetzt wird, vor allem von kommerziellen Anbietern. Da wären, Skype, LastFM Player, Virtual Box, VLC. Ich weiß, bis auf VLC setzen diese schon immer Qt ein. Aber mir sind leider gerade nur die eingefallen. Auf jeden Fall fühle ich so einen Trend hin zu Qt, wenn es für beide Desktops sein soll, oder es kommerziell ist.

Also die Programme setzen schon länger auf Qt, als Trend würde ich das noch nicht bezeichnen

Seit der Lizenzänderung durch Nokia ja noch mehr.

Das hat durchaus einiges geändert.

Bitte korrigiert mich falls falsch, aber meines Wissens ist Qt C++ und damit objektorientiert und GTK C#!? Mit C# läßt sich zwar performanter Programmieren, komplexe Aufgaben lassen sich in C++ aber besser lösen und wiederverwenden.

Also C# ist auch objektorientiert, genauso wie Gtk+, obwohl Gtk+ in C ist. Und dass man in C++ komplexe Aufgaben besser lösen kann als in C# lässt sich so pauschal nicht sagen. Auch von Gtk+ gibt es übrigens meiner Meinung nach sehr gute C++-Bindungs. AFAIK werden die z.B. von Inkscape benutzt.

DasIch

Avatar von DasIch

Anmeldungsdatum:
2. November 2005

Beiträge: 1130

Qt ist GTK aus Entwicklersicht imho überlegen. Dadurch das Qt unter Gnome nicht mehr so schlecht aussieht und Qt jetzt unter LGPL steht hat GTK sicherlich ein Problem.

Sarastro

Anmeldungsdatum:
5. Mai 2007

Beiträge: 279

C# ist keine Bytecode-Sprache, sondern wird übersetzt in eine Intermediate Language, welche beim aus führen „Just in Time“ compiliert wird. Etwas langsamer als C++ ist C# aber schon. Mit C# lassen sich auch genau so komplexe Programme erstellen wie mit C++, nur bei hardwarenahen Anwendungen dürfe C++ die Nase vorn haben. Zurück zum Thema laut einem Iterview welches GTK-Entwickler im Rahmen von Chaosradio-Express gegeben haben, sehen sie bei GTK einen Vorteil wenn es darunm geht Bindings für andere Sprachen bereit zu stellen. Ob das so ist kann ich natürlich auch nicht sagen, zumindest bügelt GTK# in Verbindung mit Mono den Nachteil aus, dass es sich bei Qt wesentlich mehr bereitstellt als nur ein GUI-Toolkit.

Skittles

Avatar von Skittles

Anmeldungsdatum:
6. April 2006

Beiträge: 599

Wohnort: Bochum

Aufgrund der Ubuntudominanz im "Linux-Desktop"-Sektor haben die GTK-Entwickler kein reales Existenzproblem, allerdings stehen sie ein wenig unter Zugzwang, da Qt 4 doch um einiges weiter ist und mit der LGPL als Lizenz noch freizügiger geworden ist. Sie werden sich in Zukunft was einfallen lassen müssen, aber GTK/GNOME wird nicht die nächsten paar Monate vom Markt verschwinden.

Stalafin

Anmeldungsdatum:
4. Januar 2006

Beiträge: 293

Wohnort: 10245 Bärlin

Ein interessantes Szenario waere ja ein auf QT basiertes Gnome. ☺

RvD Team-Icon

Avatar von RvD

Anmeldungsdatum:
26. Mai 2006

Beiträge: 2870

Andererseits ist QT jetzt von Nokia.

dgf

Anmeldungsdatum:
4. September 2005

Beiträge: 912

Sarastro schrieb:

[...] Zurück zum Thema laut einem Iterview welches GTK-Entwickler im Rahmen von Chaosradio-Express gegeben haben, sehen sie bei GTK einen Vorteil wenn es darunm geht Bindings für andere Sprachen bereit zu stellen. [...]

Dass sich GTK in vielen anderen Sprachen nutzen lässt, liegt daran dass es eben nicht in C++ geschrieben ist. C++ sehr vieles bei der Objektorientierung und viele Sprachen sind nicht so weit gegangen, oder werden nicht so weit gehen. In C++ kannst du eine Klasse von mehreren ableiten, was unter umständen zu Problemen führen kann, wenn sich Methoden-, Variablennamen oder Funktionsweisen überschneiden. Deswegen kann man in Java auch wieder nur von einer Klasse erben und hat die Mehrfachvererbung durch Schnittstellen "gelöst".
GTK nutzt Gobject, welches nur einfachste Objektorientierung unterstützt (afaik gibt es nicht man den Modifikator private) mit Einfachvererbung. Da viele Sprachen in Sachen Objektorientierung mehr bieten als Gobject lässt sich GTK dort problemlos nutzen. Viele Sprachen stellen auch Funktionen bereit um C-Bibliotheken für den Hardwarekram zu nutzen wie etwa JNI (kann auch C++) von Java oder Pyrex, Cython von Python.

Bauer

Anmeldungsdatum:
28. Juni 2006

Beiträge: 333

Es gibt für Qt Anbindungen an Python, Ruby, Java und Javascript, C# auch mal, bin aber nicht sicher inwiefern das noch weiterentwickelt wird. Auf jedenfall gehe ich davon aus, dass mit einer größeren Verbreitung auch die Anzahl der Anbindungen steigen wird. Schließlich reizt Qt C++ nicht im geringsten aus und verwendet zum Beispiel kaum Vorlagen und keine Mehrfachvererbung. Hat allerdings einen eigenen Vorübersetzer, das macht die Sache bestimmt schwieriger.

Edit: Es heißt übrigens Qt und nicht QT

glasen

Anmeldungsdatum:
5. November 2004

Beiträge: 2690

Qt ist GTK aus Entwicklersicht imho überlegen. Dadurch das Qt unter Gnome nicht mehr so schlecht aussieht und Qt jetzt unter LGPL steht hat GTK sicherlich ein Problem.

Wo ihr immer Probleme seht. Der Tod von Gtk+ wird schon seit 10 Jahren andauernd prophezeit, weil Qt Gtk+ technisch ja soweit überlegen ist. Komischerweise geht es Gtk+ prächtig und ist an den Prognosen von irgendwelchen Leuten nicht interessiert.

Es gibt für Qt Anbindungen an Python, Ruby, Java und Javascript, C# auch mal, bin aber nicht sicher inwiefern das noch weiterentwickelt wird. Auf jedenfall gehe ich davon aus, dass mit einer größeren Verbreitung auch die Anzahl der Anbindungen steigen wird.

Qt ist schon sehr weit verbreitet und trotzdem stieg die Anzahl der verfügbaren Bindings in den letzten Jahren nicht signifikant an. Ganz im Gegenteil, es sind sogar eher weniger geworden, da außer Perl eigentlich kaum ein anderes Bindung tatsächlich eingesetzt wird. JavaScript mag ja im Kommen sein, aber wer entwickelt ernsthaft Desktopanwendungen in Javascript (Und nein, Plasmoids sind keine richtigen Anwendungen!). Wer mit Hilfe von Qt Anwendungen entwickelt, benutzt in 99,99% der Fälle C++, der Rest ist vernachlässigbar.

Das ihr das jetzt nicht falsch versteht :

Qt ist eine der besten Klassenbibliotheken die es auf dem Markt gibt, aber nicht jeder ist willens gleich C++ zu lernen um eine kleine Anwendung zu schreiben. Und leider haben Trolltech und das KDE-Projekt in den letzten Jahren nicht gerade die Werbetrommel für alternative Sprachen gerührt. C++ war immer das Mittel der Wahl um Programme mit Hilfe von Qt zu entwickeln. Es gibt kaum Programme die in einer anderen Sprache als C++ geschrieben wurden. Möglich ist es, aber machen tut es kaum jemand.

Schaut man sich dagegen mal auf der Gtk+-Seite um :

Ein großer Prozentsatz der unter GNOME verfügbaren Anwendungen sind in Python oder Perl geschrieben. Viele Neuere in C#. Reines C kommt eigentlich nur in den allerwenigsten Fällen vor.

uhbuntuh

Anmeldungsdatum:
28. August 2007

Beiträge: 32

Rotbart van Dainig schrieb:

Andererseits ist QT jetzt von Nokia.

Qt ist freie Software und gehört niemanden. Oder gehört Ubuntu Canonical?

btw. QT = Quicktime != Qt

glasen

Anmeldungsdatum:
5. November 2004

Beiträge: 2690

Qt ist freie Software und gehört niemanden.

Ersteres, Qt ist mitnichten 100% freie Software. Wenn du nämlich mit Qt kommerzielle nicht-freie Software entwickeln möchtest, musst du im Moment immer noch eine Lizenz kaufen. Bei wirklich freier Software steht es dir 100% frei unter welcher weiteren Lizenz du deine Software vertreibst.

Oder gehört Ubuntu Canonical?

Der Markenname und das Logo von "Ubuntu" gehören tatsächlich Canonical.

DasIch

Avatar von DasIch

Anmeldungsdatum:
2. November 2005

Beiträge: 1130

Dafür dass kaum einer Qt unter Python nutzt scheint es Riverbank erstaunlich gut zu gehen oder wird dass vielleicht doch nicht so selten genutzt? 😉

glasen

Anmeldungsdatum:
5. November 2004

Beiträge: 2690

Hast du irgendwelche Geschäftszahlen, die deine Aussage stützen? Wenn ich mir deren Homepage so anschaue, kann ich mich des Eindrucks nicht erwehren, das die Firma maximal 10 Mitarbeiter hat und die Homepage von deren Praktikanten zusammengekloppt wurde.

Und wenn man sich die Liste mit den Anwendungen anschaut, die PyQt benutzen (http://www.diotavelli.net/PyQtWiki/SomeExistingApplications), bestätigt sich nur meine Meinung, das Python keinen großen Stellenwert bei den Qt bzw. KDE-Entwicklern genießt.

Schaut man sich dagegen GTk+ bzw. GNOME an (http://www.pygtk.org/applications.html), hier hat man das Gefühl als würden Anwendungen, übertrieben gesagt, nur noch in Python entwickelt werden.

Antworten |