10. Agenda
• Panoramica sui dispositivi
• Cenni sull'architettura del sistema
11. Agenda
• Panoramica sui dispositivi
• Cenni sull'architettura del sistema
• Gli strumenti e la tecnologia Apple
12. Agenda
• Panoramica sui dispositivi
• Cenni sull'architettura del sistema
• Gli strumenti e la tecnologia Apple
• I “Media” frameworks
13. Agenda
• Panoramica sui dispositivi
• Cenni sull'architettura del sistema
• Gli strumenti e la tecnologia Apple
• I “Media” frameworks
• Anatomia dell’app iOS
14. Agenda
• Panoramica sui dispositivi
• Cenni sull'architettura del sistema
• Gli strumenti e la tecnologia Apple
• I “Media” frameworks
• Anatomia dell’app iOS
• Third Party Frameworks
33. Cocoa *Frameworks
Map Kit, Core
Foundation UI Kit Core Data
Location...
Fornisce tutte le Gli elementi Fornisce i e tanti altri che
classi di base: dell’interfaccia meccanismi aggiungono
stringhe, utente come necessari per la tutte quelle
numeri, finestre, viste, memorizzazione funzionalità che
collezioni ecc., controlli, e la rendono
utilizzate come caratteri, ecc. modellazione dei l’esperienza
mattoni per dati, unica, l’utilizzo
costruire altre indipendenti dal di applicazioni
classi. tipo di iOS.
elaborazione
utilizzata.
* framework è una directory che contiene delle risorse relazionate fra di loro, ad es. le classi, le immagini,
i suoni, la documentazione, le stringhe localizzate ecc.
34. Cocoa *Frameworks
Map Kit, Core
Foundation UI Kit Core Data
Location...
Fornisce tutte le Gli elementi Fornisce i e tanti altri che
classi di base: dell’interfaccia meccanismi aggiungono
stringhe, utente come necessari per la tutte quelle
numeri, finestre, viste, memorizzazione funzionalità che
collezioni ecc., controlli, e la rendono
utilizzate come caratteri, ecc. modellazione dei l’esperienza
mattoni per dati, unica, l’utilizzo
costruire altre indipendenti dal di applicazioni
classi. tipo di iOS.
elaborazione
utilizzata.
* framework è una directory che contiene delle risorse relazionate fra di loro, ad es. le classi, le immagini,
i suoni, la documentazione, le stringhe localizzate ecc.
35. Il *pattern MVC
Model View Controller
Gestisce i dati e lo stato Presenta le informazioni E’ il mediatore tra il
dell’applicazione senza raccolte dal Modello. Modello e la Vista.
occuparsi dell’UI e del Mette a disposizione degli Aggiorna la Vista quando
modo in cui i dati stessi utenti gli oggetti coi quali cambia il Modello.
verranno presentati. possono interagire. Aggiorna il Modello
Di solito è persistente. quando gli utenti
manipolano le Viste.
* pattern è una soluzione ottimale per un problema ricorrente
36. Il *pattern MVC
Model View Controller
Gestisce i dati e lo stato Presenta le informazioni E’ il mediatore tra il
dell’applicazione senza raccolte dal Modello. Modello e la Vista.
occuparsi dell’UI e del Mette a disposizione degli Aggiorna la Vista quando
modo in cui i dati stessi utenti gli oggetti coi quali cambia il Modello.
verranno presentati. possono interagire. Aggiorna il Modello
Di solito è persistente. quando gli utenti
manipolano le Viste.
* pattern è una soluzione ottimale per un problema ricorrente
42. UIView
• Una classe Objective-C
• Rappresenta un’area rettangolare sullo schermo
43. UIView
• Una classe Objective-C
• Rappresenta un’area rettangolare sullo schermo
• Il suo compito è di disegnare i contenuti e gestire
gli eventi ricevuti
44. UIView
• Una classe Objective-C
• Rappresenta un’area rettangolare sullo schermo
• Il suo compito è di disegnare i contenuti e gestire
gli eventi ricevuti
• Fa sempre parte di una gerarchia delle viste che
inizia con la UIWindow
45. Frameworks & Technologies
iOS mette a disposizione diversi framework per la
creazione di grafica e per l’animazione
53. UIKit
• Gli elementi dell’interfaccia utente di
un’applicazione iOS
• I metodi per gestire, disegnare ed animare
l’interfaccia utente
54. UIKit
• Built-in controls
• Abbiamo una vasta libreria di controlli
pronti per l’uso che possono essere
aggiunti dall’Interface Builder
55. UIKit
• Le versioni personalizzate di built-in
controls
• Possiamo creare le versioni
personalizzate utilizzando le
“properties”, i metodi “delegate” o anche
creando delle nuove sottoclassi di
controlli esistenti
56. UIKit
• Le viste create “from scratch”
• Possiamo creare delle viste specifiche alla
nostra applicazione sottoclassando la
classe UIView
60. Core Graphics
• Il principale motore per il disegno in due dimensioni
61. Core Graphics
• Il principale motore per il disegno in due dimensioni
• Fornisce Application Programming Interface (API) basata
su linguaggio C
• Il contesto grafico, le trasformazioni, il disegno lungo i
path (le traiettorie), i colori, i font ecc.
62. Core Graphics
• Il principale motore per il disegno in due dimensioni
• Fornisce Application Programming Interface (API) basata
su linguaggio C
• Il contesto grafico, le trasformazioni, il disegno lungo i
path (le traiettorie), i colori, i font ecc.
• Dovunque possibile, Quartz 2D sfrutta la potenza
dell'hardware grafico
63. Core Graphics
• Il principale motore per il disegno in due dimensioni
• Fornisce Application Programming Interface (API) basata
su linguaggio C
• Il contesto grafico, le trasformazioni, il disegno lungo i
path (le traiettorie), i colori, i font ecc.
• Dovunque possibile, Quartz 2D sfrutta la potenza
dell'hardware grafico
• Funziona con tutti gli elementi grafici disponibili e le
tecniche di animazione, come Core Animation, OpenGL
ES, e le classi UIKit
69. Core Animation
* compositing (composizione) è la combinazione di elementi visivi provenienti da più fonti in una singola
immagine per creare l'illusione che tutti questi elementi fanno parte della stessa scena
70. Core Animation
• Objective-C framework
* compositing (composizione) è la combinazione di elementi visivi provenienti da più fonti in una singola
immagine per creare l'illusione che tutti questi elementi fanno parte della stessa scena
71. Core Animation
• Objective-C framework
• Un motore di *compositing ad alta
prestazione (hardware accelerated)
* compositing (composizione) è la combinazione di elementi visivi provenienti da più fonti in una singola
immagine per creare l'illusione che tutti questi elementi fanno parte della stessa scena
72. Core Animation
• Objective-C framework
• Un motore di *compositing ad alta
prestazione (hardware accelerated)
• Un'interfaccia semplice per la
programmazione dell’animazione
* compositing (composizione) è la combinazione di elementi visivi provenienti da più fonti in una singola
immagine per creare l'illusione che tutti questi elementi fanno parte della stessa scena
76. Core Animation
• Un insieme di funzionalità e di classi
Objective-C che rende semplice il compito
di animare l’interfaccia utente
77. Core Animation
• Un insieme di funzionalità e di classi
Objective-C che rende semplice il compito
di animare l’interfaccia utente
• Basta indicare le proprietà delle viste e
delle finestre che vogliamo animare e
fornire i valori finali e il tempo per la
durata dell’animazione
81. OpenGL|ES
* OpenGL Open Graphics Library libreria multiuso open-standard, per la creazione di contenuti 2D e 3D,
ulteriori info sul sito Khronos Group http://www.khronos.org/opengles/
82. OpenGL|ES
Un sottoinsieme di *OpenGL per il disegno 2D e 3D su
dispositivi mobili
* OpenGL Open Graphics Library libreria multiuso open-standard, per la creazione di contenuti 2D e 3D,
ulteriori info sul sito Khronos Group http://www.khronos.org/opengles/
89. Audio
• Media Player framework fornisce
un accesso facile alla libreria
iTunes dell’utente per la
riproduzione dei brani e playlists
• AV Foundation framework
fornisce un insieme di classi
Objective-C per la gestione della
riproduzione e registrazione dei
contenuti audio
90. Audio
• OpenAL fornisce una funzionalità
cross-platform per la distribuzione
dell’audio direzionale
• The Core Audio frameworks offre la
interfaccia semplice ma sofisticata
per la riproduzione e la registrazione
di suoni. Le possiamo usare, ad es.,
per la riproduzione di suoni di avviso
del sistema o anche per far vibrare il
dispositivo
92. Tecnologie Video
iOS fornisce diverse tecnologie per la riproduzione o la
*creazione dei contenuti video
* sui dispositivi che sono in possesso del hardware necessario
93. Video
• Diversi modi per la riproduzione e/
o la registrazione dei contenuti
video
• Scegliere il framework di livello più
alto in modo di semplificare il lavoro
necessario per l’implementazione
delle funzionalità richieste
94. Video
• UIImagePickerController la classe
in UIKit
• Media Player framework
• AV Foundation framework
• Core Media
134. Agenda
• Panoramica sui dispositivi
• Cenni sull'architettura del sistema
135. Agenda
• Panoramica sui dispositivi
• Cenni sull'architettura del sistema
• Gli strumenti e la tecnologia Apple
136. Agenda
• Panoramica sui dispositivi
• Cenni sull'architettura del sistema
• Gli strumenti e la tecnologia Apple
• I “Media” frameworks
137. Agenda
• Panoramica sui dispositivi
• Cenni sull'architettura del sistema
• Gli strumenti e la tecnologia Apple
• I “Media” frameworks
• Anatomia dell’app iOS
138. Agenda
• Panoramica sui dispositivi
• Cenni sull'architettura del sistema
• Gli strumenti e la tecnologia Apple
• I “Media” frameworks
• Anatomia dell’app iOS
• Third Party Frameworks