• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

carbon / cocoa verständnisfrage!

amarok

Galloway Pepping
Registriert
24.12.04
Beiträge
1.362
OS X verfügt standardmäßig über drei wesentliche Programm-Frameworks. Carbon ist eine Sammlung von Programmierschnittstellen die es ermöglicht Programme sowohl auf Mac OS X als auch auf dem Vorgänger-Betriebssystem Mac OS 9 anzubieten. Da heute kaum noch Mac OS 9 verwendet wird verliert die Funktion von Carbon nach und nach an Bedeutung, zumal Carbon Programme nicht als Universal-Binary kompiliert werden können und somit auf den aktuellsten Macintosh Computern nichtmehr lauffähig sind.

Habe ich das so richtig formuliert oder habe ich es falsch verstanden?

Wäre super wenn möglichst schnell jemand was dazu schreiben könnte...gehört zu einer GFS die heute Abend noch fertig werden muss :-[
 

Peter Maurer

Pommerscher Krummstiel
Registriert
16.03.04
Beiträge
3.077
Leider nicht ganz richtig. Carbon ist nach wie vor aktuell, und es wird sowohl von Apple als auch anderen Entwicklern gerne und oft eingesetzt. Und ja, Carbon-Programme sind sehr wohl Universal-Binary-tauglich. Das waer' ja peinlich fuer den Finder, wenn er auf Intel-basierten Macs nur unter Rosetta liefe... ;)

Uebrigens: Welches sind sind die beiden anderen Frameworks, die Du im ersten Satz implizierst? Cocoa und...?
 
  • Like
Reaktionen: amarok

amarok

Galloway Pepping
Registriert
24.12.04
Beiträge
1.362
java ?

OS X verfügt standardmäßig über drei wesentliche Programm-Frameworks.
Carbon ist eine Sammlung von Programmierschnittstellen die es ermöglicht Programme sowohl auf Mac OS X als auch auf dem Vorgänger-Betriebssystem Mac OS 9 anzubieten.
Die native Programmierschnittstellensammlung von Mac OS X heißt Cocoa. Cocoa ermöglicht die Entwicklung von Programmen in Objektive-C und Java, ausserdem existieren viele Schnittstellen für die Programmierung unter Cocoa zum Beispiel mit Perl, Python, C++, C# und vieler anderer Programmiersprachen. Cocoa stellt dem Entwickler wesentliche Frameworks zur Entwicklung von OS X Programmen zur Verfügung. Die wichtigsten sind das Foundation-Kit für alle relevanten Basisklassen und das Applikation-Kit welches etliche Klassen für die grafische Benutzeroberfläche wie zum Beispiel Fenster und Buttons enthält.
Ausser Carbon und Cocoa stellt Apple auch Java als Kernkomponente von Mac OS X zur Verfügung. Mac OS X verfügt über eine eigene Java-Laufzeitumgebung, die an die allgemeine Benutzeroberfläche von OS X angepasst ist.

Hier mal der vollständige Text. Aber mir ist nicht ganz klar warum man dann Cocoa bracht wenn man schon Carbon hat.
Und der Java Teil macht mir auch noch Kummer... Nicht unbedingt mein Fachgebiet das ganze ;)
 

Peter Maurer

Pommerscher Krummstiel
Registriert
16.03.04
Beiträge
3.077
Aber mir ist nicht ganz klar warum man dann Cocoa bracht wenn man schon Carbon hat.
Cocoa ist eleganter und die Zukunft -- aber es wird noch sehr, sehr lange dauern, bis Carbon ueberfluessig wird.

Und das hab' ich hier schon oefter erwaehnt: Cocoa und Carbon haben viele gemeinsame Endstrecken bzw. gemeinsame Wurzeln; insofern ist die Trennung oftmals gar nicht scharf zu ziehen.

OS X verfügt standardmäßig über drei wesentliche Programm-Frameworks.
Carbon ist eine Sammlung von Programmierschnittstellen die es ermöglicht Programme sowohl auf Mac OS X als auch auf dem Vorgänger-Betriebssystem Mac OS 9 anzubieten.
Richtig.

Die native Programmierschnittstellensammlung von Mac OS X heißt Cocoa.
Stimmt schon. Allerdings ist Carbon auch "nativ", s.o., -- d.h. die Programme laufen nicht emuliert.

Cocoa ermöglicht die Entwicklung von Programmen in Objektive-C und Java
Ja, aber: Die Cocoa-Java-Bridge wird von Apple inzwischen nicht mehr aktiv unterstuetzt. Java auf dem Mac ist also wieder das, was es immer war: Plattformuebergreifend, und insofern auch unter Mac OS funktionierend.

[...] ausserdem existieren viele Schnittstellen für die Programmierung unter Cocoa zum Beispiel mit Perl, Python, C++, C# und vieler anderer Programmiersprachen.
Ja. Carbon zum Beispiel ist teilweise C und teilweise C++. Ueber C# weiss ich nichts.

Cocoa stellt dem Entwickler wesentliche Frameworks zur Entwicklung von OS X Programmen zur Verfügung. Die wichtigsten sind das Foundation-Kit für alle relevanten Basisklassen und das Applikation-Kit welches etliche Klassen für die grafische Benutzeroberfläche wie zum Beispiel Fenster und Buttons enthält.
Das ist etwas vereinfacht; aber ich finde, man kann es so stehenlassen.

Ausser Carbon und Cocoa stellt Apple auch Java als Kernkomponente von Mac OS X zur Verfügung. Mac OS X verfügt über eine eigene Java-Laufzeitumgebung, die an die allgemeine Benutzeroberfläche von OS X angepasst ist.
Jein, weil siehe oben. Die Oberflaechenanpassung ist -- soweit ich weiss -- nicht so richtig automatisch gewaehrleistet. Aber dazu sollte sich mal ein Java-Kenner aeussern; ich hab' davon naemlich eigentlich nicht die geringste Ahnung. ;)
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Ganz essentielle System Frameworks wie QuickTime sind beispielsweise selbst garnicht in Cocoa verfügbar sondern nur Carbon.
Gruß Pepi
 
  • Like
Reaktionen: amarok

amarok

Galloway Pepping
Registriert
24.12.04
Beiträge
1.362
Ganz essentielle System Frameworks wie QuickTime sind beispielsweise selbst garnicht in Cocoa verfügbar sondern nur Carbon.
Gruß Pepi

anderst herum? sonst wäre ja carbon "besser" als cocoa? :oops:

Vielen Dank @ Peter Maurer, dann hab ich das ja doch fast alles richtig Verstanden.
 

Peter Maurer

Pommerscher Krummstiel
Registriert
16.03.04
Beiträge
3.077
anderst herum? sonst wäre ja carbon "besser" als cocoa?
Nein, das stimmt schon so rum. Cocoa ist schlicht NOCH nicht so umfassend wie Carbon. Aber es geht voran, im vorliegenden Fall waere da z.B. das QTKit zu nennen.

Dafuer gehen die meisten alltaeglichen Aufgaben -- mal von mir ganz subjektiv bewertet -- mit Cocoa viel einfacher als mit Carbon. Es gibt eben verschiedene Arten des "besser"-seins.
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Mac OS X verfügt über eine eigene Java-Laufzeitumgebung, die an die allgemeine Benutzeroberfläche von OS X angepasst ist.
Jein, weil siehe oben. Die Oberflaechenanpassung ist -- soweit ich weiss -- nicht so richtig automatisch gewaehrleistet. Aber dazu sollte sich mal ein Java-Kenner aeussern; ich hab' davon naemlich eigentlich nicht die geringste Ahnung. ;)
Ich bin zwar auch nicht der Java-Kenner, aber folgendes kann ich beitragen. Die Java-Laufzeitumgebung ist erst einmal eine ganz normale Laufzeitumgebung auf der alle Java-Programme laufen sollten. Die üblichen Java-Libraries (AWT, Swing, etc.) gibt es auch unter Mac OS X. Dann gibt es noch eine Java-Bridge zu Cocoa, die wie schon gesagt wurde nicht weiter von Apple gepflegt wird. Wenn man die aber in Java-Programmen benutzt, laufen die Programme nur noch unter Mac OS X.

MacApple
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Ja, ja, Carbon, Cocoa, Java ... immer diese Vordrängler.

Was würdet ihr denn ohne mein Lieblingsframework, das (in Embedded C++ geschriebene) IOKit machen?

Naja, alles was man mit einem Mac so machen kann, wenn man keine Tastatur, Maus, Festplatten, Monitore, Drucker, Scanner, Netzwerkverbindungen etc hat: Nix!

Alex
 

ifthenelse

Fießers Erstling
Registriert
07.12.06
Beiträge
129
Ja, ja, Carbon, Cocoa, Java ... immer diese Vordrängler.

Was würdet ihr denn ohne mein Lieblingsframework, das (in Embedded C++ geschriebene) IOKit machen?

Naja, alles was man mit einem Mac so machen kann, wenn man keine Tastatur, Maus, Festplatten, Monitore, Drucker, Scanner, Netzwerkverbindungen etc hat: Nix!

Alex

Ja, genau.

Abgesehen davon, dass Carbon/Cocoa zu einem Großteil eigentlich "nur" 'ne API zur Core Foundation (und damit den Core Services) stellen... :oops:

Gute Nacht, Jörg
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Was würdet ihr denn ohne mein Lieblingsframework, das (in Embedded C++ geschriebene) IOKit machen?
Vermutlich Linux installieren! Irgend wie so ganz ohne Kernel funktioniert MacOS X nicht richtig.