Einstieg in die OS X Programmierung

  • Ersteller rocka2k
  • Erstellt am

rocka2k

Gast
Hallo,

ich programmiere schon etwas länger mit Java. Jetzt bin ich dabei mich in C++ ein zu arbeiten.
Nun möchte ich auch für OS X Programme schreiben. Meine Frage ist, geht das auch ohne Probleme mit C++? Auf Konsolenebene klappt alles prima, nutze XCode.

Da ich aber ein Einsteiger bin, frage ich mich ob ich auch "Fenster-"Programme für OS X schreiben kann oder ob das nur mit Objectiv C (glaube das es das war) und Cocoa geht.

Oder kann ich auch mit C++ und Cocoa für OS X schöne fensterbasierte Programme schreiben?

Grüße,
rocka2k
 

Peter Maurer

Pommerscher Krummstiel
Registriert
16.03.04
Beiträge
3.077
Carbon.

Trotzdem mein Privat-Rat: Gib Cocoa/Objective-C eine Chance, zumindest als aeusserem Rahmen Deines Programms. Vieles geht so viel einfacher, und Du kannst Nicht-Objective-C-Programmteile voellig problemlos einbinden.
 

rocka2k

Gast
Danke für die schnelle Antwort.
Ich werde mir das heute Abend mal genauer ansehen.
 

wapplegraph

Normande
Registriert
12.04.06
Beiträge
571
Das wollte ich auch gerade Fragen, wie man Programme unter OSX programmiert. Habe erst Webprogrammiert.

Also wenn ich dies lernen möchte, so muss ich mich mit Carbon und Cocoa/Objective-C beschäftigen. Sind iPhoto etc. auch so programmiert?

wapplegraph
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.057
Also wenn ich dies lernen möchte, so muss ich mich mit Carbon und Cocoa/Objective-C beschäftigen. Sind iPhoto etc. auch so programmiert?
Es gibt für Programme mit GUI zwei Möglichkeiten sie zu entwerfen. Entweder mit dem Carbon oder mit dem Cocoa Framework (Halbfabrikat war glaube ich die passende deutsche Übersetzung). Carbon ist eine C-API, und am besten benutzt man dies, wenn man vorher Programme für MacOS 9 entwickelt hat, und alten Code hat, oder aus einem anderem Grund unbedingt eine C-API braucht. Cocoa ist eine neuere Version des alten NeXT Openstep Frameworks beide (Cocoa & Openstep) sind in Objective-C geschrieben. Man kann mittlerweile in Objective-C Programmen sowohl C, C++ wie auch Objective-C Bestandteile mischen. Dann gibt es weiterhin die Möglichkeit Skriptsprachen zusammen mit Cocoa zu benutzen, wie etwa Python oder Ruby. Dann braucht man eine sogenannte Bridge um Cocao benutzen zu können: Beispiel Python Objective-C Bridge.

Programme wie iPhoto sind meist in C, C++ oder Objective-C geschrieben und Verwendung von Carbon oder Cocoa.
 
Zuletzt bearbeitet:

blutaermer

Ingrid Marie
Registriert
31.12.03
Beiträge
273
es wird anscheinend kein 64bit carbon geben.
vielleicht gibts dann irgendwann gar kein carbon mehr ...
also ich wuerde cocoa nehmen.
 

wapplegraph

Normande
Registriert
12.04.06
Beiträge
571
Hallo

Ich habe mir heute das Buch "Objective-C und Cocoa" gekauft und schon mein erstes Programm "HalloWelt", nach 3 Anläufen, erstellt.

wapplegraph
 

Nordapfel

Osnabrücker Reinette
Registriert
03.09.06
Beiträge
981
Gibt es auch so etwas wie "VisualBasic". Irgendeine GUI, mit der man schnell ein kleines Progrämmchen zusammenschustern kann?
 

KayHH

Gast
Xcode natürlich? Wenn es Basic sein soll (aber was ist schon Basic?) dann RealBasic. KayHH
 

blutaermer

Ingrid Marie
Registriert
31.12.03
Beiträge
273
doofe frage (ich weiss jetzt nicht ob das unter ein NDA faellt):

XCode 3.0 gibts doch nur fuer den leoparden und nicht fuer den tiger - oder?
da es soviel sachen von 10.5 unterstuetzt und auch drauf aufbaut, kann ich mir fast kein happy end fuer 10.4 user vorstellen ... allenfalls ein XCode 2.5 fuer 10.4 mit ein paar neuerungen ...
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Bisher hatte jede Mac OS X Version seine eigene Developer Tools Version. Da wird sich wohl kaum was dran ändern.

MacApple
 

blutaermer

Ingrid Marie
Registriert
31.12.03
Beiträge
273
so hatte ich das gar nicht in erinnerung.
kam XCode 2.0 mit dem Tigerchen?

der suchtdruck wird immer groesser. vielleicht sollte ich mir doch mal den leoparden besorgen. die ganzen netten features die olle steve uns verschwiegen hat muessen doch zu finden sein ;)