Cocoa, questo sconosciuto…

Ebbene si: devo confessare che sino a qualche minuto fa ne avevo sentito parlare, avevo più o meno intuito di cosa si trattasse ma non ero ancora riuscito ad approfondire l’argomento nello specifico.

In questi giorni ho scoperto diverse applicazioni molto utili oltre che ben fatte nonchè freeware e quindi ho deciso di togliere definitivamente l’alone di mistero che aleggiava sopra il termine Cocoa fino a pochi istanti fa. Devo dire che le scoperte che ho fatto sono molto ma molto interessanti dal mio punto di vista.

Da Wikipedia:

Cocoa è l’ambiente di programmazione orientato agli oggetti sviluppato da Apple Inc. per il sistema operativo Mac OS X. È il maggiore dei cinque ambienti di programmazione disponibili in OS X. gli altri quattro sono: Carbon, Classic, BSD, e Java. Linguaggi come il Perl e il Python sono considerati ambienti minori dato che non sono generali e non sono in grado di sfruttare direttamente tutte le potenzialità del sistema operativo.

Le applicazioni Cocoa sono normalmente sviluppate utilizzando gli strumenti di sviluppo messi a disposizione da Apple che sono Xcode (precedentemente Project Builder) e Interface Builder. I linguaggi supportati da Xcode sono L’Objective C, l’AppleScript, il C++, l’Objective C++ e Java. Ma l’ambiente Cocoa è utilizzabile anche con altri programmi di sviluppo e utilizzando anche linguaggi come il Perl, il Python e il PyObjC.

Per gli utenti finali le applicazioni Cocoa sono facilmente riconoscibili dovendo aderire alle linee guida stabilite dall’Apple. L’ambiente Cocoa include molti servizi ed essendo Cocoa un ambiente orientato agli oggetti questi servizi vengono ereditati dalle applicazioni che si appoggiano a Cocoa. Un esempio è il correttore ortografico, che è integrato in ogni programma Cocoa dato che in realtà è un servizio e non dipende dal singolo programma.

Il disegno di Cocoa è stato sempre considerato uno dei suoi punti di forza, fino al punto che le soluzioni architetturali che ha adottato hanno ispirato molti dei Design Patterns formalizzati.

Le applicazioni Cocoa e Carbon sono quelle applicazioni native per Mac OS X. Le applicazioni che utilizzano Carbon possono essere eseguite, se il programmatore l’ha previsto, anche sotto Mac OS 9. Infine ci sono le applicazioni Classic che funzionano solo, per l’appunto, nell’ambiente Classic (Mac OS 9) o sotto il suo ambiente di emulazone in Mac OS X.

Quindi è una sorta di C# per Mac OS X: se non ho capito male. Beata gioventù… ma soprattutto beata ignoranza…

5 pensieri riguardo “Cocoa, questo sconosciuto…

  1. se può interessarti qui c’è un piccolissimo tutorial (è il primo di una serie di articoli che sto cercando di scrivere, soprattutto a mio uso e consumo) che potrebbero esserti utili per iniziare a scoprire le potenzialità sia del framework Cocoa che dell’Objective-C

  2. Ti sei fregato con l’ultima frase 🙂

    Diciamo che puoi mettere in relazione .NET con Cocoa e le MFC con la programmazione per Classic o con Carbon che è un framework di transizione usato per portare i programmi da Classic ad OS X, abbandonato molto velocemente dagli sviluppatori in favore di Cocoa.

    L’objective C, da alcuni considerato la vera evoluzione del C verso gli ogetti, potrebbe essere paragonato al C++ invece.

  3. non è per niente una specie di c# per mac … per questa finalità ci sarebbe cocoasharp (fatti un giro -> http://www.cocoasharp.org/).

    cocoa è un framework (e per questo non assimilabile a c# che, invece, è un linguaggio di programmazione). Difatti basta leggere dal sito della apple, sezione developer:

    “[cut] … The Cocoa frameworks include a complete set of classes, and for developers starting new Mac OS X-only projects, Cocoa provides the fastest way to full-featured, extensible, and maintainable applications … [cut] “

Rispondi