android development with flash platform
DESCRIPTION
This is my presentation made in a JUG meeting about my experience on Android development with Flash Platform.If you want an English version feel free to contact meTRANSCRIPT
Android Development with Flash Platform
Relatore: Luca Mezzalira
Monday, October 11, 2010
2
Luca Mezzalira
Monday, October 11, 2010
3
Disclaimer
Tutte le informazioni presenti in questo seminario possono essere modificate 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
Monday, October 11, 2010
4
Agenda
. Overview Flash Platform
. Flash Platform & Android
. Tips & tricks (UI & Dev)
. TG24
. Risorse online & offline
. Domande & risposte
Monday, October 11, 2010
un po di statistiche...
5Monday, October 11, 2010
un po di statistiche...
6Monday, October 11, 2010
un po di statistiche...
7
http://stocksandblogs.com
Monday, October 11, 2010
8
Cos’è la Flash Platform
E’ l’insieme di tecnologie che utilizzano il flash player in tutte le sue declinazioni.
Flex Flash AIR Flash Lite
Flash Media Server Flash Catalyst
.......
Monday, October 11, 2010
9
Flash Platform
Monday, October 11, 2010
10
Apps & Mobile sites
Monday, October 11, 2010
11
Flash Player 10.1 ed AIR 2
Monday, October 11, 2010
12
Flash Player on Mobile
Monday, October 11, 2010
13
Concetti base di Flash
Monday, October 11, 2010
14
Actionscript è il linguaggio di programmazione che si utilizza per interagire con gli elementi presenti sullo stage di un filmato Flash.
Esistono molti software che ci aiutano a scrivere Actionscript per i nostri prodotti Flash
Actionscript
Monday, October 11, 2010
15
. Actionscript 1 che viene utilizzato in Flash Lite 1.1 e fino a Flash 4/5
. Actionscript 2 che viene utilizzato Flash Lite 2.x e 3.x e fino alla ultima versione, ovvero quello attuale la 10
. Actionscript 3 che viene utilizzato su Flex, AIR e dal Flash Player 9 in poi.
Actionscript
Monday, October 11, 2010
16
. Async operations
. Mono-thread
. Vector based
. DisplayList
. OOP & micro-architecture
. XML, JSON, WebService, AMF...
. No direct connection to database (online)
Key Concept
Monday, October 11, 2010
17
AIR Adobe Integrated
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
Monday, October 11, 2010
19
AIR Adobe Integrated
AIR permette di utilizzare le seguenti tecnologie:
. Actionscript / MXML
. HTML / JS / CSS / AJAX
Monday, October 11, 2010
20
Desktop VS RIA
Monday, October 11, 2010
21
AIR Adobe Integrated
Perchè AIR è così interessante:
. cross-platform
. IDE di lavoro familiari
. facilità di porting
. rapid prototyping
Monday, October 11, 2010
22
AIR Adobe Integrated
. interazione tra tecnologie che fino ad oggi hanno avuto una vita propria (o quasi)
. delivery dell’applicazione semplice
. facilità di installazione e aggiornamento
UN FUTURO DECISAMENTE INTERESSANTE
Monday, October 11, 2010
23
AIR features
Clipboard
FileSystem
SQLite database
Finestre personalizzate
Native Drag & Drop
HTML control
Monday, October 11, 2010
24
AIR features
Updater framework
Native Window
URLMonitor
Native Process
Microphone raw data
Socket server
Monday, October 11, 2010
25
AIR features
Multitouch API
Screen reader
Lanciare altri applicativi installati
Lettura dispositivi di massa USB
Global error handler
Monday, October 11, 2010
26
AIR features on Android
Camera Roll
Accelerometro
GPS
Camera UI
StageWebView
SMS & Phone call
Screen DimmingMonday, October 11, 2010
27
Esportazione diretta
Monday, October 11, 2010
28
08 October 2010
Monday, October 11, 2010
29
CameraUI & CameraRoll
Monday, October 11, 2010
30
Progettazione UI
Monday, October 11, 2010
31
Vector vs Bitmap
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
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!
Monday, October 11, 2010
34
Skeleton component
Monday, October 11, 2010
35
Best Practices & Optimization
Monday, October 11, 2010
36
Garbage Collector
MARK & SWEEP
unloadAndStop(), null, delete
Monday, October 11, 2010
37
Android Manifest
Monday, October 11, 2010
38
GPU vs CPU
Monday, October 11, 2010
39
GPU vs CPU
CacheAsBitmap. movimenti in x . movimenti in y . tween
CacheAsBitmapMatrix. alpha . ridimensionamento . distorsione
. rotazione
Monday, October 11, 2010
40
Performance is good!
Monday, October 11, 2010
41
Media suggestions
File audio: AAC & MP3
Video: FLV & F4V
E’ possibile fruire video in download progressivo e in streaming
Monday, October 11, 2010
42
Multiple screen content
. Coordinate relative
. Tradeoff tra vettori e bitmap
. Disaccoppiamento delle caratteristiche di piattaforma
. Attenzione alle architetture software!
Monday, October 11, 2010
43
Object Pooling
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
Monday, October 11, 2010
45
AS3 optimization
. Vector al posto degli Array
. StageQuality e Dynamic framerate
. Consapevolezza dello stack
. No CPU compound
Monday, October 11, 2010
46
Warning! You must avoid...
. Inserire oggetti fuori dallo stage di lavoro
. Inserire filtri su oggetti quando si renderizza con GPU
. Ridisegnare oggetti in GPU mode
Monday, October 11, 2010
47
Natural Porting
Monday, October 11, 2010
48
Dialogo realtime tra device
Monday, October 11, 2010
49
Testing
Monday, October 11, 2010
50
My 2 cents
Progettate (UI & Code)
Modularizzate
Ottimizzate il codice
Testate
Monday, October 11, 2010
51
startkit for developing on
+++
Monday, October 11, 2010
NEWS52
Monday, October 11, 2010
53Monday, October 11, 2010
54Monday, October 11, 2010
55
Google TV
Monday, October 11, 2010
56
HTML 5 vs Flash Platform
Monday, October 11, 2010
57Monday, October 11, 2010
58Monday, October 11, 2010
59
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...
Flash on Embedded
Monday, October 11, 2010
60
. adobe.com/devnet
. tv.adobe.com
. Adobe blog (feeds.adobe.com)
Risorse online
Monday, October 11, 2010
61
Risorse offline
and more...Monday, October 11, 2010
flashplatformgeeks.com
62Monday, October 11, 2010
63
email: [email protected]: lucamezzalira
blog: lucamezzalira.comsite: www.mart3.org
Monday, October 11, 2010