15th dicembre, 2008

Objective-C: il linguaggio per sviluppare applicazioni iPhone, la base!

by Stefano Lodu

Oggi sono 4 mesi esatti dalla pubblicazione del mio primo articolo, molte cose sono cambiate, sia nella grafica, che nella gestione, che nella struttura degli articoli. Alcuni di voi me lo hanno fatto notare, evidenziandomi come tempo addietro pubblicavo più “tutorial” che altro. Il mio intento e’ lo stesso, e non solo, ovvero cerco e cercherò di fare tutto quello che serve per far crescere sia chi non conosce niente dell’iPhone sia chi ha già qualche buona base !.

Come prima cosa da sapere e’ che Objective-C è un linguaggio OOP. OOP significa Object-oriented Program, che significa linguaggio orientato agli oggetti.

(Fonte: www.html.it) L’idea principale che sta dietro la Programmazione ad Oggetti risiede, in buona parte, nel mondo reale. Come spesso accade, gli esempi pratici forniscono una comprensione più chiara ed immediata della teoria e, pertanto, si userà tale approccio per fissare bene in mente i concetti basilari del mondo OOP.

Si prenda in considerazione un comune masterizzatore, come quelli ormai diffusi nella stragrande maggioranza dei moderni PC. Di tale oggetto si conoscono le sue caratteristiche ma quasi nessuno (se non coloro che lo hanno progettato e assemblato) è a conoscenza dei componenti elettronici e dei sofisticati meccanismi che ne regolano il corretto funzionamento, ne’ a qualcuno salterebbe in mente di smontare un masterizzatore prima di acquistarlo per vedere come è fatto all’interno (supposto che il negoziante sia disposto ad accettare una tale richiesta, decisamente fuori dal comune!).

Il concetto che sta dietro alla programmazione ad oggetti nasce dallo stesso principio: ciò che importa non è l’implementazione interna del codice (che corrisponde ai componenti elettronici, nel caso del masterizzatore) ma, piuttosto, le caratteristiche e le azioni che un componente software è in grado di svolgere e che mette a disposizione (espone) all’esterno.

Dunque, con riferimento a quanto gia detto in precedenza, un programma che segue il paradigma OOP è costituito da un numero variabile di tali componenti, che ora denominiamo oggetti, i quali interagiscono tra di essi attraverso lo scambio di messaggi.

Proseguendo nell’esempio del masterizzatore e supponendo di voler implementare un oggetto software che ne gestisca le funzionalità, potremmo iniziare a definirne le caratteristiche. Ad esempio:

  • Marca
  • Velocità di scrittura su supporti CD-R
  • Velocità di scrittura su supporti CD-RW
  • Velocità di lettura
  • Interfaccia
  • Dimensione del buffer dati

Mentre, per quanto riguarda le azioni potremmo considerare le seguenti:

  • Scrivi su CD
  • Scrivi su DVD
  • Leggi CD
  • Espelli CD

In parole molto semplici, potremmo dire che le azioni altro non sono che “le cose che un oggetto è in grado di fare” mentre le sue caratteristiche rappresentano i dati che le azioni stesse possono utilizzare per eseguire le operazioni che da esse ci si aspetta.

In OOP, le caratteristiche di un oggetto vengono denominate proprietà e le azioni sono dette metodi. Questi sono due concetti fondamentali ed è molto importante che siano ben chiari prima di introdurre nuove definizioni.

Per maggiori dettagli sui concetti della programmazione ad oggetti vi consiglio di visitare questa guida dalla quale ho preso parte dell’articolo : Guida alla programmazione ad oggetti.

Objective-C è definito come un piccolo ma potente linguaggio che nasce dal linguaggio standard C. Per chi quindi vuole imparare questo linguaggio e di conseguenza programmare per iPhone deve conoscere cos’e’ una programmazione ad oggetti e preferibilmente deve aver famigliarizzato con la programmazione in C, C++ o Java.

I programmi per Mac OS X sono scritti in Objective-C. Objective-C e’ una tecnologia che risale ancora agli anni 80′.

Sir. Lodux !

iPhoneandGo.it - iphoneandgo@gmail.com
Developer . Objective-C . Teoria di base | Add your comment

12 Comments. Subscribe to this post comments or trackback.

  1. noname
    dicembre 20th, 2008

    La base di cosa??? Questo artiicolo accenna solo alla programmazione OO (peraltro riprendendola da un altro articolo) senza dir nulla sull’ObjectiveC…

    PS: si scrive “familiarizzato” (almeno un po’ di italiano…)

  2. pff
    dicembre 20th, 2008

    noname, tu si che sei un genio… Almeno impara l’educazione. Qui si e’ soliti confrontarsi, non offendere.

  3. noname
    dicembre 21st, 2008

    Non capisco di cosa mi accusi: non ho scritto nulla di volgare o di non veritiero..

  4. Matteo
    dicembre 21st, 2008

    Beh, “famigliarizzare” come variante la riconosce il De Mauro, la puoi riconoscere anche tu! ;)

    Presumo questo articolo sia il primo di una serie, pertanto parlare della OOP ci può anche stare.

    Una domanda “in topic”: un programma C corretto è anche un programma C++ corretto (naturalmente non vale il contrario). Un programma C corretto è anche un programma Objective-C corretto?

    Ciao!

  5. web10elode
    gennaio 10th, 2009

    Ciao e complimenti per il tuo blog,
    ti volevo chedere dato che non ho un mac se si può programmare e creare applicazioni direttamente dal iphone.
    Speriamo che la risposta sia affermativa!
    Grazie e buona serata

  6. Stefano Lo Duca
    gennaio 10th, 2009

    Ciao web10elode !.. non voglio deluderti comunque direttamente da iphone al momento che scrivo non si può programmare .. non credo si possa fare nemmeno su un pc/windows… mi dispiace.
    Ciao..

  7. web10elode
    gennaio 12th, 2009

    Ciao Stefano,
    sai mica se si può affittare un mac.

  8. Stefano
    gennaio 12th, 2009

    Ho installato SDK dev per Iphone e quando lancio X-CODE nei template non mi compare OS X iPhone Disk Image

    Ho notato che sotto /Developers/Platforms non ho IphoneOS che dovrebbe indicare il so di Iphone

    come posso risolvere? grazie..

  9. Stefano Lo Duca
    gennaio 12th, 2009

    Ciao Web10elode, hai provato a fare una ricerca in internet ? io non l’ho mai sentito !

  10. Serpico
    gennaio 15th, 2009

    @Stefano
    Da quello che dici credo tu abbia installato l’SDK su un MAC con processore PPC (per esempio un powerbook) e non su un MAC con processore Intel. Se è così è normale che non ti compaia nulla per l’OS iPhone perchè l’SDK vuole necessariamente un processore Intel.

  11. Francesco
    aprile 21st, 2009

    Ciao, io ho definito 2 eventi nel .h
    -(IBAction)backgroundClicked:(id)sender;
    -(IBAction)diplayMessage:(id)sender;

    e poi nel file .m ho scritto il relativo codice. A questo punto punto nei pulsanti dove sono disponibili gli eventi da collegare c’è solo diplayMessage mentre backgroundClicked no…non è collegabile in INterface Builder…quale potrebbe essere il problema?

    - (IBAction) diplayMessage:(id)sender{
    }

    - (IBAction) backgroundClicked:(id)sender{
    [txtPrefisso resignFirstResponder];
    }

Leave A Reply