SlideShare a Scribd company logo
Non solo cartoon
         l’animazione nei new media, videogames, apps




Future Film Festival Bologna 20-23, Aprile 2011
Djukic Goran
iPhone
350 000
  Apps
iPad
80 000
 Apps
10 000 000 000
  Downloads
Agenda
Agenda
•   Panoramica sui dispositivi
Agenda
•   Panoramica sui dispositivi

•   Cenni sull'architettura del sistema
Agenda
•   Panoramica sui dispositivi

•   Cenni sull'architettura del sistema

•   Gli strumenti e la tecnologia Apple
Agenda
•   Panoramica sui dispositivi

•   Cenni sull'architettura del sistema

•   Gli strumenti e la tecnologia Apple

•   I “Media” frameworks
Agenda
•   Panoramica sui dispositivi

•   Cenni sull'architettura del sistema

•   Gli strumenti e la tecnologia Apple

•   I “Media” frameworks

•   Anatomia dell’app iOS
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
I dispositivi iOS
!"#$%&'#$"()$*+,#-"./$,(0/".)
  !"#$%&'()%*+),-./$0*./$*1,0%*&%2%)/+0%"-
     !"#$%&'()%*+),-./$0*./$*1,0%*&%2%)/+0%"-




                                                       !




Conoscere “iDispositivi”
                                                           !
Portrait          Landscape

  iPhone 4      640 * 960 pixel    960 * 640 pixel

    iPad        768 * 1024 pixel   1024 * 768 pixel

iPhone 3, 3GS
                320 * 480 pixel    480 * 320 pixel
  iPod Touch
I dispositivi iOS
L’architettura del
     sistema
Cocoa Touch



       Graphics & Media



        Core Services



          Core OS



Architettura a strati iOS
Cocoa



          Graphics & Media



           Core Services



             Core OS



Architettura a strati Mac OS X
Cocoa Touch



       Graphics & Media



        Core Services



          Core OS



Architettura a strati iOS
Cocoa Touch



       Graphics & Media



        Core Services



          Core OS



Architettura a strati iOS
Cocoa Touch



       Graphics & Media



        Core Services



          Core OS



Architettura a strati iOS
Graphics & Media
•   Core Audio        •   JPEG, PNG, TIFF

•   OpenAL            •   PDF

•   Audio Mixing      •   Quartz (2D)

•   Audio Recording   •   Core Animation

•   Video Playback    •   OpenGL ES
Cocoa Touch



       Graphics & Media



        Core Services



          Core OS



Architettura a strati iOS
Cocoa Touch



       Graphics & Media



        Core Services



          Core OS



Architettura a strati iOS
Cocoa Touch
•   Multi-Touch      •   Alerts

•   Controls         •   Web View

•   Accelerometer    •   Map Kit

•   View Hierarchy   •   Image Picker

•   Localization     •   Camera
L’architettura del
     sistema
Gli strumenti e la
tecnologia Apple
Gli Strumenti

      Xcode         Interface Builder      Instruments
Codice             Interfaccia utente   Profiling
Debugging          Outlets              Prestazioni
Documentazione     Actions              Ottimizzazioni
Gli Strumenti

      Xcode         Interface Builder      Instruments
Codice             Interfaccia utente   Profiling
Debugging          Outlets              Prestazioni
Documentazione     Actions              Ottimizzazioni
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.
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.
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
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
Gli strumenti e la
tecnologia Apple
I “Media” frameworks
UIView

in iOS, tutte le operazioni di disegno avvengono
entro i confini di un oggetto UIView




                         UIView
                        320x460
UIView
UIView
• Una classe Objective-C
UIView
• Una classe Objective-C
• Rappresenta un’area rettangolare sullo schermo
UIView
• Una classe Objective-C
• Rappresenta un’area rettangolare sullo schermo
• Il suo compito è di disegnare i contenuti e gestire
   gli eventi ricevuti
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
Frameworks & Technologies


  iOS mette a disposizione diversi framework per la
       creazione di grafica e per l’animazione
Frameworks & Technologies
Frameworks & Technologies

  • UIKit
Frameworks & Technologies

  • UIKit
  • CoreGraphics (Quartz 2D)
Frameworks & Technologies

  • UIKit
  • CoreGraphics (Quartz 2D)
  • Core Animation
Frameworks & Technologies

  • UIKit
  • CoreGraphics (Quartz 2D)
  • Core Animation
  • OpenGL|ES
UIKit
UIKit




        !"
UIKit

• Gli elementi dell’interfaccia utente di
  un’applicazione iOS
• I metodi per gestire, disegnare ed animare
  l’interfaccia utente
UIKit

• Built-in controls
 • Abbiamo una vasta libreria di controlli
    pronti per l’uso che possono essere
    aggiunti dall’Interface Builder
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
UIKit

• Le viste create “from scratch”
 • Possiamo creare delle viste specifiche alla
    nostra applicazione sottoclassando la
    classe UIView
UIKit
Core Graphics
Core Graphics
Core Graphics
•   Il principale motore per il disegno in due dimensioni
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.
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
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
Core Graphics
Core Animation
Core Animation
Core Animation
Core Animation


Animazione è un’importante parte dell’interfaccia
     utente su tutte le piattaforme Apple
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
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
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
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
Core Animation


Il tempo per completare
l’animazione
Core Animation


          I frames necessari per
       avere un’animazione liscia
Core Animation
Core Animation
• Un insieme di funzionalità e di classi
  Objective-C che rende semplice il compito
  di animare l’interfaccia utente
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
Core Animation
OpenGL|ES
OpenGL|ES
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/
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/
OpenGL|ES
OpenGL|ES

• C-based, Piattaforma-Neutrale API
OpenGL|ES

• C-based, Piattaforma-Neutrale API
• Integrata nel Core Animation
OpenGL|ES

• C-based, Piattaforma-Neutrale API
• Integrata nel Core Animation
• OpenGL ES 1.1 e OpenGL ES 2.0
Frameworks & Technologies

  • UIKit
  • CoreGraphics (Quartz 2D)
  • Core Animation
  • OpenGL|ES
Tecnologie Audio

iOS fornisce diverse tecnologie per la riproduzione o la
             creazione dei contenuti audio
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
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
Tecnologie Audio

iOS fornisce diverse tecnologie per la riproduzione o la
             creazione dei contenuti audio
Tecnologie Video

 iOS fornisce diverse tecnologie per la riproduzione o la
             *creazione dei contenuti video




* sui dispositivi che sono in possesso del hardware necessario
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
Video

•   UIImagePickerController la classe
    in UIKit

• Media Player framework
• AV Foundation framework
• Core Media
I “Media” frameworks
Design di applicazioni
      per iOS
Design


Scegliere sempre il livello di astrazione adatto al
        problema che vogliamo risolvere
Interazione

 La manipolazione diretta
Interazione

                             L’esperienza immersiva

                           *“Through a Looking Glass”




* Attraverso lo Specchio
I libri interattivi


Poter leggere, guardare ed ascoltare un racconto
I libri interattivi
I libri interattivi
• Gli eBook “enhanced”
I libri interattivi
• Gli eBook “enhanced”
• I libri scolastici
I libri interattivi
• Gli eBook “enhanced”
• I libri scolastici
• I libri educativi
I libri interattivi
• Gli eBook “enhanced”
• I libri scolastici
• I libri educativi
• I Game Books
I libri interattivi
• Gli eBook “enhanced”
• I libri scolastici
• I libri educativi
• I Game Books
• I fumetti
I libri interattivi
• Gli eBook “enhanced”
• I libri scolastici
• I libri educativi
• I Game Books
• I fumetti
• Le riviste digitali
I giochi...
I giochi...

• Educativi
I giochi...

• Educativi
• Sociali
I giochi...

• Educativi
• Sociali
• Azione
I giochi...

• Educativi
• Sociali
• Azione
• Di ruolo
I giochi...

• Educativi
• Sociali
• Azione
• Di ruolo
• Simulazioni
...e non solo
...e non solo

• Biologia
...e non solo

• Biologia
• Chimica
...e non solo

• Biologia
• Chimica
• Fisica
...e non solo

• Biologia
• Chimica
• Fisica
• Architettura
...e non solo

• Biologia
• Chimica
• Fisica
• Architettura
• Medicina
Design di applicazioni
      per iOS
Third Party Game
     Engines
Unity 3D
Unity 3D


• http://unity3d.com/
Unreal Development
    Kit per iOS
Unreal Development
     Kit per iOS


• http://www.unrealengine.com/
Airplay SDK
Airplay SDK


• http://www.airplaysdk.com/
Cocos 2D
Cocos 2D


• http://www.cocos2d-iphone.org/
Game Salad
Game Salad


• http://gamesalad.com
Agenda
Agenda
•   Panoramica sui dispositivi
Agenda
•   Panoramica sui dispositivi

•   Cenni sull'architettura del sistema
Agenda
•   Panoramica sui dispositivi

•   Cenni sull'architettura del sistema

•   Gli strumenti e la tecnologia Apple
Agenda
•   Panoramica sui dispositivi

•   Cenni sull'architettura del sistema

•   Gli strumenti e la tecnologia Apple

•   I “Media” frameworks
Agenda
•   Panoramica sui dispositivi

•   Cenni sull'architettura del sistema

•   Gli strumenti e la tecnologia Apple

•   I “Media” frameworks

•   Anatomia dell’app iOS
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
Grazie


Djukic Goran
goran@ifc.cnr.it

More Related Content

Viewers also liked

10 E-Learning Trends to watch in 2016
10 E-Learning Trends to watch in 201610 E-Learning Trends to watch in 2016
10 E-Learning Trends to watch in 2016
Aurion Learning
 
STEAL THIS PRESENTATION!
STEAL THIS PRESENTATION! STEAL THIS PRESENTATION!
STEAL THIS PRESENTATION!
Jesse Desjardins - @jessedee
 
Fight the Power(point)!
Fight the Power(point)!Fight the Power(point)!
Fight the Power(point)!
Todd Reubold
 
7 Tips to Beautiful PowerPoint by @itseugenec
7 Tips to Beautiful PowerPoint by @itseugenec7 Tips to Beautiful PowerPoint by @itseugenec
7 Tips to Beautiful PowerPoint by @itseugenec
Eugene Cheng
 
The Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureThe Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The Future
Arturo Pelayo
 
Can We Assess Creativity?
Can We Assess Creativity?Can We Assess Creativity?
Can We Assess Creativity?
John Spencer
 

Viewers also liked (6)

10 E-Learning Trends to watch in 2016
10 E-Learning Trends to watch in 201610 E-Learning Trends to watch in 2016
10 E-Learning Trends to watch in 2016
 
STEAL THIS PRESENTATION!
STEAL THIS PRESENTATION! STEAL THIS PRESENTATION!
STEAL THIS PRESENTATION!
 
Fight the Power(point)!
Fight the Power(point)!Fight the Power(point)!
Fight the Power(point)!
 
7 Tips to Beautiful PowerPoint by @itseugenec
7 Tips to Beautiful PowerPoint by @itseugenec7 Tips to Beautiful PowerPoint by @itseugenec
7 Tips to Beautiful PowerPoint by @itseugenec
 
The Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureThe Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The Future
 
Can We Assess Creativity?
Can We Assess Creativity?Can We Assess Creativity?
Can We Assess Creativity?
 

Similar to Non solo cartoon: l’animazione nei new media, videogames, apps

Sviluppare applicazioni android
Sviluppare applicazioni androidSviluppare applicazioni android
Sviluppare applicazioni android
Paolo Montalto
 
Lorenzo Bevilacqua - Sviluppo di un'applicazione iPhone per la localizzazione...
Lorenzo Bevilacqua - Sviluppo di un'applicazione iPhone per la localizzazione...Lorenzo Bevilacqua - Sviluppo di un'applicazione iPhone per la localizzazione...
Lorenzo Bevilacqua - Sviluppo di un'applicazione iPhone per la localizzazione...
Lorenzo Bevilacqua
 
Sviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto DigitaleSviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto Digitale
lostrettodigitale
 
Sviluppare app native per iOS
Sviluppare app native per iOSSviluppare app native per iOS
Sviluppare app native per iOS
Gaspare Novara
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net Leonardo Alario
 
FLSS: documento di design
FLSS: documento di designFLSS: documento di design
FLSS: documento di design
Sara M
 
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaDario Rusignuolo
 
iOS Programming
iOS ProgrammingiOS Programming
iOS Programming
Massimo Oliviero
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
DotNetMarche
 
La scelta di Plone per la comunicazione istituzionale dell'INAF
La scelta di Plone per la comunicazione istituzionale dell'INAFLa scelta di Plone per la comunicazione istituzionale dell'INAF
La scelta di Plone per la comunicazione istituzionale dell'INAF
Plone for Research and University
 
Touch&play framework
Touch&play frameworkTouch&play framework
Touch&play frameworkCSP Scarl
 
ORM - Introduzione
ORM - IntroduzioneORM - Introduzione
ORM - Introduzione
Alessandro Forte
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinFabio Cozzolino
 
Sistemi operativi proprietari
Sistemi operativi proprietariSistemi operativi proprietari
Sistemi operativi proprietari
Giadarossi
 
Gestione dell'illuminazione pubblica | 3DGIS luce
Gestione dell'illuminazione pubblica | 3DGIS luceGestione dell'illuminazione pubblica | 3DGIS luce
Gestione dell'illuminazione pubblica | 3DGIS luce
3DGIS
 
Curriculum Vitae Morello Orfeo
Curriculum Vitae   Morello OrfeoCurriculum Vitae   Morello Orfeo
Curriculum Vitae Morello Orfeo
Orfeo Morello
 
Un approccio integrato e open al service management: l'esperienza e le prospe...
Un approccio integrato e open al service management: l'esperienza e le prospe...Un approccio integrato e open al service management: l'esperienza e le prospe...
Un approccio integrato e open al service management: l'esperienza e le prospe...
CMDBuild org
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
Marco Loregian
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
Felice Pescatore
 

Similar to Non solo cartoon: l’animazione nei new media, videogames, apps (20)

Sviluppare applicazioni android
Sviluppare applicazioni androidSviluppare applicazioni android
Sviluppare applicazioni android
 
Lorenzo Bevilacqua - Sviluppo di un'applicazione iPhone per la localizzazione...
Lorenzo Bevilacqua - Sviluppo di un'applicazione iPhone per la localizzazione...Lorenzo Bevilacqua - Sviluppo di un'applicazione iPhone per la localizzazione...
Lorenzo Bevilacqua - Sviluppo di un'applicazione iPhone per la localizzazione...
 
Sviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto DigitaleSviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto Digitale
 
Sviluppare app native per iOS
Sviluppare app native per iOSSviluppare app native per iOS
Sviluppare app native per iOS
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net
 
FLSS: documento di design
FLSS: documento di designFLSS: documento di design
FLSS: documento di design
 
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - ita
 
iOS Programming
iOS ProgrammingiOS Programming
iOS Programming
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Slides marcosabatini
Slides marcosabatiniSlides marcosabatini
Slides marcosabatini
 
La scelta di Plone per la comunicazione istituzionale dell'INAF
La scelta di Plone per la comunicazione istituzionale dell'INAFLa scelta di Plone per la comunicazione istituzionale dell'INAF
La scelta di Plone per la comunicazione istituzionale dell'INAF
 
Touch&play framework
Touch&play frameworkTouch&play framework
Touch&play framework
 
ORM - Introduzione
ORM - IntroduzioneORM - Introduzione
ORM - Introduzione
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarin
 
Sistemi operativi proprietari
Sistemi operativi proprietariSistemi operativi proprietari
Sistemi operativi proprietari
 
Gestione dell'illuminazione pubblica | 3DGIS luce
Gestione dell'illuminazione pubblica | 3DGIS luceGestione dell'illuminazione pubblica | 3DGIS luce
Gestione dell'illuminazione pubblica | 3DGIS luce
 
Curriculum Vitae Morello Orfeo
Curriculum Vitae   Morello OrfeoCurriculum Vitae   Morello Orfeo
Curriculum Vitae Morello Orfeo
 
Un approccio integrato e open al service management: l'esperienza e le prospe...
Un approccio integrato e open al service management: l'esperienza e le prospe...Un approccio integrato e open al service management: l'esperienza e le prospe...
Un approccio integrato e open al service management: l'esperienza e le prospe...
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
 

Non solo cartoon: l’animazione nei new media, videogames, apps

  • 1. Non solo cartoon l’animazione nei new media, videogames, apps Future Film Festival Bologna 20-23, Aprile 2011 Djukic Goran
  • 2.
  • 4.
  • 6.
  • 7. 10 000 000 000 Downloads
  • 9. Agenda • Panoramica sui dispositivi
  • 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
  • 16. !"#$%&'#$"()$*+,#-"./$,(0/".) !"#$%&'()%*+),-./$0*./$*1,0%*&%2%)/+0%"- !"#$%&'()%*+),-./$0*./$*1,0%*&%2%)/+0%"- ! Conoscere “iDispositivi” !
  • 17. Portrait Landscape iPhone 4 640 * 960 pixel 960 * 640 pixel iPad 768 * 1024 pixel 1024 * 768 pixel iPhone 3, 3GS 320 * 480 pixel 480 * 320 pixel iPod Touch
  • 20. Cocoa Touch Graphics & Media Core Services Core OS Architettura a strati iOS
  • 21. Cocoa Graphics & Media Core Services Core OS Architettura a strati Mac OS X
  • 22. Cocoa Touch Graphics & Media Core Services Core OS Architettura a strati iOS
  • 23. Cocoa Touch Graphics & Media Core Services Core OS Architettura a strati iOS
  • 24. Cocoa Touch Graphics & Media Core Services Core OS Architettura a strati iOS
  • 25. Graphics & Media • Core Audio • JPEG, PNG, TIFF • OpenAL • PDF • Audio Mixing • Quartz (2D) • Audio Recording • Core Animation • Video Playback • OpenGL ES
  • 26. Cocoa Touch Graphics & Media Core Services Core OS Architettura a strati iOS
  • 27. Cocoa Touch Graphics & Media Core Services Core OS Architettura a strati iOS
  • 28. Cocoa Touch • Multi-Touch • Alerts • Controls • Web View • Accelerometer • Map Kit • View Hierarchy • Image Picker • Localization • Camera
  • 30. Gli strumenti e la tecnologia Apple
  • 31. Gli Strumenti Xcode Interface Builder Instruments Codice Interfaccia utente Profiling Debugging Outlets Prestazioni Documentazione Actions Ottimizzazioni
  • 32. Gli Strumenti Xcode Interface Builder Instruments Codice Interfaccia utente Profiling Debugging Outlets Prestazioni Documentazione Actions Ottimizzazioni
  • 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
  • 37. Gli strumenti e la tecnologia Apple
  • 39. UIView in iOS, tutte le operazioni di disegno avvengono entro i confini di un oggetto UIView UIView 320x460
  • 41. UIView • Una classe Objective-C
  • 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
  • 48. Frameworks & Technologies • UIKit • CoreGraphics (Quartz 2D)
  • 49. Frameworks & Technologies • UIKit • CoreGraphics (Quartz 2D) • Core Animation
  • 50. Frameworks & Technologies • UIKit • CoreGraphics (Quartz 2D) • Core Animation • OpenGL|ES
  • 51. UIKit
  • 52. UIKit !"
  • 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
  • 57. UIKit
  • 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
  • 68. Core Animation Animazione è un’importante parte dell’interfaccia utente su tutte le piattaforme Apple
  • 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
  • 73. Core Animation Il tempo per completare l’animazione
  • 74. Core Animation I frames necessari per avere un’animazione liscia
  • 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/
  • 85. OpenGL|ES • C-based, Piattaforma-Neutrale API • Integrata nel Core Animation
  • 86. OpenGL|ES • C-based, Piattaforma-Neutrale API • Integrata nel Core Animation • OpenGL ES 1.1 e OpenGL ES 2.0
  • 87. Frameworks & Technologies • UIKit • CoreGraphics (Quartz 2D) • Core Animation • OpenGL|ES
  • 88. Tecnologie Audio iOS fornisce diverse tecnologie per la riproduzione o la creazione dei contenuti audio
  • 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
  • 91. Tecnologie Audio iOS fornisce diverse tecnologie per la riproduzione o la creazione dei contenuti audio
  • 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
  • 97. Design Scegliere sempre il livello di astrazione adatto al problema che vogliamo risolvere
  • 99. Interazione L’esperienza immersiva *“Through a Looking Glass” * Attraverso lo Specchio
  • 100. I libri interattivi Poter leggere, guardare ed ascoltare un racconto
  • 102. I libri interattivi • Gli eBook “enhanced”
  • 103. I libri interattivi • Gli eBook “enhanced” • I libri scolastici
  • 104. I libri interattivi • Gli eBook “enhanced” • I libri scolastici • I libri educativi
  • 105. I libri interattivi • Gli eBook “enhanced” • I libri scolastici • I libri educativi • I Game Books
  • 106. I libri interattivi • Gli eBook “enhanced” • I libri scolastici • I libri educativi • I Game Books • I fumetti
  • 107. I libri interattivi • Gli eBook “enhanced” • I libri scolastici • I libri educativi • I Game Books • I fumetti • Le riviste digitali
  • 111. I giochi... • Educativi • Sociali • Azione
  • 112. I giochi... • Educativi • Sociali • Azione • Di ruolo
  • 113. I giochi... • Educativi • Sociali • Azione • Di ruolo • Simulazioni
  • 115. ...e non solo • Biologia
  • 116. ...e non solo • Biologia • Chimica
  • 117. ...e non solo • Biologia • Chimica • Fisica
  • 118. ...e non solo • Biologia • Chimica • Fisica • Architettura
  • 119. ...e non solo • Biologia • Chimica • Fisica • Architettura • Medicina
  • 121. Third Party Game Engines
  • 124. Unreal Development Kit per iOS
  • 125. Unreal Development Kit per iOS • http://www.unrealengine.com/
  • 132. Agenda
  • 133. Agenda • Panoramica sui dispositivi
  • 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

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n