Thema:
Re:Vergiss beides flat
Autor: hellbringer
Datum:26.03.08 00:34
Antwort auf:Re:Vergiss beides von Stitch

>Hängt vom Toolkit ab. Manche zeichnen alles selbst und versuchen sich mit passenden Themes dem OS anzupassen (oder auch nicht, wenn der Entwickler das ändert), manche fungieren unter dem jeweiligen OS als Wrapper für dessen hauseigenes Toolkit. Hat beides vor und Nachteile. Wenn das Toolkit alles selbst macht muss man sich als Entwickler so gut wie keine Gedanken machen, das Programm wird in der Theorie auf jeder Plattform gleich funktionieren. Der Wrapper Ansatz ist für den User oft angenehmer, da es sich erstmal nativer anfühlt, bedeutet für den Entwickler aber mehr Aufwand, da es auf jeder Plattform seine eigenen Probleme macht. Dieser Ansatz weicht halt deutlich ab vom Ziel "Code once, run everywhere" wie es die Java-Freaks immer propagieren. Es ist aber im Grunde immer noch deutlich weniger Aufwand als die GUI für jede Plattform komplett eigenständig zu bauen, da man dann eigentlich nicht mehr von einem Programm sprechen kann.
>
>GTK zeichnet die Wigets selbst, sieht aber IMO nicht so schlimm unter Windows aus wie du es von einigen Java Toolkits kennst (auch da gibt es mehere). Beispiel für eine Software unter Windows ist wie gesagt GIMP. GTK heißt ja auch Gimp Toolkit und wurde im Rahmen von GIMP entwickelt. Das ist schon ziemlich lange her als es unter Linux noch kein brauchares freies Toolkit gab. Mittlerweile ist GIMP aber nur noch ein GTK Prog von vielen. Die GTK-Entwicklung wird hauptsächlich vom GNOME-Projekt vorangetrieben.
>
>Qt zeichnet auch selbst, sieht aber unter Windows IMO ein wenig besser aus als GTK. Qt wird hauptsächlich von der Frima Trolltech entwickelt, welche vor kurzem von Nokia gekauft wurden und ist die Basis des KDE-Desktops, dem anderen großen Desktop-Projekt auf Linux / Unix. Als bekannte Qt-Progs auf Windows würden
>mir jetzt Google Earth und Skype einfallen. Das Problem bei Qt ist ein bißchen die Lizenz. Entweder du machst dein Programm OpenSource oder du musst blechen um es grob zusammen zufassen. GTK oder wx zum Beispiel kannst du auch kostenlos für ein geschlossenes Programm verwenden.
>
>Den anderen Ansatz mit dem wrappen auf die nativen GUI-Elemente macht WxWidgets (das Python Binding heißt wxPython). Unter Linux wrappt es auf GTK, ein Programm was darauf basiert das jeder kennt ist der VLC. Hab selber damit nicht gearbeitet, ein Bekannter von mir benutzt es im Job mit C++ und schwört darauf. Habe mal seinen Code gelesen und an einigen Stellen Dinge gesehen nach dem Motto "Wenn wir unter Windows sind macht das so, Wenn wir auf nem Mac laufen mach es aber so", was ich ziemlich unschön finde. Aber dafür kann man eigentlich nicht von einem nativen Programm unterscheiden.
>
>Wie du siehst ist das eine halbe Wissenschaft mit den GUIs ;)
>Python ist aber nicht nur für Desktop Anwendungen geeignet, im Breich WebEntwicklung ist es auch sehr cool. YouTube ist zum Beispiel auf Serverseite komplett in Python geschrieben.


Vielen Dank für die ausführliche Beschreibung. Hört sich ja sehr interessant an. Werd es mir bei Gelegenheit mal ansehen. Im Moment bin ich mit Groovy beschäftigt, was ich vermutlich beruflich bald brauchen werde.


< antworten >