Cocoa, Gianduia e derivati

Lo sapevo. È bastato un minimo di tam tam su Gianduia, la nuova tecnologia software di Apple, che qui da noi subito si è generato un bordello all’italiana. Si è subito supposto di aver compreso le ragioni di tanto accanimento nei confronti di Flash e, soprattutto, si è gridato alla vergogna di una azienda che vuole arraffare tutto. Alla Microsoft insomma.

Vi va se facciamo un po’ di chiarezza?

Cocoa

È la tecnologia software adottata per lo sviluppo di applicazioni per Mac, iPhone e iPad. Di fatto è un insieme di librerie software che gli sviluppatori usano per la creazione delle applicazioni sui sistemi succitati.

Personalmente adoro questa piattaforma, che trovo, rispetto alle molte che ho utilizzato in trent’anni di sviluppo software, elengante, efficiente e incredibilmente produttiva.

Cocoa è una piattaforma per applicazioni native. Pertanto con essa non è possibile creare applicazioni web, né applicazioni per altri ambienti, come Windows o Linux. Alla luce delle sue caratteristiche, questo è un peccato, perché molti sviluppatori esperti in Cocoa gradirebbero assai poter sviluppare in altri ambienti operativi utilizzando la stessa tecnologia.

Cocotron

È un progetto Open Source che consente di sviluppare con Cocoa applicazioni Windows e Linux. Di fatto è la replicazione di parte dell’ambiente Cocoa.

Anche se ancora incompleto e con molte falle, è un esperimento interessante. Personalmente sto seguendo un progetto originariamente scritto in Cocoa per Mac che, grazie a Cocotron e con poche modifiche, è in grado di girare in Windows.

Il web

Anche per il web alcuni esperimenti di questo tipo si stanno facendo.

Un ottimo esempio è Cappuccino, un framework (insieme di librerie) sempre Open Source che, come Cocotron, replica l’ambiente di Apple, in questo caso per lo sviluppo di applicazioni web.

Il mio progetto di cui sopra è stato convertito in Cappuccino in pochi giorni di lavoro, fornendo un’applicazione web in grado di funzionare su qualsiasi moderno browser e senza alcun plugin.

Perché?

La domanda è: perché portare Cocoa su altre piattaforme operative, quando queste hanno già parecchi e, in alcuni casi, buoni ambienti di sviluppo?

La risposta è insita nella complessità dei moderni sistemi di sviluppo software e nelle loro gigantesche librerie di funzioni. L’apprendimento è lungo e ancora più lungo è il tempo necessario per avere una significativa padronanza. Parliamo di migliaia di pagine di documentazione da studiare, ma soprattutto di settimane e mesi di prove, errori, affinamenti della conoscenza e tanta, tanta esperienza.

Ovvie a questo punto le ragioni, per uno sviluppatore, di focalizzarsi su una sola tecnologia, per lo sviluppo su più piattaforme. È già parzialmente vero per tecnologie come Microsoft .Net (per Windows, mobili e web) o Java (applicazioni multi-piattaforma, mobili e web). Non vedo quindi come la copertura di più sistemi anche per Cocoa possa rappresentare una minaccia.

Gianduia

Altro non è che il porting (la conversione) ufficiale di Cocoa per il web. Ufficiale nel senso che è realizzate internamente da Apple. Una garanzia sicuramente, visto che nessuno meglio di loro conosce Cocoa. Sono quindi certo che saranno in grado di farne una versione efficiente anche per il web.

Tutte le “ciaculatorie” che vedono in questo progetto un antagonista di Flash e giustificano l’avversione di Apple per l’ambiente di sviluppo di Adobe, stanno a zero.
Gianduia sarà un serio concorrente di Cappuccino, SproutCore e altri frameworks ispirati a Cocoa, perché molto probabilmente porterà gli sviluppatori già esperti di Cocoa verso il sistema di Apple.

Lo sviluppatore Flash difficilmente passerà alle tecnologie software offerte da Cocoa, per varie ragioni. La principale forse sarà la filosofia di sviluppo improntata, nel caso di Cocoa, su programmazione pura. Si pensi che il linguaggio primario per lo sviluppo in Cocoa è Objective-C che, senza entrare in dettaglio, è materia come si suol dire “tosta”.
Con questo non è mia intenzione considerare gli sviluppatori Flash programmatori di serie B, ma certo è che il background è assai diverso.

Conclusioni

Si rilassino i teorici del complotto. Gianduia sarà una manna principalmente per gli attuali sviluppatori Cocoa, che potranno portare con relativa semplicità le loro applicazioni desktop anche sul web, a tutto vantaggio degli utenti. Sarà un’opportunità anche per tutti quegli sviluppatori web alla ricerca di un framework solido, elegante ed efficiente, anche qui per il bene dell’utenza.

Se Flash morirà insomma, non sarà certo a causa delle tiranniche velleità di Apple. La mia personale opinione a riguardo, nata in tempi meno sospetti, è che la morte di Flash era insita nella sua natura di prodotto nato per colmare un vuoto nella navigazione sul web, quando il web non era quello che è ora.