MobileDevCamp2012 - Titanium Appcelerator

106
Marco Livraghi User eXperience Designer & Software Engineer ............................... . . . . .

description

Queste sono le slide su titanium usate da Marco Livraghi durante il MobileDevCamp 2012 a Lecce.

Transcript of MobileDevCamp2012 - Titanium Appcelerator

Page 1: MobileDevCamp2012 - Titanium Appcelerator

User eX Designer & Software Engineer

Marco LivraghiUser eXperience Designer & Software Engineer...............................

. . . . .

Page 2: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer2

mobiledevcamp | Lecce |19 Maggio 2012

Page 3: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer3

mobiledevcamp | Lecce |19 Maggio 2012

Page 4: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer4

mobiledevcamp | Lecce |19 Maggio 2012

Page 5: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer5

mobiledevcamp | Lecce |19 Maggio 2012

Page 6: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer6

mobiledevcamp | Lecce |19 Maggio 2012

Page 7: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer7

mobiledevcamp | Lecce |19 Maggio 2012

Page 8: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer8

mobiledevcamp | Lecce |19 Maggio 2012

Page 9: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer9

mobiledevcamp | Lecce |19 Maggio 2012

Page 10: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer10

mobiledevcamp | Lecce |19 Maggio 2012

Page 11: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer11

mobiledevcamp | Lecce |19 Maggio 2012

Page 12: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer12

mobiledevcamp | Lecce |19 Maggio 2012

Page 13: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer13

mobiledevcamp | Lecce |19 Maggio 2012

Page 14: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer14

mobiledevcamp | Lecce |19 Maggio 2012

Page 15: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer15

mobiledevcamp | Lecce |19 Maggio 2012

Page 16: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer16

mobiledevcamp | Lecce |19 Maggio 2012

Page 17: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer17

mobiledevcamp | Lecce |19 Maggio 2012

Page 18: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer18

mobiledevcamp | Lecce |19 Maggio 2012

Page 19: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer19

mobiledevcamp | Lecce |19 Maggio 2012

Studi sul dispositivo

Page 20: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer20

mobiledevcamp | Lecce |19 Maggio 2012

Studi sul dispositivo

Page 21: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer21

mobiledevcamp | Lecce |19 Maggio 2012

Page 22: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer22

mobiledevcamp | Lecce |19 Maggio 2012

Page 23: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer23

mobiledevcamp | Lecce |19 Maggio 2012

Page 24: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer24

mobiledevcamp | Lecce |19 Maggio 2012

Page 25: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer25

mobiledevcamp | Lecce |19 Maggio 2012

Page 26: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer26

mobiledevcamp | Lecce |19 Maggio 2012

Page 27: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer27

mobiledevcamp | Lecce |19 Maggio 2012

Page 28: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer28

mobiledevcamp | Lecce |19 Maggio 2012

Page 29: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer29

mobiledevcamp | Lecce |19 Maggio 2012

Page 30: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer30

mobiledevcamp | Lecce |19 Maggio 2012

Page 31: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer31

mobiledevcamp | Lecce |19 Maggio 2012

Prototipare...

Page 32: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer32

mobiledevcamp | Lecce |19 Maggio 2012

Prototipare...Prototipare...

Page 33: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer33

mobiledevcamp | Lecce |19 Maggio 2012

Prototipare...Prototipare...Prototipare...

Page 34: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer34

mobiledevcamp | Lecce |19 Maggio 2012

Prototipare...Prototipare...Prototipare...

14:15PrototipazionePaolo Buono - IVU LabUniversità degli Studi di Bari Aldo Moro

Page 35: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer35

mobiledevcamp | Lecce |19 Maggio 2012

Page 36: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer36

mobiledevcamp | Lecce |19 Maggio 2012

:-(

Page 37: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer37

mobiledevcamp | Lecce |19 Maggio 2012

Page 38: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer38

mobiledevcamp | Lecce |19 Maggio 2012

Page 39: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer39

mobiledevcamp | Lecce |19 Maggio 2012

Web Developers

Desktop

Netbooks

Tablets

Set-top Boxes

Mobile

Titanium

Users

Page 40: MobileDevCamp2012 - Titanium Appcelerator

40

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Mobile Desktop

Titanium

Page 41: MobileDevCamp2012 - Titanium Appcelerator

41

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

JavaScript  Applica-on  Code  

Titanium  JavaScript  API  

Android    Modules  

iOS    Modules  

Android  SDK  iOS  SDK  

Titanium

 Framew

ork  

JS  Interpreter  

Run-me  

JS  Interpreter  

Run-me  

Page 42: MobileDevCamp2012 - Titanium Appcelerator

42

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

JavaScript  Applica-on  Code  

Titanium  JavaScript  API  

Android    Modules  

iOS    Modules  

Android  SDK  iOS  SDK  

Titanium

 Framew

ork  

JS  Interpreter  

Run-me  

JS  Interpreter  

Run-me  

Page 43: MobileDevCamp2012 - Titanium Appcelerator

43

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Page 44: MobileDevCamp2012 - Titanium Appcelerator

44

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Page 45: MobileDevCamp2012 - Titanium Appcelerator

45

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Page 46: MobileDevCamp2012 - Titanium Appcelerator

46

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Page 47: MobileDevCamp2012 - Titanium Appcelerator

47

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

manifest

#appname: prima_app#publisher: marcolivraghi#url: http://www.livraghi.com#image: appicon.png#appid: com.livraghi.prima_app#desc: undefined#type: ipad#guid: 09dd7e67-f94f-42a8-8f8e-6ab512da3b06

Page 48: MobileDevCamp2012 - Titanium Appcelerator

48

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

tiapp.xml

<iphone> <orientations device=”iphone”> <orientation>Ti.UI.PORTRAIT</orientation> </orientations> <orientations device=”ipad”> <orientation>Ti.UI.PORTRAIT</orientation> <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation> <orientation>Ti.UI.LANDSCAPE_LEFT</orientation> <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation> </orientations> </iphone> <android xmlns:android= ”http://schemas.android.com/apk/res/android”/> <modules> <module platform=”commonjs” version=”2.0.1”> ti.cloud </module> </modules></ti:app>

<?xml version=”1.0” encoding=”UTF-8”?><ti:app xmlns:ti=”http://ti.appcelerator.org”> .... .... <deployment-targets> <target device=”iphone”>true</target> <target device=”ipad”>true</target> <target device=”android”>true</target> <target device=”blackberry”>false</target> </deployment-targets> <sdk-version>2.0.1.v20120405211737</sdk-version> <id>com.livraghi.prima_app</id> <name>prima_app</name> <version>1.0</version> <publisher>marcolivraghi</publisher> <url>http://www.livraghi.com</url> <description>not specified</description> <copyright>2012 by marcolivraghi</copyright> <icon>appicon.png</icon> <persistent-wifi>false</persistent-wifi> <prerendered-icon>false</prerendered-icon> <statusbar-style>default</statusbar-style> <statusbar-hidden>false</statusbar-hidden> <fullscreen>false</fullscreen> <navbar-hidden>false</navbar-hidden> <analytics>true</analytics> <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid> <property name=”ti.ui.defaultunit”>system</property>

Page 49: MobileDevCamp2012 - Titanium Appcelerator

49

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

tiapp.xml

<?xml version=”1.0” encoding=”UTF-8”?><ti:app xmlns:ti=”http://ti.appcelerator.org”> .... .... <deployment-targets> <target device=”iphone”>true</target> <target device=”ipad”>true</target> <target device=”android”>true</target> <target device=”blackberry”>false</target> </deployment-targets> <sdk-version>2.0.1.v20120405211737</sdk-version> <id>com.livraghi.prima_app</id> <name>prima_app</name> <version>1.0</version> <publisher>marcolivraghi</publisher> <url>http://www.livraghi.com</url> <description>not specified</description> <copyright>2012 by marcolivraghi</copyright> <icon>appicon.png</icon> <persistent-wifi>false</persistent-wifi> <prerendered-icon>false</prerendered-icon> <statusbar-style>default</statusbar-style> <statusbar-hidden>false</statusbar-hidden> <fullscreen>false</fullscreen> <navbar-hidden>false</navbar-hidden> <analytics>true</analytics> <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid> <property name=”ti.ui.defaultunit”>system</property>

<iphone> <orientations device=”iphone”> <orientation>Ti.UI.PORTRAIT</orientation> </orientations> <orientations device=”ipad”> <orientation>Ti.UI.PORTRAIT</orientation> <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation> <orientation>Ti.UI.LANDSCAPE_LEFT</orientation> <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation> </orientations> </iphone> <android xmlns:android= ”http://schemas.android.com/apk/res/android”/> <modules> <module platform=”commonjs” version=”2.0.1”> ti.cloud </module> </modules></ti:app>

Page 50: MobileDevCamp2012 - Titanium Appcelerator

50

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

tiapp.xml

<iphone> <orientations device=”iphone”> <orientation>Ti.UI.PORTRAIT</orientation> </orientations> <orientations device=”ipad”> <orientation>Ti.UI.PORTRAIT</orientation> <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation> <orientation>Ti.UI.LANDSCAPE_LEFT</orientation> <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation> </orientations> </iphone> <android xmlns:android= ”http://schemas.android.com/apk/res/android”/> <modules> <module platform=”commonjs” version=”2.0.1”> ti.cloud </module> </modules></ti:app>

<?xml version=”1.0” encoding=”UTF-8”?><ti:app xmlns:ti=”http://ti.appcelerator.org”> .... .... <deployment-targets> <target device=”iphone”>true</target> <target device=”ipad”>true</target> <target device=”android”>true</target> <target device=”blackberry”>false</target> </deployment-targets> <sdk-version>2.0.1.v20120405211737</sdk-version> <id>com.livraghi.prima_app</id> <name>prima_app</name> <version>1.0</version> <publisher>marcolivraghi</publisher> <url>http://www.livraghi.com</url> <description>not specified</description> <copyright>2012 by marcolivraghi</copyright> <icon>appicon.png</icon> <persistent-wifi>false</persistent-wifi> <prerendered-icon>false</prerendered-icon> <statusbar-style>default</statusbar-style> <statusbar-hidden>false</statusbar-hidden> <fullscreen>false</fullscreen> <navbar-hidden>false</navbar-hidden> <analytics>true</analytics> <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid> <property name=”ti.ui.defaultunit”>system</property>

Page 51: MobileDevCamp2012 - Titanium Appcelerator

51

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

tiapp.xml

<?xml version=”1.0” encoding=”UTF-8”?><ti:app xmlns:ti=”http://ti.appcelerator.org”> .... .... <deployment-targets> <target device=”iphone”>true</target> <target device=”ipad”>true</target> <target device=”android”>true</target> <target device=”blackberry”>false</target> </deployment-targets> <sdk-version>2.0.1.v20120405211737</sdk-version> <id>com.livraghi.prima_app</id> <name>prima_app</name> <version>1.0</version> <publisher>marcolivraghi</publisher> <url>http://www.livraghi.com</url> <description>not specified</description> <copyright>2012 by marcolivraghi</copyright> <icon>appicon.png</icon> <persistent-wifi>false</persistent-wifi> <prerendered-icon>false</prerendered-icon> <statusbar-style>default</statusbar-style> <statusbar-hidden>false</statusbar-hidden> <fullscreen>false</fullscreen> <navbar-hidden>false</navbar-hidden> <analytics>true</analytics> <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid> <property name=”ti.ui.defaultunit”>system</property>

<iphone> <orientations device=”iphone”> <orientation>Ti.UI.PORTRAIT</orientation> </orientations> <orientations device=”ipad”> <orientation>Ti.UI.PORTRAIT</orientation> <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation> <orientation>Ti.UI.LANDSCAPE_LEFT</orientation> <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation> </orientations> </iphone> <android xmlns:android= ”http://schemas.android.com/apk/res/android”/> <modules> <module platform=”commonjs” version=”2.0.1”> ti.cloud </module> </modules></ti:app>

Page 52: MobileDevCamp2012 - Titanium Appcelerator

52

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Un primo esempio: App.js

Page 53: MobileDevCamp2012 - Titanium Appcelerator

53

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Un primo esempio: App.js

Page 54: MobileDevCamp2012 - Titanium Appcelerator

54

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Un primo esempio: App.js

Page 55: MobileDevCamp2012 - Titanium Appcelerator

55

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Un primo esempio: App.js

Page 56: MobileDevCamp2012 - Titanium Appcelerator

56

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

var win = Titanium.UI.createWindow({ title:’Hello’, backgroundColor:’#fff’});var label1 = Titanium.UI.createLabel({ color:’#333’, text:’Hello World!’, textAlign: ‘center’, font: {fontSize: 30, fontWeight: ‘bold’}});win.add(label1);

var bt = Titanium.UI.createButton({ title: ‘Click me’, width: 100, height: 40, bottom: 40});bt.addEventListener(‘click’, function(e) { label1.text = ‘OK!’;});

win.add(bt);win.open();

Un secondo esempio: App.js

Page 57: MobileDevCamp2012 - Titanium Appcelerator

57

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

titanium studio

57

Page 58: MobileDevCamp2012 - Titanium Appcelerator

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

titanium studio

58

Page 59: MobileDevCamp2012 - Titanium Appcelerator

59

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Page 60: MobileDevCamp2012 - Titanium Appcelerator

60

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Appcelerator Titanium Docs 2.0

Page 61: MobileDevCamp2012 - Titanium Appcelerator

61

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Appcelerator Titanium Docs 2.0

Page 62: MobileDevCamp2012 - Titanium Appcelerator

62

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Appcelerator Titanium Docs 2.0

Page 63: MobileDevCamp2012 - Titanium Appcelerator

63

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Appcelerator Titanium Docs 2.0

Page 64: MobileDevCamp2012 - Titanium Appcelerator

64

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Appcelerator Titanium Docs 2.0

Page 65: MobileDevCamp2012 - Titanium Appcelerator

65

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Appcelerator Titanium Docs 2.0

Page 66: MobileDevCamp2012 - Titanium Appcelerator

66

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

MEDIA API: CAMERA

Page 67: MobileDevCamp2012 - Titanium Appcelerator

67

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

MEDIA API: PHOTO GALLERY

Page 68: MobileDevCamp2012 - Titanium Appcelerator

68

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

GEOLOCATION API

Page 69: MobileDevCamp2012 - Titanium Appcelerator

69

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

ACCELEROMETER API

Page 70: MobileDevCamp2012 - Titanium Appcelerator

70

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

MAP API

Page 71: MobileDevCamp2012 - Titanium Appcelerator

71

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

FACEBOOK API

Page 72: MobileDevCamp2012 - Titanium Appcelerator

72

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

FACEBOOK API

Page 73: MobileDevCamp2012 - Titanium Appcelerator

73

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

ESTENDERE LE API: Perché?

Page 74: MobileDevCamp2012 - Titanium Appcelerator

74

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

ESTENDERE LE API: Perché?

- Per accedere a specifiche funzionalità del OS,

Page 75: MobileDevCamp2012 - Titanium Appcelerator

75

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

ESTENDERE LE API: Perché?

- Per accedere a specifiche funzionalità del OS,

- Sfruttare liberie native pre-esistenti,

Page 76: MobileDevCamp2012 - Titanium Appcelerator

76

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

ESTENDERE LE API: Perché?

- Per accedere a specifiche funzionalità del OS,

- Sfruttare liberie native pre-esistenti,

- Ottimizzare parti critiche dell’app,

Page 77: MobileDevCamp2012 - Titanium Appcelerator

77

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

ESTENDERE LE API: Perché?

- Per accedere a specifiche funzionalità del OS,

- Sfruttare liberie native pre-esistenti,

- Ottimizzare parti critiche dell’app,

- Estendere e migliorare porzioni del framework Titanium Mobile

Page 78: MobileDevCamp2012 - Titanium Appcelerator

78

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

ESTENDERE LE API: Come?

- Creando un fork sul sorce code di Titanium Mobile su github

PRO + Modifiche sostanziali al core del framework. CONTRO - Mantenere aggiornato un fork separato è costoso e noioso.

Page 79: MobileDevCamp2012 - Titanium Appcelerator

79

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

ESTENDERE LE API: Come?

- Creando uno o pìù moduli nativi tramite l’SDK Titanium Module.

PRO + Grande flessibilità + Semplice da distribuire come modulo open source, package precompilato e ... Appcelerator Ti+Plus Marketplace

Page 80: MobileDevCamp2012 - Titanium Appcelerator

80

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Moduli nativi - alcuni esempi

- Android scanner di codici a barre (wrapper Zxing) https://github.com/mwaylabs/titanium-barcode- iOS ZipFile (creare/decomprimere file zip) https://github.com/TermiT/ZipFile- iOS TiStoreKit (acquisti in app) https://github.com/masuidrive/TiStoreKit- iOS TiSMSDialog (invio di sms dall’app) https://github.com/omorandi/TiSMSDialog- Appcelerator Titanium modules (esempi di moduli) https://github.com/appcelerator/titanium_modules

Page 81: MobileDevCamp2012 - Titanium Appcelerator

81

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Titanium JS Interface: Esempio

var bt = Titanium.UI.createButton({ title: ‘Click me’, width: 100, height: 40, bottom: 40});bt.addEventListener(‘click’, function(e) { label1.text = ‘OK!’;});

Page 82: MobileDevCamp2012 - Titanium Appcelerator

82

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Titanium JS Interface: Esempio

- Module Titanium.UI- Object Titanium.UI.Button- Object Factory Titanium.UI.createButton()- Property getters/setters - methods Button.title Button.width Button.animate() ecc...- Event handling Button.addEventListener()

Page 83: MobileDevCamp2012 - Titanium Appcelerator

83

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Struttura del Modulo

Page 84: MobileDevCamp2012 - Titanium Appcelerator

84

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Open Mobile Market

Page 85: MobileDevCamp2012 - Titanium Appcelerator

85

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Open Mobile Market

Page 86: MobileDevCamp2012 - Titanium Appcelerator

86

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Open Mobile Market

Page 87: MobileDevCamp2012 - Titanium Appcelerator

87

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Open Mobile Market

Page 88: MobileDevCamp2012 - Titanium Appcelerator

88

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Open Mobile Market

Page 89: MobileDevCamp2012 - Titanium Appcelerator

89

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Open Mobile Market

Page 90: MobileDevCamp2012 - Titanium Appcelerator

90

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Open Mobile Market: ForgetUI

Page 91: MobileDevCamp2012 - Titanium Appcelerator

91

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Open Mobile Market: ForgetUI

Page 92: MobileDevCamp2012 - Titanium Appcelerator

92

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Page 93: MobileDevCamp2012 - Titanium Appcelerator

93

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Page 94: MobileDevCamp2012 - Titanium Appcelerator

94

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Framework javascript...

Page 95: MobileDevCamp2012 - Titanium Appcelerator

95

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

1 - User management 2 - Photos 3 - Photo collections4 - Places (rich location storage)5 - Social integration6 - Custom data objects7 - Push notifications8 - Check-ins

9 - Status updates10 - Chat 11 - Ratings and reviews12 - Discussion forums13 - Messaging and email templates14 - Client identification15 - Key values

Page 96: MobileDevCamp2012 - Titanium Appcelerator

96

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

...

Page 97: MobileDevCamp2012 - Titanium Appcelerator

97

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Page 98: MobileDevCamp2012 - Titanium Appcelerator

98

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Apps Open Sorce: NYSenate

Page 99: MobileDevCamp2012 - Titanium Appcelerator

99

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Apps Open Sorce: NYSenate

Android per smartphone:

Page 100: MobileDevCamp2012 - Titanium Appcelerator

100

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Apps Open Sorce: NYSenate

iPad:

Page 101: MobileDevCamp2012 - Titanium Appcelerator

101

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Apps Open Sorce: NYSenate

iPad:

Page 102: MobileDevCamp2012 - Titanium Appcelerator

102

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Apps Open Sorce: NYSenate

iPad:

Page 103: MobileDevCamp2012 - Titanium Appcelerator

103

mobiledevcamp | Lecce |19 Maggio 2012

Marco Livraghi|User eXperience Designer & Software Engineer

Apps Open Sorce: NYSenate

iPhone:

Page 104: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer104

mobiledevcamp | Lecce |19 Maggio 2012

appcelerator: website: http://www.appcelerator.com github: https://github.com/appcelerator kitchen sink: http://github.com/appcelerator/ KitchenSink last builds: http://builds.appcelerator.com.s3.amazonaws.com/index.html

docs: http://docs.appcelerator.com cloud: http://cloud.appcelerator.com blog: http://developer.appcelerator.com/blog thinkmobile.appcelerator.com/blog showcase: http://www.builtwithtitanium.com nysenate: http://github.com/nysenatemobile SDK iOS: http://developer.apple.com Android: http://developer.android.com

Riferimenti

Page 105: MobileDevCamp2012 - Titanium Appcelerator

User eXperience Designer & Software [email protected]

graphic [email protected]

Fabrizio Martina

[email protected]

Page 106: MobileDevCamp2012 - Titanium Appcelerator

Marco Livraghi|User eXperience Designer & Software Engineer106

mobiledevcamp | Lecce |19 Maggio 2012

Q?