Seite 1 von 1

frisst der SNOW Leopard Tkaqua?

Verfasst: Sonntag 27. Juli 2008, 19:33
von dd42
Von Apple gibt es zwei APIs Cocoa und Carbon. Tkinter für Mac basiert auf Carbon.

Carbon ist ziemlich langsam, nicht nur mit Tkinter sondern generell
Verweis auf den aktuellen Thread (zu meinem projekt "Tkinter - VISUALPython":http://www.python-forum.de/topic-15478,15.html (letzter Post)

In der nächsten Version von Mac OS X (SNOW Leopard) wird Carbon warscheinlich nicht mehr vorhanden sein --> Tkaqua geht also nicht mehr

:?: Geht Tkaqua mit Carbon unter?

PS: Andere Toolkits wie wxPython, pyGame ... sind auch betroffen!!!

Verfasst: Montag 28. Juli 2008, 20:49
von sma
Ich hatte gestern mal ein bisschen recherchiert.

Ein TkCocoa (statt dem aktuellen TkAqua) war mal eine Idee für GSoc 2007, hat aber weder damals noch in diesem Jahr überzeugt. Offenbar also kein so großes Thema für Tk-Entwickler. Außer dass IDLE antiquiert und echt häßlich aussieht, kann ich leider nicht viel zu Tk sagen. Mein Vorurteil wäre, es gehört vielleicht einfach durch etwas moderneres ersetzt. Aber durch was?

WxWidgets haben das Problem, dass Carbon - genauer das HIToolkit - 64-Bit nicht unterstützt, ebenfalls in ihrer Mailing-Liste diskutiert. Es gibt einen Cocoa-Branch, der ist aber wohl nicht vollständig. Auch hier scheint der Wunsch nach 64-Bit-Anwendungen auf dem Mac nicht so groß, als dass es genug Freiwillige gibt, das System zu verbessern.

Für Qt hat Trolltech vor einigen Monaten eine Alpha-Version für ein 64-Bit-fähiges Cocoa-basiertes UI angekündigt. Hier scheint eine Firma ein kommerzielles Interesse daran zu haben, eine 64-bit-Version für alle Plattformen anzubieten. Vielleicht hoffen sie darauf, das Adobe - die in jedem Fall ein 64-bit-fähiges Photoshop haben wollen - auf Qt setzt und nicht selbst alles nochmal in Cocoa nachbaut. Ich glaube, deren jetziges Produkt ist in C oder C++ entwickelt und nicht in Objective-C. Somit wäre es vielleicht einfacher, auf Qt umzusteigen als auf den Nextstep-Nachfolger.

Was bei Pygames benutzt denn das HIToolkit? Und braucht man Spiele, die 64-bit-fähig sind? Ist nicht außerdem Pyglets die moderne Alternative, da sie auf Hardware-beschleunigte Grafikkarten per OpenGL zugreifen kann?

Braucht man überhaupt ein Python, welches im 64-Bit-Modus läuft?

Gibt es wirklich einen spürbaren Performance-Unterschied zwischen Carbon und Cocoa? Ist es nicht vielleicht so wie bei Swing, dass einem das Toolkit (wahrscheinlich sogar beide) es einfach extrem übel nehmen, wenn man im UI-Thread weitere Operationen ausführt und so den Dispatcher anhält? Das ist meiner Erfahrung nach der Hauptgrund, warum sich ein UI träge anfühlt.

Übrigens, natürlich wird das Carbon bezeichnete API auch im nächsten Mac OS X noch funktionieren - sie bauen nur eben einen Support für 64-Bit-Programme ein. Wer 64-Bit-Programme will, muss Cocoa benutzen. Das ist alles.

Stefan

Verfasst: Montag 28. Juli 2008, 22:55
von dd42
aha, danke für die genauen Informationen :)
das heißt also man kann eh mit Tkinter weitermachen xD
... und ja IDLE wirkt antiquiert.. vor allem auf mac wo man wegen Tkinter die "Scroll-Funktion" des Trackpads nicht nutzen kann
und das ist wohl eine der praktischsten funktionen eines macbooks^^

Wo du gerade WxPython und PyQt ansprichst (von denen ich null ahnung hab):
ist das qt canvas widget eigentlich besser als das von tkinter?
und ist das wxpython canvas widget brauchbar?

zu cocoa vs. carbon - ich habe ein macbook der ersten generation und benutze nur cocoa programme weil die (zumindest auf meinem mac mit Leopard) flüssiger laufen - Photoshop ist (auf meinem mac) zum Beispiel eine Katastrophe

Liebe Grüße, David