Percorso: ilMac.net > Macopinioni > Articoli > La parola agli sviluppatori


La parola agli sviluppatori

Ludovico Rossi


Nella nostra volontà di capire e far capire agli utenti Mac cosa significhi il passaggio ai processori Intel, questa volta abbiamo contattato Ludovico Rossi, giovane ma già promettente sviluppatore di giochi su Mac. Anche lui, benché ancora studente (quindi non ancora sviluppatore a tempo pieno, ma col tempo, chissà ...), si trova in prima fila nel passaggio alla nuova piattaforma. Perciò chi meglio di lui può soddisfare la nostra curiosità, e dissipare eventuali dubbi?
Prima di procedere nelle domande, qualche informazione in più sul protagonista della nostra intervista.
Ludovico Rossi, romano, 21 anni, studente di informatica all'università 'La Sapienza', è un grande appassionato di videogiochi: per questo ha deciso di svilupparli. Tanta passione è stata infine premiata. Infatti il gioco Feathered Soccer, un arcade in 3D (dove il protagonista sono un team di ... galline!), ha partecipato all'uDevGames 2004, vincendo l'Editor's Prize Award. Sul suo sito, sono presenti altri titoli, tutti gratuiti. Ora, una sua 'creatura' (si tratta di All Around The Wall, un gioco-widget anch'esso gratis), parteciperà al concorso internazionale 'Unity Dashboard Widget Challenge'.

Domanda: Partiamo subito con la questione più ovvia: cosa pensi di Intel e dei suoi processori?

E' doveroso premettere che per Apple questa è stata una decisione obbligata. IBM, produttrice degli attuali PowerPC, semplicemente non era più in grado di soddisfare con la sua ricerca il bisogno di innovazione della casa di Cupertino: per avere un'idea basta pensare all'enorme ritardo dei fantomatici Powerbook G5. Rimane una grande verità il fatto che non è possibile confrontare due architetture differenti basandosi soltanto sui MHz, ma è altrettanto vero che Intel ha fatto dei notevoli passi avanti dai tempi in cui Apple realizzò lo spot con i Pentium-lumache. Essendo Intel uno dei leader nel settore sia per qualità che per diffusione dei propri prodotti offre una più ampia scelta di processori da inserire negli hardware Macintosh, ma soprattutto in proiezione futura garantisce la competitività e lo sviluppo richiesto da Apple e che IBM non avrebbe più potuto fornire mantenendo gli attuali ritmi di produzione. Ancora una volta una mossa coraggiosa da parte di Jobs e grazie alla quale tra qualche tempo torneremo a dire che il miglior sistema operativo gira sul miglior processore.

Domanda: Con questo accordo, che cosa cambierà per l'utente finale?

Apple si sta impegnando affinché cambi il meno possibile. Con i tools che mette a disposizione degli sviluppatori un anno prima dello switch spera verosimilmente che la maggioranza delle applicazioni saranno compatibili per il lancio del primo Mactel. Impedendo di installare Mac OS X su PC-compatibili inoltre salvaguarda la sua politica di vendita dell'hardware ma tiene anche vivo lo spirito di nicchia e di appartenenza che da sempre contraddistingue un utente Mac. Detto questo, la differenza più grande sarà quella di poter far girare Windows sul proprio Mac ed essere così pienamente compatibili con il resto del mercato, cosa che fino ad oggi è mancata ad un utente Apple.

Domanda: Molti prefigurano la fine di Apple, perché temono cloni, il crollo delle vendite delle macchine. Ultimamente, è iniziata anche la gara (ridicola), per mostrare come la versione per Intel di 'Tiger' giri su qualunque PC ... Ma sono davvero questi i rischi? O magari ve ne sono altri, sottovalutati?

Poiché Apple farà il possibile e l'impossibile per impedire l'installazione di Mac OS X su cloni improvvisati, anche se qualche hacker dovesse riuscirci non sarà comunque un'operazione semplice e alla portata di tutti e potrebbe non garantire un'adeguata stabilità del sistema. Perciò non credo che questo possa effettivamente danneggiare il mercato di Apple, ma al contrario potrebbe rivelarsi un punto di forza per il futuro: nel caso in cui la mela mordicchiata decidesse di sferrare un attacco più diretto al concorrente Windows, trovarsi già sullo stesso processore sarà un'agevolazione non da poco. Un possibile e reale rischio, di cui non si parla molto, riguarda quelle case di sviluppo che utilizzano per i loro prodotti librerie e pacchetti obsoleti o non supportati e per i quali il porting richiederà tempi più lunghi. Bisogna pensare che una transizione da una piattaforma all'altra impegna delle risorse ma non produce niente di innovativo. Nel caso di passaggio da Mac a Windows il vantaggio che ne ottiene la software house è l'allargamento del proprio bacino di utenza, ma in questo caso l'obiettivo è soltanto quello di continuare a funzionare su una piattaforma in cui si era già operativi. Per questo nei primi tempi potremmo assistere ad un leggero abbassamento di competitività delle applicazioni Mac nei confronti delle loro controparti Windows, che nel frattempo continuano a sviluppare nuove funzionalità mentre i team Mac sono impegnati dalla migrazione su Intel. Fortunatamente le case più grandi stanno assicurando porting in tempi brevi e questo fenomeno, se avverrà, sarà verosimilmente riassorbito in poco tempo.

Domanda: Veniamo un po' all'aspetto che più interessa uno sviluppatore come te. Apple afferma che ricompilare le applicazioni per i chip Intel sarà semplice. Ma è davvero così?

Dipende dalla tecnologia con cui sono sviluppate. Se si utilizzano gli strumenti e le API fornite da Apple o comunque pacchetti dalla spiccata vena multipiattaforma la transizione sarà poco più che una ricompilazione. Diverso è il discorso per le applicazione che fanno uso intensivo di codice di basso livello, assembler o comunque ottimizzato per PowerPC. Questo tipo di sviluppo riguarda soprattutto i corposi software di grosse case di produzione, che hanno risorse ed interesse per effettuare il porting. Indubbiamente ci saranno anche dei piccoli sviluppatori che rimarranno schiacciati dalla complessità della transizione, ma non quelli che da tempo adottano le ultime tecnologie Apple come Carbon e Cocoa e che si spera siano la grande maggioranza. Quello che è fuori discussione è che Apple non ha ripetuto i suoi errori del passato (come quelli fatti nella transizione da 68k a PowerPC) e questa volta ha fornito agli sviluppatori mezzi e tempi adeguati per una transizione il più indolore possibile.

Domanda: E poi c'è Rosetta, che permetterà alle applicazioni PowerPc di girare sui processori Intel. Immagino che per chi sviluppa software sia un valido aiuto. Sai qualcosa sulle prestazioni effettive che garantisce?

Rosetta sarà un aiuto tanto valido quanto più gli sviluppatori si impegneranno a renderlo inutile il prima possibile. Potrà servire come soluzione temporanea per quei prodotti che hanno bisogno di più tempo per la transizione, ma non deve essere preso come alibi per rallentare la produzione o non sviluppare affatto versioni Intel-compatibili. Per quanto possano impegnarsi i tecnici Apple, si tratta comunque di un emulatore software e non potrà garantire le prestazioni di un vero PowerPC. Inoltre, come è noto, non tradurrà le istruzioni AltiVec ottimizzate per G4 e G5.

Domanda: Per chi sviluppa giochi, vi sono forse delle difficoltà maggiori, o diverse, rispetto a chi sviluppa software 'non ludico'?

Per quanto riguarda gli sviluppatori di giochi indipendenti come me ci sono quasi dei vantaggi, nel senso che la più diffuse librerie e pacchetti utilizzati in questo ambiente (OpenGL, SDL, ma anche Unity, Torque, REALbasic) sono già Intel-compatibili oppure lo saranno a breve. Stesso tipo di lavoro degli sviluppatori di utility invece per chi ha dei giochi con porzioni di codice assembler vicine al processore. Un altro possibile problema legato ai giochi di cui si parla in questo periodo è quello legato alle strategie di marketing: tradizionalmente la nostra piattaforma è in secondo piano negli obiettivi di una software house videoludica. La possibilità verosimile di installare Windows sui Mactel potrebbe indurre alcune grosse compagnie a non portare più i loro giochi su Mac. Personalmente non credo che questo avverrà, perché anche le grandi case sanno bene che se un utente compra un Mac è perché ritiene Mac OS X il miglior sistema operativo in circolazione e desidera usarlo il più possibile, anche per giocare. Non certo si compra un Mac perché ha la possibilità di riavviare da Windows.

Domanda: Un tuo programma (si tratta di Sudden Rainbow), gira anche su piattaforma Windows. Questo cosa significa: che il tuo lavoro sarà più semplice?

Nel caso specifico di Sudden Rainbow il fatto che funzioni anche su Windows non rappresenta un reale vantaggio per la transizione, semplicemente perché essendo scritto in puro C++ ed appoggiandosi alle librerie SDL è già ampiamente portabile ed è un buon candidato a necessitare di una semplice ricompilazione. Sarà un vantaggio per chi dovrà riscrivere delle porzioni di codice macchina avendo a disposizione una versione per Windows delle stesse. In tutti gli altri casi no, perché il fatto di cambiare processore non significherà avere a disposizione tutte le librerie per Windows, che si appoggiano anche al sistema operativo di Microsoft oltre che al processore Intel.

Domanda: Hai già programmato una tabella di marcia per i tuoi giochi? Cioé, quali saranno i titoli a essere ricompilati, e in che tempi?

Con una previsione realistica conto di portare su Intel tutti i miei prodotti prima dell'uscita del primo Mactel per utenti finali. Poiché ho sempre utilizzato tecnologie Apple come Cocoa o librerie multipiattaforma come SDL ed OpenGL, avendo già a disposizione Tiger con XCode 2 in grado di compilare ibridi per Intel e retro-compatibili con PowerPC, nel mio caso la transizione non sarà un grosso problema.

Domanda: Ci siamo lasciati alle spalle la transizione da Mac OS 9 a X (e anche allora i timori e le critiche non mancarono). Questa che sta per iniziare (o meglio, è già iniziata), sarà più semplice o più complessa?

Sicuramente sarà più semplice. In quel caso si trattò di una cambiamento a livello di API di sistema, cioé la tecnologia che occupa un'ampia parte del codice in un software tipico, quella che si occupa della gestione dell'interfaccia grafica, dei file e di molte altre cose. Il processore invece è un livello a cui si spingono solamente i programmatori che hanno bisogno di prestazioni critiche e generalmente per porzioni di codice non eccessive. Il lavoro sporco è stato fatto da Apple che in questi anni ha ricostruito il suo OS e le API Carbon e Cocoa al di sopra del nuovo processore. E' vero che tutto ciò vale in linea teorica e che nella vita reale ci sarà bisogno di qualche aggiustamento, ma comunque in misura di gran lunga minore rispetto al passaggio da 9 a X.

Domanda: In conclusione: per uno sviluppatore come te, questa transizione cosa significa? Vi saranno migliori e maggiori opportunità per chi sviluppa, o tutto resterà praticamente uguale?

Come per gli utenti, anche per gli sviluppatori Apple cercherà di far rimanere tutto uguale, almeno per i primi tempi. E' difficile da dire adesso, ma Steve Jobs ci ha abituati a grandi innovazioni nel settore dell'informatica consumer e non è escluso che abbia in serbo grandi progetti anche per questa transizione ad Intel, benché nulla sia ancora trapelato da Cupertino. E' anche possibile che terze parti si sentano incoraggiate a portare le loro librerie per Windows su Mac, benché questo al di là del processore comporti comunque un importante lavoro di traduzione delle chiamate alle API. Se ciò avverrà potrebbe aprire nuovi mondi agli sviluppatori di entrambe le piattaforme.

Data di pubblicazione: 15-09-2005

L'intero contenuto di questo sito è © dal 1998 del Team di ilMac.net, è vietata ogni riproduzione senza il consenso scritto da parte degli autori.