ݺߣ

ݺߣShare a Scribd company logo
Sviluppo applicativi
                               Flash Platform su
                               iOS e Android


  relatore: Luca Mezzalira
Wednesday, February 16, 2011
Flash Platform




Wednesday, February 16, 2011
Previsioni 2012




                               http://stocksandblogs.com

Wednesday, February 16, 2011
prima di iniziare...


                               Flash is   99% BAD!




Wednesday, February 16, 2011
Le tecnologie




                        web sites   applications


Wednesday, February 16, 2011
Flash on Mobile




Wednesday, February 16, 2011
iOS
 . dal 30 settembre 2010 è possibile sviluppare con
 Adobe AIR su iOS (iPad e iPhone)
 . NO FLASH PLAYER
 . Certificato da sviluppatore!



                                            Certificato


                   .air        ADT + LLVM      .ipa
Wednesday, February 16, 2011
Android




                               http://blog.distimo.com/


Wednesday, February 16, 2011
Android




                               +   +   +




Wednesday, February 16, 2011
diamo i numeri...
 . 84 milioni di smartphone e tablet con iOS e
 Android su cui sviluppare con Adobe AIR
 . oltre 20 milioni di smartphone su cui si potrà
 scaricare Flash Player 10.1
 . oltre 50 tablet supporteranno Flash Player e Adobe
 AIR


 maggiori informazioni: http://blogs.adobe.com/
 flashplatform/2011/02/flash-and-air-soars-
Wednesday, February 16, 2011
Tool di sviluppo




                               Android                 Android
                               Playbook                  iOS
                                 Palm                 Flash Lite

                                   http://labs.adobe.com/
Wednesday, February 16, 2011
Flash mobile




Wednesday, February 16, 2011
Flex HERO
 . Flex framework ottimizzato per mobile dalla
 versione 4.1 e superiori
 . Integrazione di alcuni componenti dedicati quali:
                               . View
                               . Navigator
                               . ActionBar
 . Facilita lo sviluppo dell’applicativo rispetto a Flash
 . Gira attualmente su Android e Playbook
 . Tour de Flex mobile

Wednesday, February 16, 2011
AIR mobile
 . AIR mobile dalla 2.5 e superiori
 . API specifiche per il mondo mobile:
       - screen dimming
       - camera (modalità video e immagini)
       - camera roll
       - SMS & Phone call
       - accelerometro
       - GPS
       - SQLite
       - multitouch gesture
       - native process
Wednesday, February 16, 2011
08/10/10




Wednesday, February 16, 2011
Tips & Tricks




Wednesday, February 16, 2011
Workflow mobile application
 1. Selezionate i device di riferimento per il progetto

 2. Create una GUI con un’interazione simile a quella
 delle applicazioni native

 3. Create dei mini prototipi delle main features del
 progetto

 4. Studiate un’architettura consona al progetto

 5. TESTATING TESTING TESTING
Wednesday, February 16, 2011
Progettazione UI




Wednesday, February 16, 2011
Vector vs Bitmap




Wednesday, February 16, 2011
UI tips & tricks
 . Evitare i contorni, forme vettoriali lunghe e strette
 . A volte è meglio una Bitmap
 . Progettate sia in Landscape che in Portrait mode
 . Max grandezza oggetti 4096x4096
 . Moderare font embedding
 . A volte è meglio una Bitmap
 . Testi descrittivi con font presenti nel dispositivo
 . Non utilizzare MAI il TLF!
 . un dito è diverso dal puntatore del mouse!
Wednesday, February 16, 2011
Garbage Collector
                               Mark & Sweep




           unloadAndStop(), null, delete, weak references


Wednesday, February 16, 2011
GPU vs CPU
 . Possiamo scegliere la modalità di rendering dei
 nostri DisplayObject (movieclip, sprite...) se
 attraverso la GPU o la CPU


 . iOS > GPU Blend (CPU crea, GPU renderizza)
 . Android > GPU Vector (GPU crea e renderizza)


 . In esportazione possiamo scegliere se utilizzare la
 GPU, CPU o lasciare al sistema la decisione


Wednesday, February 16, 2011
CPU vs GPU
 . Possiamo utilizzare la tecnica del BIT Blit con:

 CacheAsBitmapMatrix
 . alpha . ridimensionamento . distorsione
 . rotazione

 CacheAsBitmap
 . movimenti in x . movimenti in y . tween



Wednesday, February 16, 2011
Code Technique
 . Object Pooling
 . Rimuovere i listeners
 . Mettere a null gli oggetti
 . Framerate tra 20 / 24 fps
 . Non abusare delle gesture
 . Enterframe è più performante del Timer
 . Vector anzichè Array
 . StageQuality e Dynamic framerate



Wednesday, February 16, 2011
Da evitare...
 . Inserire oggetti fuori dallo stage
 . Inserire filtri su oggetti quando si renderizza su GPU
 . Ricreare oggetti cachati in GPU




Wednesday, February 16, 2011
Architettura software




   http://en.wikipedia.org/wiki/Model_View_ViewModel
Wednesday, February 16, 2011
Porting




Wednesday, February 16, 2011
Porting
 . Lavorare con i vettori anzichè bitmap

 . Disaccoppiamento delle caratteristiche di
 piattaforma

 . Studiate una GUI per le varie risoluzioni

 . Scegliete la tecnologia più adeguata




Wednesday, February 16, 2011
Risorse
 . tv.adobe.com

 . opensource.adobe.com

 . adobe.com/devnet

 . labs.adobe.com

 . lynda.com




Wednesday, February 16, 2011
Libri




Wednesday, February 16, 2011
Domande e risposte



  twitter: lucamezzalira
  email: luca@mart3.org
  blog: lucamezzalira.com

Wednesday, February 16, 2011

More Related Content

Sviluppo di contenuti Flash Platform su iOS e Android

  • 1. Sviluppo applicativi Flash Platform su iOS e Android relatore: Luca Mezzalira Wednesday, February 16, 2011
  • 3. Previsioni 2012 http://stocksandblogs.com Wednesday, February 16, 2011
  • 4. prima di iniziare... Flash is 99% BAD! Wednesday, February 16, 2011
  • 5. Le tecnologie web sites applications Wednesday, February 16, 2011
  • 6. Flash on Mobile Wednesday, February 16, 2011
  • 7. iOS . dal 30 settembre 2010 è possibile sviluppare con Adobe AIR su iOS (iPad e iPhone) . NO FLASH PLAYER . Certificato da sviluppatore! Certificato .air ADT + LLVM .ipa Wednesday, February 16, 2011
  • 8. Android http://blog.distimo.com/ Wednesday, February 16, 2011
  • 9. Android + + + Wednesday, February 16, 2011
  • 10. diamo i numeri... . 84 milioni di smartphone e tablet con iOS e Android su cui sviluppare con Adobe AIR . oltre 20 milioni di smartphone su cui si potrà scaricare Flash Player 10.1 . oltre 50 tablet supporteranno Flash Player e Adobe AIR maggiori informazioni: http://blogs.adobe.com/ flashplatform/2011/02/flash-and-air-soars- Wednesday, February 16, 2011
  • 11. Tool di sviluppo Android Android Playbook iOS Palm Flash Lite http://labs.adobe.com/ Wednesday, February 16, 2011
  • 13. Flex HERO . Flex framework ottimizzato per mobile dalla versione 4.1 e superiori . Integrazione di alcuni componenti dedicati quali: . View . Navigator . ActionBar . Facilita lo sviluppo dell’applicativo rispetto a Flash . Gira attualmente su Android e Playbook . Tour de Flex mobile Wednesday, February 16, 2011
  • 14. AIR mobile . AIR mobile dalla 2.5 e superiori . API specifiche per il mondo mobile: - screen dimming - camera (modalità video e immagini) - camera roll - SMS & Phone call - accelerometro - GPS - SQLite - multitouch gesture - native process Wednesday, February 16, 2011
  • 16. Tips & Tricks Wednesday, February 16, 2011
  • 17. Workflow mobile application 1. Selezionate i device di riferimento per il progetto 2. Create una GUI con un’interazione simile a quella delle applicazioni native 3. Create dei mini prototipi delle main features del progetto 4. Studiate un’architettura consona al progetto 5. TESTATING TESTING TESTING Wednesday, February 16, 2011
  • 19. Vector vs Bitmap Wednesday, February 16, 2011
  • 20. UI tips & tricks . Evitare i contorni, forme vettoriali lunghe e strette . A volte è meglio una Bitmap . Progettate sia in Landscape che in Portrait mode . Max grandezza oggetti 4096x4096 . Moderare font embedding . A volte è meglio una Bitmap . Testi descrittivi con font presenti nel dispositivo . Non utilizzare MAI il TLF! . un dito è diverso dal puntatore del mouse! Wednesday, February 16, 2011
  • 21. Garbage Collector Mark & Sweep unloadAndStop(), null, delete, weak references Wednesday, February 16, 2011
  • 22. GPU vs CPU . Possiamo scegliere la modalità di rendering dei nostri DisplayObject (movieclip, sprite...) se attraverso la GPU o la CPU . iOS > GPU Blend (CPU crea, GPU renderizza) . Android > GPU Vector (GPU crea e renderizza) . In esportazione possiamo scegliere se utilizzare la GPU, CPU o lasciare al sistema la decisione Wednesday, February 16, 2011
  • 23. CPU vs GPU . Possiamo utilizzare la tecnica del BIT Blit con: CacheAsBitmapMatrix . alpha . ridimensionamento . distorsione . rotazione CacheAsBitmap . movimenti in x . movimenti in y . tween Wednesday, February 16, 2011
  • 24. Code Technique . Object Pooling . Rimuovere i listeners . Mettere a null gli oggetti . Framerate tra 20 / 24 fps . Non abusare delle gesture . Enterframe è più performante del Timer . Vector anzichè Array . StageQuality e Dynamic framerate Wednesday, February 16, 2011
  • 25. Da evitare... . Inserire oggetti fuori dallo stage . Inserire filtri su oggetti quando si renderizza su GPU . Ricreare oggetti cachati in GPU Wednesday, February 16, 2011
  • 26. Architettura software http://en.wikipedia.org/wiki/Model_View_ViewModel Wednesday, February 16, 2011
  • 28. Porting . Lavorare con i vettori anzichè bitmap . Disaccoppiamento delle caratteristiche di piattaforma . Studiate una GUI per le varie risoluzioni . Scegliete la tecnologia più adeguata Wednesday, February 16, 2011
  • 29. Risorse . tv.adobe.com . opensource.adobe.com . adobe.com/devnet . labs.adobe.com . lynda.com Wednesday, February 16, 2011
  • 31. Domande e risposte twitter: lucamezzalira email: luca@mart3.org blog: lucamezzalira.com Wednesday, February 16, 2011