GTK2 auf Aqua portieren

Konzept für eine GTK2-Portierung nach Aqua unter Mac OS X

Fast alle Betriebssysteme für Desktoprechner nutzen eine grafische Benutzeroberfläche. Für Softwareentwickler, die portable Anwendungen entwickeln wollen, stellen die unterschiedlichen APIs jedoch ein erhebliches Problem dar. Daher gibt es verschiedene Toolkits, die das jeweilige API gegenüber der Anwendung transparent machen.

Viele OpenSource-Projekte nutzen GTK und GTK2, um grafische Oberflächen zu gestalten. Für viele Unixoide gibt es eine GTK bzw. GTK2-Portierung ebenso für Windows. Für Aqua, die grafische Oberfläche Mac OS X gibt es einige frühe Versionen von Portierungsversuchen. Da GTK2 jedoch von seiner Logik sehr auf die Struktur von X aufsetzt, ist die Portierung nach Aqua sehr aufwendig.

Im Rahmen der Diplomarbeit ist zu untersuchen, welche grundlegenden Probleme bei einer Portierung entstehen können, inwieweit Funktionen 1:1 portiert werden müssen bzw. für welche Funktionen spezifische Mac-Bedienparadigmen eine andere Implementierung erforderlich machen (z.B. Themes), welche Funktionen aus GTK2 sinnvoller Weise portiert werden müssten, dabei ist insbesondere auch zu prüfen, wie häufig die jeweiligen Funktionen in Anwendungen genutzt werden.

Die bestehenden Portierungsansätze sollen ebenfalls evaluiert und bewertet werden. Danach ist ein Vorgehen für eine Portierung von GTK2 nach Mac OS X vorzuschlagen und im Rahmen der Möglichkeiten einer Diplomarbeit zu implementieren.

Weiters sind Vorschläge zu erarbeiten, wie verbleibende Implementierungsaufgaben geeignet in Form von weiteren Seminar-, Studien- oder Diplomarbeiten umgesetzt werden können.

empfehlenswerte Vorkenntnisse:

Hilfreich sind Kenntnisse in Cacoa oder Carbon (Apples C-Dialekte) bzw. in C, C++, objective C, Erfahrungen mit Apple Mac OS X 10.4 Tiger und Linux sind nützlich.

Hinweis

Die Ergebnisse der Arbeit sollen unter der Gnu LGPL der Open Source Community zur Verfügung gestellt werden.

Aufgabensteller / Betreuer

Aufgabensteller: Professor Dr. Gunnar Teege
Betreuer: Dr. Tobias Eggendorfer