MaCocoa 001

Capitolo 001 - Prima di partire

Qui comincia l'avventura...

Primo inserimento: Settembre-Ottobre 2001

L'attrezzatura

L'equipaggiamento di base per partire è presto detto.

Una certa conoscenza di C, forse non tanta: Cocoa è un framework (immagino ne parlerò a lungo poi), quindi ha già pronto un sacco di roba, non credo ci sarà bisogno di una conoscenza estrema di C o Objective C (che al momento attuale ignoro) per venirne fuori in maniera dignitosa.

Esperienza di programmazione: averne è più facile di quanto si pensi. È sufficiente avere una buona logica di ragionamento, piuttosto che conoscere tecniche strane. Poche e chiare idee su ciò che si vuole ottenere.

Queesto sito NON intende quindi discutere di programmazione e di linguaggio C, anche se di programmazione e di linguaggio C se ne parla in abbondanza. In altre parole, i requisiti minimi per giovarsi di tutto ciò che è scritto qui consistono nella conoscenza delle nozioni fondamentali di programmazione e in una buona infarinatura sul linguaggio C. Se non possedete questi requisiti, troverete difficili molti passi. Vi consiglio quindi di appropriarvi di qualche risorsa (in rete, o anche in libreria) su programmazione e linguaggio C.

Inglese da masticare: questo è importante. Immagino ci saranno molte cose da leggere ed approfondire, e dall'inglese non si scappa. Ciò che aiuta è che non dobbiamo conversare in inglese, basta leggerlo, cosa mooolto più semplice. Un dizionario a portata di mano può servire.

Buona volontà: non la prometto nemmeno io. Ignoro l'impegno richiesto, ignoro quanto tempo potrò dedicare (poco...). Le tappe del viaggio saranno a misura (mia e vostra, se qualcuno viene con me).

Il mezzo di trasporto

Parto leggero: Mac Os X installato su un powerbook G3-500; con un iMac dovreste essere già a posto; i Developer Tools installati, che dovrebbero bastare per editare, compilare e completare applicazioni (è facile: basta usare il terzo disco che viene con Mac Os X: nel primo c'è X, nel secondo il 9.1, nel terzo, appunto, i dev tools). Una connessione internet per recuperare informazioni dal sito di Apple o dovunque se ne trovino. Fine.

Agosto 2005: Siamo arrivati alla versione 10.4.2 di Mac OS X, mentre l'ambiente di sviluppo è giunto alla versione 2.1. Il sistema operativo è distribuito su un DVD. Per installare XCode dovete cercare l'applicazione di installazione all'interno del DVD stesso. XCode non è normalmente installato con il sistema operativo. Alternativamente, XCode è scaricabile gratuitamente dal sito degli sviluppatori Apple. Si deve entrare a far parte della Apple Developer Connection. Esiste una modalità di iscrizione gratuita che permette di accedere alle risorse on-line, ma non dà diritto a materiale, sconti o altre agevolazioni.

La strada

La strada è quanto mette a disposizione Apple in forma più o meno gratuita con i Developers Tools, i file di Aiuto installati, documenti aggiuntivi, tutorial, eccetera, eventualmente supportati da qualcos'altro che si trova in rete. Non avrò scrupolo di leggere i documenti forniti, farne un sunto in italiano e propinarvelo. Qui e lì aggiungerò pezzi derivati dalla mia esperienza, eventualmente ispirati a qualche altro libro o documento. Se qualche pezzo vi parrà la riproposizione di qualcosa che avete già letto altrove, non dite che non vi avevo avvertito. Ah, ho comprato anche il libro Learning Cocoa della O'Reilly, scritto direttamente da Apple, ma non ho ancora idea quanto servirà.

La meta

Raggiungere la meta non è l'obiettivo di questo viaggio. L'obiettivo di questo viaggio è capire come usare Cocoa per scrivere applicazioni. No, ma che dico.

L'obiettivo di questo viaggio è di divertirsi programmando Cocoa.

Magari faticando e passando notti davanti a schemi di computer. E badate: non voglio imparare Cocoa per diventare un programmatore Macintosh, o scrivere applicazioni da vendere poi come shareware o vero e proprio programma commerciale. L'imparare Cocoa sarà per me un atto di pura inutilità, artistico, avulso dalla logica del profitto. Voi che leggete avrete anche altri obiettivi, ma sono vostri, ne ho il massimo rispetto, ma sono appunto vostri. Tenete presente però il mio obiettivo quando viaggiate con me (e vedrete che indulgo in cose futili).

Stavo divagando: la meta. Poiché imparare a programmare in Cocoa è un po' generico, si rischia di studiare tanto, di applicare poco, e di applicare quello che si è imparato su esempi e non su problemi reali. Quindi, mi prefiggo un obiettivo: la realizzazione di un programma che non sia un giocattolo o fine a se stesso, ma che possa potenzialmente servire a qualcosa. Questo significa che, ogni volta che ho imparato ed applicato qualcosa, il passo successivo sarà di imparare qualcos'altro propedeutico all'obiettivo finale.

Ciò che intendo realizzare è un programma per la catalogazione di cd, hard disk, e memorie di massa in genere (temo di non poter provare i floppy sul powerbook...). Chiamerò il tutto progetto CDcat, giusto per dare un nome fantasioso.

Ora, non è che il mondo ha un estremo bisogno di un programma del genere, ma il progetto mi sembra abbastanza semplice da poter essere conseguito, ed abbastanza complesso da rivelarsi interessante. Cosa ha di interessante un CDcat? Beh, intanto si può cominciare a leggere un disco (e quindi ad accedere al file system) e mettere tutti i dati in una finestra. E già qui sarebbe un buon punto. Poi, questi dati li salviamo in un file. Dopo, si impara a leggere più di un cd, e mettere i dati all'interno di un catalogo. Dopo, si gestiscono contemporaneamente più cataloghi. E le ricerche? Dove le mettiamo le ricerche di file all'interno del catalogo? Di più, proviamo anche a stampare delle copertine!

Insomma, prevedo di dover utilizzare molte delle caratteristiche interessanti di un programma, e poi metterò dentro tutto quello che mi verrà in mente (o che qualcuno suggerirà... che so, andare in rete... cose del genere).

Pronti? Via.

Licenza Creative Commons
Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati sotto Licenza Creative Commons.
Pagina a cura di Livio Sandel (macocoa2012@gmail.com).