GUI für C Programm, Carbon od. Cocoa?

  • Ersteller Tatcher a Hainu
  • Erstellt am
Tatcher a Hainu

Tatcher a Hainu

Aktives Mitglied
Thread Starter
Dabei seit
03.02.2004
Beiträge
741
Reaktionspunkte
12
Hej!

Ich habe ein C Programm, dass von einer Messkarte Daten ausliest und in einen Datei speichert.
Allerdings hätte ich jetzt gerne eine grafische Benutzeroberfläche. Ich bin nicht sicher ob ich mich in Carbon oder Cocoa einarbeiten soll. Nebenbei habe ich noch nie eine GUI erstellt.
Mir wäre es wichtig, dass sich das Programm ohne viel Aufwand später vielleicht auch für Linux etc. portieren lässt, d.h der "Grundcode" sollte so wenig wie möglich verändert werden. Momentan läuft es plattformunabhängig soweit ich das getestet habe.

Folgende Bücher würde ich mir, je nach Fall besorgen:

COCOA Programming for MacOS X
ISBN: 0321213149
Programming in Objective-C
ISBN: 0672325861

oder

Learning Carbon
SBN: 0596001614

Für ein paar Tips wäre ich dankbar. Unabhängig davon möchte ich auch später Programme für Mac OS X schreiben.

lg

Christian
 
Carbon ist alt und läuft aus, eine Investition in die Zukunft wär auf jeden Fall Cocoa... Objective-C ist auch für viele Plattformen erhältlich, die Cocoa-Oberfläche wirst du aber nicht portieren können (glaube ich).
 
Tatcher a Hainu schrieb:
ob ich mich in Carbon oder Cocoa einarbeiten soll. Nebenbei habe ich noch nie eine GUI erstellt.
Mir wäre es wichtig, dass sich das Programm ohne viel Aufwand später vielleicht auch für Linux etc. portieren lässt, d.h der "Grundcode" sollte so wenig wie möglich verändert werden.

Dann scheidet Cocoa eigentlich aus! Es ist Objective-C und somit auch sprachlich eher Mac-spezifisch! Carbon ist da eher das Mittel der Wahl. Um Portierungen nach LINUX zu vereinfachen macht es evtl mehr Sinn sich an Trolltechs QT zu halten. Damit müßte sich eine Multi-Plattform Applikation realisieren lassen.
 
Dann eher was plattformunabhängiges, z.B. wxWidgets.
 
Danke! Von der Zukunftssicherheit würde mich eigentlich Cocoa mehr interessieren. NI hat zur Messkarte eine Header Datei mitgeliefert die ich momentan verwende. Kann man diese in Objective C einbinden, sonst wird es schwierig?
Wahrscheinlich ist es besser mich in Cocoa einzuarbeiten und den C Code für "spätere" Zeiten aufzuheben. Halbe Lösungen liegen mir nicht so. Ich kann ihn dann ja bei Bedarf und Gelegenheit für andere Dinge umschreiben.
 
i schrieb:
Carbon ist alt und läuft aus, eine Investition in die Zukunft wär auf jeden Fall Cocoa

Nur zur Vollständigkeit: Das trifft nur in diesem Fall zu (Human Interface), und auch nur in so weit, als dass es in Cocoa sehr viel einfacher ist, bestimmte neue Dinge zu tun.
"Carbon" als Gesamtkunstwerk läuft nicht aus, und es gibt immer noch Dinge, die ich nur in Carbon kann. Letzteres wird sich möglicherweise bald ändern.

Aber alles in allem stimmt die Aussage so, da Carbon insb. kein Applicationframework wie Cocoa ist. Da muss man sehr viel selbst machen, oder brauch ein solches Framework. Früher war das für den Mac PowerPlant von Metrowerks, aber das ist schon lange EOL.

Gruss

Alex
 
Ich rate dir Cocoa! Klar, Objective C ist sehr mac speziefisch, aber dank den Wurzeln von Cocoa (NextStep) gibt es einie Möglichkeit diese Programme zu portieren.
Und zwar kannst du da die Open Source Variante GNUStep nehmen. Ich hab das zwar noch nie gemacht, weiss daher nicht wie aufwendig das Potieren wäre, aber möglich ist es und daher auf jeden Fall die bessere Lösung als Carbon!
GNUStep läuft übrigens nicht nur auf Linux, sondern auch auf der Dose.

GruZZ Diskordia
 
da würde ich auch zu raten, entweder GNUstep oder gleich wxWidgets oder QT(Achtung, Lizenz(die GPL) beachten!!!)
 
Hi,

Ich würde wxWidgets nehmen....

Und falls du doch mal einen neues Widget brauchst, dann kannst du in der Paint Methode fröhlich selber malen :).

Such mal bei Amazon.de (wxWidgets Buch + Boost Buch) <- sehr gute Kombination, dann kannste dich gleich mal in die Metaprogrammierung eingewöhnen.

Viel Spaß mit wxWidgets
 
Diskordia schrieb:
Und zwar kannst du da die Open Source Variante GNUStep nehmen. Ich hab das zwar noch nie gemacht, weiss daher nicht wie aufwendig das Potieren wäre
Bei einfachern Projekten die nicht die allerneuesten Features verwenden (Core Data, Bindings, NSPredicate) ist der Aufwand nicht so hoch denn die Kompatibilität zu AppKit und Foundation ist >95%. Und seit neuestem können auch auf dem Mac erstellen NIB-Files direkt eingelesen werden.

-- hns
 
Zurück
Oben Unten