Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Greenpeace
Nuove e vecchie indicazioni da Apple per la transizione
Scritto da Davide Panceri il 06-09-2005 ore 06:54
Intel Parallel Studio XE
In questo periodo di transizione Apple deve spiegare con insistenza agli sviluppatori la necessità di scrivere dei loro programmi versioni per PowerPC, ma che al tempo stesso possano girare sulla nuova piattaforma Intel. La transizione dovrebbe essere facilitata dal nuovo formato (Universal Binaries) introdotto appositamente da Apple per permettere la temporanea coabitazione.

Non è ancora chiaro quanto durerà questa situazione transitoria, anche se Apple stessa parla di qualche anno a venire, pur insistendo sui miglioramenti che verranno introdotti della nuova architettura, e in particolare sulle migliori prestazioni, che presumibilmente faranno presto dimenticare il vecchio hardware. Stando alla documentazione, chi sviluppa oggi da capo un'applicazione per Mac non dovrebbe faticare più di tanto a mantenere questa compatibilità; qualche problema in più dovrebbe portare con sé invece il passaggio di codice già esistente sulla nuova piattaforma.

Ora Apple fornisce una <a target="_blank" href="http://developer.apple.com/macosx/adoptinguniversalbinaries.html">nuova introduzione</a> al tema degli <strong>Univeral Binaries</strong>, sulle modifiche richieste alle applicazioni esistenti e sulle precauzioni che deve usare chi ne scrive di nuove. Dal momento che Mac OS X è, dalla versione 10.0, un sistema multipiattaforma, il cerino passa ai programmatori, che devono dotarsi di Xcode e ricompilare con la versione (minimo) 2.1 di questo strumento di sviluppo, che ha l'opzione per l'architettura su cui girerà il programma. Quando il programma viene lanciato, in effetti, è il Sistema Operativo che decide quale delle due versioni usare: gli eseguibili vengono assemblati e distribuiti insieme. L'operazione è rapida e (come si dice in questi casi) trasparente, il che fa sembrare quasi strano che in fase di compilazione venga richiesta l'architettura per la compilazione, ma proprio così accade.

Xcode si basa su <strong>GCC 4</strong>, e comprende diverse innovazioni e facilitazioni per lo sviluppo. Ma il punto principale resta il superamento delle differenze <a target="_blank" href="http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/">architetturali</a> (come allineamento delle istruzioni, ordine dei byte, divisione per zero, passaggio delle funzioni nello stack e non nei registri) e la produzione di applicazioni universale, dove l'universo comprende processori PowerPC e Intel.

Widget, Script e Java non necessitano di ricompilazione, mentre le applicazioni scritte usando Cocoa possono richiedere qualche ritocco prima di essere ricompilate; lo stesso vale per le applicazioni Carbon sviluppate con Xcode, che potrebbero richiedere qualche ritocco in più prima della ricompilazione. Più complesso il porting di applicazioni Carbon scritte con <a target="_blank" href="http://developer.apple.com/documentation/DeveloperTools/Conceptual/MovingProjectsToXcode/index.html">CodeWarrior</a>. Tra gli accorgimenti da usare innanzitutto vanno identificate (e ridotte al minimo: è sempre meglio usare API di livello alto) le dipendenze da librerie di terze parti, plug-in ed estensioni del kernel.

Dopo questi adattamenti preliminari, si compila il codice con <strong>Xcode 2.1</strong> o <strong>GCC 4</strong>.
Aggiornare la versone di Xcode è uno dei punti chiave di tutto il processo, ed è importante anche testare le applicazioni sulle rispettive macchine. Per avere un Intel-Mac è necessario acquistare per 999 dollari il <strong>Developer Transition Kit</strong>, che consiste in un Power Macintosh con processore Pentium 3.6 GHz, Mac OS X 10.4 per Intel, preview release e Xcode 2, oltre alle linee guida e codice di esempio.

Trattandosi di una piattaforma di sviluppo, Apple non solo ne proibisce l'uso per applicazioni critiche, ma richiede addirittura (tra le altre clausole del contratto, un PDF di nove pagine) che tutto il materiale venga restituito entro una settimana dalla scadenza del contratto (fine 2006), nella stessa scatola in cui è stato inviato... chissà se questa parsimonia si applicherà al codice esistente e circolante sui Mac.
Precedente: La tecnologia user-aware di Intel
Successiva: Scope of Mobile Web Best Practices Published
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.244 secondi.