INTRODUZIONE ALL SDK E AD XCODE
Con il rilascio del firmware 2.0 Apple ha integrato iTunes Store con AppStore per consentire a Qualsiasi sviluppatore di pubblicare le proprie applicazioni ,acquistando una licenza annua di 79 Euro.
A tale scopo ,è stato rilasciato un SDK(Software Development Kit)scaricabile su mac app store (xcode)
Insieme a xcode vengono installati vari strumenti tra cui :
Dashcode:
è un tool con cui potrete creare pagine web e widget(anche per la Dashboard di mac)
Instruments:
Permette di analizzare e valutare le prestazioni delle nostre applicazioni
Quartz composer:
è un tool che permette di creare animazioni ed effetti grafici da utilizzare in seguito in altri programmi
Xcode:
è l’ambiente di sviluppo vero e proprio . Sarà qui , infatti che creerete i vostri progetti.
DESIGN PATTERN
i pattern principali che useremo sono :
Delegation
Model view controller
target application
Design pattern :delegation
La delegazione è un pattern in cui un oggetto invia periodicamente messaggi ad un altro oggetto oer chiedergli l’input o per notificare il verificarsi di un evento .
E’ possibile utilizzarlo in alternativa all’ereditarietà per estendere le funzionalità degli oggetti riutilizzabili.
I metodi delegati sono generalmente raccolti in un protocollo(un insieme di metodi) .
I protocolli possono anche includere metodi opzionali.
Una classe si dice conforme ad un protocollo se implementa i metodi richiesti dal protocollo stesso.
Il protocollo delegato indica tutti i messaggi che un oggetto potrebbe inviare al suo delegato.
Design pattern :Model view controller- (MVC)
Programmare per iPhone vuol dire rispettare il design pattern del MVC, un pattern architetturale molto diffuso nei sistemi software orientati ad oggetti.
Ci permette di distribuire compiti fra i componenti software che si trovano ad interpretare tre ruoli principali
Modello(model)
vista(view)
controllo(controller)
Design pattern :Model
Il model fornisce i metodi per accedere ai dati utili all’applicazione ,ha queste caratteristiche principali:
Gestire l’applicativo e lo stato
Non è coinvolta con la UI
Spesso persiste da qualche parte
Lo stesso modello potrebbe essere riusato,non cambiando l’interfaccia
Design pattern :View
Il view visualizza i dati contenuti nel model e si occupa dell’interazione con utenti e agenti;ecco le sue caratteristiche principali:
Presenta il Modello per usare una interfaccia appropriata
Consente all’utente di manipolare i dati
Non archivia nessun dato
Facile riutilizzo e configurazione per visualizzare dati differenti
Design pattern :Controller
Il controller riceve i comandi dell’utente(in genere attraverso il view)e li attua modificando lo stato degli altri due componenti; ha queste caratteristiche:
Intermediario tra Model e View
Aggiorna la vista quando il modello cambia
Aggiorna il modello quando l’utente modifica le viste
Piccolo riassunto :
La view rappresenta il modo con cui la nostra applicazione si interfaccia con l’utente , contiene elementi grafici e di input, le iterazioni ricevute dalla view vengono passate al controller che ha il compito
di modificare la vista e il model.
Lo schema MVC implica anche la tradizionale separazione fra la logica applicativa, a carico del controller e del model , e l’interfaccia utente a carico della view.
I dettagli delle iterazioni fra questi oggetti dipendono molto dalle tecnologie usate(linguaggio di programmazione, librerie usate ecc).
Quasi sempre la relazione fra view e model è descrivibile anche come istanza del pattern Observer.