際際滷

際際滷Share a Scribd company logo
Relatore: Luca Mezzalira




   Android Development
   with Flash Platform
Monday, October 11, 2010
Luca Mezzalira




                           2
Monday, October 11, 2010
Disclaimer

   Tutte le informazioni presenti in questo
   seminario possono essere modi鍖cate in fase
   di rilascio da parte di Adobe.


   I pensieri, parole e opere espresse durante
   questo seminario son punti di vista personali
   maturati durante lo sviluppo su Android
                                                   3
Monday, October 11, 2010
Agenda

   . Overview Flash Platform
   . Flash Platform & Android
   . Tips & tricks (UI & Dev)
   . TG24
   . Risorse online & of鍖ine
   . Domande & risposte
                                4
Monday, October 11, 2010
un po di statistiche...




                           5
Monday, October 11, 2010
un po di statistiche...




                           6
Monday, October 11, 2010
un po di statistiche...




                           http://stocksandblogs.com
                                                       7
Monday, October 11, 2010
Cos竪 la Flash Platform

   E linsieme di tecnologie che utilizzano il 鍖ash
   player in tutte le sue declinazioni.


          Flex             Flash         AIR       Flash Lite
                 Flash Media Server          Flash Catalyst
                                   .......

                                                                8
Monday, October 11, 2010
Flash Platform




                           9
Monday, October 11, 2010
Apps & Mobile sites




                           10
Monday, October 11, 2010
Flash Player 10.1 ed AIR 2




                             11
Monday, October 11, 2010
Flash Player on Mobile




                           12
Monday, October 11, 2010
Concetti base di Flash




                           13
Monday, October 11, 2010
Actionscript
   Actionscript 竪 il linguaggio di
   programmazione che si utilizza per interagire
   con gli elementi presenti sullo stage di un
   鍖lmato Flash.


   Esistono molti software che ci aiutano a
   scrivere Actionscript per i nostri prodotti
   Flash
                                                   14
Monday, October 11, 2010
Actionscript
    . Actionscript 1 che viene utilizzato in Flash
    Lite 1.1 e 鍖no a Flash 4/5
    . Actionscript 2 che viene utilizzato Flash Lite
    2.x e 3.x e 鍖no alla ultima versione, ovvero
    quello attuale la 10
    . Actionscript 3 che viene utilizzato su Flex,
    AIR e dal Flash Player 9 in poi.

                                                     15
Monday, October 11, 2010
Key Concept
    . Async operations
    . Mono-thread
    . Vector based
    . DisplayList
    . OOP & micro-architecture
    . XML, JSON, WebService, AMF...
    . No direct connection to database (online)
                                                  16
Monday, October 11, 2010
AIR Adobe Integrated




                           17
Monday, October 11, 2010
AIR Adobe Integrated
    AIR 竪 un cross-operating system runtime...


    Pu嘆 essere installato su Mac OS X 10.4.8 e
    superiori (intel e PPC) e Windows XP, Win
    7 e Vista, Linux (Ubuntu e Fedora) e...
    ANDROID 2.2


                                                 18
Monday, October 11, 2010
AIR Adobe Integrated
    AIR permette di utilizzare le seguenti
    tecnologie:
    . Actionscript / MXML
    . HTML / JS / CSS / AJAX
    . PDF



                                             19
Monday, October 11, 2010
Desktop VS RIA




                           20
Monday, October 11, 2010
AIR Adobe Integrated
   Perch竪 AIR 竪 cos狸 interessante:


   . cross-platform
   . IDE di lavoro familiari
   . facilit di porting
   . rapid prototyping

                                     21
Monday, October 11, 2010
AIR Adobe Integrated
   . interazione tra tecnologie che 鍖no ad oggi
   hanno avuto una vita propria (o quasi)
   . delivery dellapplicazione semplice
   . facilit di installazione e aggiornamento



UN FUTURO DECISAMENTE INTERESSANTE
                                                  22
Monday, October 11, 2010
AIR features
            Finestre personalizzate
           FileSystem
           Clipboard
           SQLite database
           Native Drag & Drop
            HTML control
                                      23
Monday, October 11, 2010
AIR features
            URLMonitor
           Native Window
           Updater framework
           Native Process
           Microphone raw data
          Socket server
                                 24
Monday, October 11, 2010
AIR features
            Lanciare altri applicativi installati
           Screen reader
           Multitouch API
           Lettura dispositivi di massa USB
           Global error handler


                                                    25
Monday, October 11, 2010
AIR features on Android
            GPS
           Accelerometro
           Camera Roll
           Camera UI
           StageWebView
           SMS & Phone call
           Screen Dimming     26
Monday, October 11, 2010
Esportazione diretta




                           27
Monday, October 11, 2010
08 October 2010




                           28
Monday, October 11, 2010
CameraUI & CameraRoll




                           29
Monday, October 11, 2010
Progettazione UI




                           30
Monday, October 11, 2010
Vector vs Bitmap




                           31
Monday, October 11, 2010
UI tips & tricks
   . Evitare i contorni, forme vettoriali lunghe e
   strette, angoli squadrati, troppe linee e
   troppi dettagli in vettori
   . A volte 竪 meglio una Bitmap
   . Progettate sia in Landscape che in Portrait
   mode
   . Max grandezza oggetti 4096x4096

                                                     32
Monday, October 11, 2010
Working with textfield
   . Moderare font embedding
   . A volte 竪 meglio una Bitmap
   . Testi descrittivi con font presenti nel
   dispositivo
   . Non utilizzare MAI il TLF!



                                               33
Monday, October 11, 2010
Skeleton component




                           34
Monday, October 11, 2010
Best Practices & Optimization




                                35
Monday, October 11, 2010
Garbage Collector

                                MARK & SWEEP




                           unloadAndStop(), null, delete
                                                           36
Monday, October 11, 2010
Android Manifest




                           37
Monday, October 11, 2010
GPU vs CPU




                           38
Monday, October 11, 2010
GPU vs CPU
   CacheAsBitmap
   . movimenti in x . movimenti in y . tween


  CacheAsBitmapMatrix
  . alpha . ridimensionamento . distorsione
  . rotazione
                                               39
Monday, October 11, 2010
Performance is good!




                           40
Monday, October 11, 2010
Media suggestions
   File audio: AAC & MP3
   Video: FLV & F4V


   E possibile fruire video in download
   progressivo e in streaming



                                           41
Monday, October 11, 2010
Multiple screen content
   . Coordinate relative
   . Tradeoff tra vettori e bitmap
   . Disaccoppiamento delle caratteristiche di
   piattaforma


   . Attenzione alle architetture software!

                                                 42
Monday, October 11, 2010
Object Pooling




                           43
Monday, October 11, 2010
AS3 optimization
   . GPU mode con i video
   . Rimuovere i listeners
   . Mettere a null gli oggetti
   . Framerate tra 20/24 fps
   . Non abusare delle Gesture
   . hasPriority = true; (solo su Flash Player 10.1)
   . EnterFrame invece che il Timer
                                                  44
Monday, October 11, 2010
AS3 optimization
   . Vector al posto degli Array
   . StageQuality e Dynamic framerate
   . Consapevolezza dello stack
   . No CPU compound




                                        45
Monday, October 11, 2010
Warning! You must avoid...
   . Inserire oggetti fuori dallo stage di lavoro
   . Inserire 鍖ltri su oggetti quando si
   renderizza con GPU
   . Ridisegnare oggetti in GPU mode




                                                    46
Monday, October 11, 2010
Natural Porting




                           47
Monday, October 11, 2010
Dialogo realtime tra device




                              48
Monday, October 11, 2010
Testing




                           49
Monday, October 11, 2010
My 2 cents
                     Progettate (UI & Code)

                     Modularizzate


                     Ottimizzate il codice

                     Testate
                                              50
Monday, October 11, 2010
startkit for developing on




                           +   +   +




                                       51
Monday, October 11, 2010
NEWS
                           52
Monday, October 11, 2010
53
Monday, October 11, 2010
54
Monday, October 11, 2010
Google TV




                           55
Monday, October 11, 2010
HTML 5 vs Flash Platform




                           56
Monday, October 11, 2010
57
Monday, October 11, 2010
58
Monday, October 11, 2010
Flash on Embedded

     Flash su embedded devices 竪 una realt


     Attualmente possiamo farlo girare su ARM 7,
     Intel Atom, SnapDragon...


     Esempi di hardware per il testing possono
     essere Tegra II, Motherboard ATOM...
                                                 59
Monday, October 11, 2010
Risorse online
  . adobe.com/devnet
  . tv.adobe.com
  . Adobe blog (feeds.adobe.com)




                                   60
Monday, October 11, 2010
Risorse offline




                           and more...   61
Monday, October 11, 2010
flashplatformgeeks.com




                           62
Monday, October 11, 2010
email: luca@mart3.org
                               twitter: lucamezzalira
                           blog: lucamezzalira.com
                               site: www.mart3.org
                                                    63
Monday, October 11, 2010

More Related Content

Android Development with Flash Platform

  • 1. Relatore: Luca Mezzalira Android Development with Flash Platform Monday, October 11, 2010
  • 2. Luca Mezzalira 2 Monday, October 11, 2010
  • 3. Disclaimer Tutte le informazioni presenti in questo seminario possono essere modi鍖cate in fase di rilascio da parte di Adobe. I pensieri, parole e opere espresse durante questo seminario son punti di vista personali maturati durante lo sviluppo su Android 3 Monday, October 11, 2010
  • 4. Agenda . Overview Flash Platform . Flash Platform & Android . Tips & tricks (UI & Dev) . TG24 . Risorse online & of鍖ine . Domande & risposte 4 Monday, October 11, 2010
  • 5. un po di statistiche... 5 Monday, October 11, 2010
  • 6. un po di statistiche... 6 Monday, October 11, 2010
  • 7. un po di statistiche... http://stocksandblogs.com 7 Monday, October 11, 2010
  • 8. Cos竪 la Flash Platform E linsieme di tecnologie che utilizzano il 鍖ash player in tutte le sue declinazioni. Flex Flash AIR Flash Lite Flash Media Server Flash Catalyst ....... 8 Monday, October 11, 2010
  • 9. Flash Platform 9 Monday, October 11, 2010
  • 10. Apps & Mobile sites 10 Monday, October 11, 2010
  • 11. Flash Player 10.1 ed AIR 2 11 Monday, October 11, 2010
  • 12. Flash Player on Mobile 12 Monday, October 11, 2010
  • 13. Concetti base di Flash 13 Monday, October 11, 2010
  • 14. Actionscript Actionscript 竪 il linguaggio di programmazione che si utilizza per interagire con gli elementi presenti sullo stage di un 鍖lmato Flash. Esistono molti software che ci aiutano a scrivere Actionscript per i nostri prodotti Flash 14 Monday, October 11, 2010
  • 15. Actionscript . Actionscript 1 che viene utilizzato in Flash Lite 1.1 e 鍖no a Flash 4/5 . Actionscript 2 che viene utilizzato Flash Lite 2.x e 3.x e 鍖no alla ultima versione, ovvero quello attuale la 10 . Actionscript 3 che viene utilizzato su Flex, AIR e dal Flash Player 9 in poi. 15 Monday, October 11, 2010
  • 16. Key Concept . Async operations . Mono-thread . Vector based . DisplayList . OOP & micro-architecture . XML, JSON, WebService, AMF... . No direct connection to database (online) 16 Monday, October 11, 2010
  • 17. AIR Adobe Integrated 17 Monday, October 11, 2010
  • 18. AIR Adobe Integrated AIR 竪 un cross-operating system runtime... Pu嘆 essere installato su Mac OS X 10.4.8 e superiori (intel e PPC) e Windows XP, Win 7 e Vista, Linux (Ubuntu e Fedora) e... ANDROID 2.2 18 Monday, October 11, 2010
  • 19. AIR Adobe Integrated AIR permette di utilizzare le seguenti tecnologie: . Actionscript / MXML . HTML / JS / CSS / AJAX . PDF 19 Monday, October 11, 2010
  • 20. Desktop VS RIA 20 Monday, October 11, 2010
  • 21. AIR Adobe Integrated Perch竪 AIR 竪 cos狸 interessante: . cross-platform . IDE di lavoro familiari . facilit di porting . rapid prototyping 21 Monday, October 11, 2010
  • 22. AIR Adobe Integrated . interazione tra tecnologie che 鍖no ad oggi hanno avuto una vita propria (o quasi) . delivery dellapplicazione semplice . facilit di installazione e aggiornamento UN FUTURO DECISAMENTE INTERESSANTE 22 Monday, October 11, 2010
  • 23. AIR features Finestre personalizzate FileSystem Clipboard SQLite database Native Drag & Drop HTML control 23 Monday, October 11, 2010
  • 24. AIR features URLMonitor Native Window Updater framework Native Process Microphone raw data Socket server 24 Monday, October 11, 2010
  • 25. AIR features Lanciare altri applicativi installati Screen reader Multitouch API Lettura dispositivi di massa USB Global error handler 25 Monday, October 11, 2010
  • 26. AIR features on Android GPS Accelerometro Camera Roll Camera UI StageWebView SMS & Phone call Screen Dimming 26 Monday, October 11, 2010
  • 27. Esportazione diretta 27 Monday, October 11, 2010
  • 28. 08 October 2010 28 Monday, October 11, 2010
  • 29. CameraUI & CameraRoll 29 Monday, October 11, 2010
  • 30. Progettazione UI 30 Monday, October 11, 2010
  • 31. Vector vs Bitmap 31 Monday, October 11, 2010
  • 32. UI tips & tricks . Evitare i contorni, forme vettoriali lunghe e strette, angoli squadrati, troppe linee e troppi dettagli in vettori . A volte 竪 meglio una Bitmap . Progettate sia in Landscape che in Portrait mode . Max grandezza oggetti 4096x4096 32 Monday, October 11, 2010
  • 33. Working with textfield . Moderare font embedding . A volte 竪 meglio una Bitmap . Testi descrittivi con font presenti nel dispositivo . Non utilizzare MAI il TLF! 33 Monday, October 11, 2010
  • 34. Skeleton component 34 Monday, October 11, 2010
  • 35. Best Practices & Optimization 35 Monday, October 11, 2010
  • 36. Garbage Collector MARK & SWEEP unloadAndStop(), null, delete 36 Monday, October 11, 2010
  • 37. Android Manifest 37 Monday, October 11, 2010
  • 38. GPU vs CPU 38 Monday, October 11, 2010
  • 39. GPU vs CPU CacheAsBitmap . movimenti in x . movimenti in y . tween CacheAsBitmapMatrix . alpha . ridimensionamento . distorsione . rotazione 39 Monday, October 11, 2010
  • 40. Performance is good! 40 Monday, October 11, 2010
  • 41. Media suggestions File audio: AAC & MP3 Video: FLV & F4V E possibile fruire video in download progressivo e in streaming 41 Monday, October 11, 2010
  • 42. Multiple screen content . Coordinate relative . Tradeoff tra vettori e bitmap . Disaccoppiamento delle caratteristiche di piattaforma . Attenzione alle architetture software! 42 Monday, October 11, 2010
  • 43. Object Pooling 43 Monday, October 11, 2010
  • 44. AS3 optimization . GPU mode con i video . Rimuovere i listeners . Mettere a null gli oggetti . Framerate tra 20/24 fps . Non abusare delle Gesture . hasPriority = true; (solo su Flash Player 10.1) . EnterFrame invece che il Timer 44 Monday, October 11, 2010
  • 45. AS3 optimization . Vector al posto degli Array . StageQuality e Dynamic framerate . Consapevolezza dello stack . No CPU compound 45 Monday, October 11, 2010
  • 46. Warning! You must avoid... . Inserire oggetti fuori dallo stage di lavoro . Inserire 鍖ltri su oggetti quando si renderizza con GPU . Ridisegnare oggetti in GPU mode 46 Monday, October 11, 2010
  • 47. Natural Porting 47 Monday, October 11, 2010
  • 48. Dialogo realtime tra device 48 Monday, October 11, 2010
  • 49. Testing 49 Monday, October 11, 2010
  • 50. My 2 cents Progettate (UI & Code) Modularizzate Ottimizzate il codice Testate 50 Monday, October 11, 2010
  • 51. startkit for developing on + + + 51 Monday, October 11, 2010
  • 52. NEWS 52 Monday, October 11, 2010
  • 55. Google TV 55 Monday, October 11, 2010
  • 56. HTML 5 vs Flash Platform 56 Monday, October 11, 2010
  • 59. Flash on Embedded Flash su embedded devices 竪 una realt Attualmente possiamo farlo girare su ARM 7, Intel Atom, SnapDragon... Esempi di hardware per il testing possono essere Tegra II, Motherboard ATOM... 59 Monday, October 11, 2010
  • 60. Risorse online . adobe.com/devnet . tv.adobe.com . Adobe blog (feeds.adobe.com) 60 Monday, October 11, 2010
  • 61. Risorse offline and more... 61 Monday, October 11, 2010
  • 62. flashplatformgeeks.com 62 Monday, October 11, 2010
  • 63. email: luca@mart3.org twitter: lucamezzalira blog: lucamezzalira.com site: www.mart3.org 63 Monday, October 11, 2010