Newsgroup: it.comp.macintosh
Titolo: due domande ai programmatori

giusto perche' sono pieno fino alla testa di cose da fare, volevo 
aggiungere qualcosa alla lista delle cose che non riusciro' mai a 
portare a termine, e pensavo di provare a pasticciare un po' con opengl 
sotto os x.
prima domanda: carbon o cocoa? il mio obiettivo sarebbe di fare 
un'applicazione opengl a pieno schermo, tipo screensaver o videogioco 
per intenderci, e mi chiedevo che vantaggi avrei ad usare cocoa invece 
di carbon o viceversa.
cosi' a naso direi che cocoa non mi offre nulla di piu', anzi, il 
runtime dell'objective c magari sarebbe solo un overhead per 
un'applicazione che tenta di sfruttare ogni singolo ciclo macchina che 
ha a disposizione. pensavo quindi di imparare a usare carbon, ma d'altro 
canto se effettivamente cocoa non avesse poi questi svantaggi che 
ipotizzo potrebbe essere piu' produttivo usare cocoa...
insomma, voi che cosa mi consigliereste?
seconda domanda: quando creo un progetto con xcode che differenza c'e' 
tra "carbon application" e "carbon bundle"? che io sappia le 
applicazioni cocoa, quelle con estensione .app sono per l'appunto dei 
bundle, anche se in xcode vengono chiamate "cocoa application", quindi 
'sta cosa mi manda in confusione... nella documentazione di xcode non 
sono riuscito a trovare nulla che spieghi 'sta cosa...

 sono riuscito a trovare nulla che spieghi 'sta cosa...
Una Carbon Application e' una applicazione vecchio stile, ovvero un
singolo file con il codice nella data fork e le risorse nella resource
fork. Un Carbon Bundle invece ha il codice in un file eseguibile e poi
ha le risorse (nome, icona...) in altri file registrati nel bundle. Se
vuoi essere sicuro che non sia possibile danneggiare la tua
applicazione, anche portandola in filesystem strani (es. FAT), usa un
bundle. Se fai sviluppo mac-only o vuoi far girare la tua app su OS 8
con CarbonLib, usa una application. (OS 9 mi pare supporti le
applicazioni in un bundle.)

 applicazioni in un bundle.)
grazie per la spiegazione. :)

 di carbon o viceversa.
E usare invece l'accoppiata SDL + OpenGL, così da garantirti la 
portabilità completa su Mac, Win, Linux, BSD eccetera?
-- 
Andrea Bergia - studente              Linux Registered User #281550

 portabilità completa su Mac, Win, Linux, BSD eccetera?
perche' non ho interesse a fare un programma portabile su altre 
piattaforme, volevo fare un programma che si integrasse al meglio in 
osx.

 osx.
Ovviamente non so nello specifico che debba fare il tuo programma, ma se 
è una finestra in fullscreen il cui unico contenuto è grafica OpenGL 
disegnata dal tuo programma, quale sarebbe il vantaggio di usare le API 
di Os X? Per la gestione degli eventi? Per il timer? Per la rete? Per 
l'audio? Tutte cose che le SDL fanno benissimo.
Prevenire è meglio che curare: non voglio scatenare un flame :-)


 di Os X? Per la gestione degli eventi? Per il timer? Per la rete? Per 
per la finestra delle preferenze :)
scherzi a parte. il motivo per cui mi sono messo in testa di cominciare 
un po' a pasticciare con xcode e' perche' volevo imparare un po' a 
programmare sotto osx, quindi il mio interesse e' verso osx, all'inizio 
non volevo neanche fare un gioco, lo sghiribizzo dell'opengl m'e' venuto 
dopo. poi come dici tu trattandosi di opengl a tutto schermo potrei 
benissimo usare sdl, pero' il mio interesse rimane verso osx. spero di 
essermi spiegato :)

 essermi spiegato :)
Chiaro! :-) Al massimo, cerca già di separare, almeno per il possibile, 
la logica di gioco, quella di OpenGL e quella di Os X. Al massimo se 
viene fuori un bel gioco puoi sempre fare un porting ;-)


 viene fuori un bel gioco puoi sempre fare un porting ;-)
me lo auguro :) nel senso, sarebbe un bel traguardo arrivare addirittura 
a fare un gioco cosi' bello ;)