Carbon (API)

API contenute nel sistema operativo Mac OS X

Carbon è stato il nome dato da Apple Inc. ad un insieme di API contenute nel sistema operativo macOS, precedentemente noto come Mac OS X. Questo gruppo di API consentiva ai programmi scritti per Classic Mac OS di funzionare sul nuovo sistema operativo.

Carbon[1] fu introdotto da Apple come una piattaforma di sviluppo per Mac OS 8.1[2] e per Mac OS 9, ma con l'intento di beneficiare il futuro macOS, allora in pieno sviluppo. Con lo stesso codice sorgente di un'applicazione Carbon era possibile creare binari sia per Classic Mac OS, sia per macOS. Queste API sono state un elemento importante nella strategia software di Apple perché hanno permesso di velocizzare il porting delle applicazioni sulla nuova piattaforma, quindi promuovendone la diffusione e agevolando la transizione per gli sviluppatori che avevano già creato applicazioni per le versioni precedenti di Mac OS. Senza le librerie Carbon, gli unici modi per eseguire le vecchie applicazioni in macOS erano l'ambiente di emulazione Classic o la loro completa riscrittura usando il framework Cocoa[3], progettato specificamente per macOS.

Le API erano formate da header file per il linguaggio C e da delle librerie dinamiche che incorporavano le funzionalità effettive. Le implementazioni delle librerie differivano a seconda della versione del sistema operativo, ma questo non era rilevante all'eseguibile dato che per esso gli header erano gli stessi e il comportamento delle API era identico.

Apple nel tempo si è concentrata sempre di più sulle librerie Cocoa, soprattutto con l'introduzione del SDK per iPhone, dove Carbon è assente. Non essendo mai stato convertito completamente a 64 bit[4] già ai tempi di Mac OS X Leopard, Carbon è stato deprecato in OS X Mountain Lion[5] e dismesso in macOS Catalina, anche se pare alcune API a 64 bit siano rimaste disponibili nelle versioni successive di macOS[6]. La fine del supporto ha comunque spinto gli sviluppatori a modernizzare le loro applicazioni e passare a Cocoa o ad altri framework più recenti.

  1. ^ Mac OS X and iOS Internals: To the Apple's Core di Jonathan Levin.
  2. ^ Programming for macOS: Programming for Apple's macOS using the Swift Language di Matt Neuburg.
  3. ^ Cocoa Design Patterns di Erik M. Buck e Donald A. Yacktman.
  4. ^ Introduction to 64-Bit Guide for Carbon Developers, su developer.apple.com. URL consultato il 28 dicembre 2023.
  5. ^ Carbon Core Deprecations, su developer.apple.com. URL consultato il 28 dicembre 2023.
  6. ^ Apple Silicon Native Support For C… | Apple Developer Forums, su developer.apple.com. URL consultato il 28 dicembre 2023.

Collegamenti esterni

modifica
  Portale Apple: accedi alle voci di Wikipedia che trattano di Apple