mobile development with standards and open source
DESCRIPTION
TRANSCRIPT
max firtman@firt firt.mobi
mobile development with
standards and open source technologies
miércoles 27 de julio de 11
mobile+web developermobilexweb.com blog
@firt
who am I?
miércoles 27 de julio de 11
where?
miércoles 27 de julio de 11
buenos aires ~ argentina
where?
miércoles 27 de julio de 11
buenos aires ~ argentina
where?
patagonia soccermeat & winetango
miércoles 27 de julio de 11
buenos aires ~ argentina
where?
patagonia soccermeat & winetango
miércoles 27 de julio de 11
buenos aires ~ argentina
where?
patagonia soccermeat & winetango
true lies tango scene
miércoles 27 de julio de 11
Image from my house
books
miércoles 27 de julio de 11
miércoles 27 de julio de 11
many of you have two questions for me
miércoles 27 de julio de 11
the first answer is no
miércoles 27 de julio de 11
the second answer is yes
miércoles 27 de julio de 11
early release available
good news!
mobilexweb.com
miércoles 27 de julio de 11
+40 links, +300 emulators
typing long URLs on mobile?
other projects
www.mobilexweb.com/emulators
www.mobiletinyurl.com
miércoles 27 de julio de 11
why mobile?
miércoles 27 de julio de 11
mobile devices are ourflying cars
miércoles 27 de julio de 11
mobile is about us
miércoles 27 de julio de 11
mobile
miércoles 27 de julio de 11
mobile
‣ absolutely personal
miércoles 27 de julio de 11
mobile
‣ absolutely personal‣ +70% population (+5 billions)
miércoles 27 de julio de 11
mobile
‣ absolutely personal‣ +70% population (+5 billions)‣ make us focus
miércoles 27 de julio de 11
mobile
‣ absolutely personal‣ +70% population (+5 billions)‣ make us focus‣ read our context...
miércoles 27 de julio de 11
mobile
‣ absolutely personal‣ +70% population (+5 billions)‣ make us focus‣ read our context...‣ ... always...
miércoles 27 de julio de 11
mobile
‣ absolutely personal‣ +70% population (+5 billions)‣ make us focus‣ read our context...‣ ... always...‣ ... and everywhere.
miércoles 27 de julio de 11
mobile
‣ absolutely personal‣ +70% population (+5 billions)‣ make us focus‣ read our context...‣ ... always...‣ ... and everywhere.‣ our feelings
miércoles 27 de julio de 11
then... what is the problem?
miércoles 27 de julio de 11
mobile is a minefield
Photo by World of Good (Flickr) - Falklands / Malvinas Islandsmiércoles 27 de julio de 11
lots of questions
Photo by wayneandwax (Flickr) miércoles 27 de julio de 11
lots of questionswe need to learn
miércoles 27 de julio de 11
and learn more...
miércoles 27 de julio de 11
lots of platformsmiércoles 27 de julio de 11
nativevs
web
miércoles 27 de julio de 11
WAIT!
miércoles 27 de julio de 11
Are you sure?
miércoles 27 de julio de 11
native codevs
javascript
miércoles 27 de julio de 11
browservs
installed apps& stores
miércoles 27 de julio de 11
when we say mobile web
miércoles 27 de julio de 11
when we say mobile web
from a developer’s perspective it’s using HTML, CSS and JavaScript to develop mobile apps
miércoles 27 de julio de 11
when we say mobile web
from a developer’s perspective it’s using HTML, CSS and JavaScript to develop mobile apps
(browser or installed)
miércoles 27 de julio de 11
let’s see some open source projects
& standars
miércoles 27 de julio de 11
miércoles 27 de julio de 11
java on mobile
miércoles 27 de julio de 11
java on mobileME
miércoles 27 de julio de 11
java on mobileME ‣ billions of devices
miércoles 27 de julio de 11
java on mobileME ‣ billions of devices ‣ open source
miércoles 27 de julio de 11
java on mobileME ‣ billions of devices ‣ open source‣ nokia, samsung, lg, sony ericsson
miércoles 27 de julio de 11
java on mobileME ‣ billions of devices ‣ open source‣ nokia, samsung, lg, sony ericsson‣ based on JRE 1.3 subset
miércoles 27 de julio de 11
java on mobileME ‣ billions of devices ‣ open source‣ nokia, samsung, lg, sony ericsson‣ based on JRE 1.3 subset‣ yes, 1.3
miércoles 27 de julio de 11
java on mobileME ‣ billions of devices ‣ open source‣ nokia, samsung, lg, sony ericsson‣ based on JRE 1.3 subset‣ yes, 1.3‣ has modern API for touch, accelerometer, SVG
miércoles 27 de julio de 11
java on mobile
developer.blackberry.commiércoles 27 de julio de 11
java on mobile
BlackBerry apps
developer.blackberry.commiércoles 27 de julio de 11
java on mobile
BlackBerry apps ‣ based on ME
developer.blackberry.commiércoles 27 de julio de 11
java on mobile
BlackBerry apps ‣ based on ME‣ platform modern APIs, including database, touch and BBM
developer.blackberry.commiércoles 27 de julio de 11
java on mobile
BlackBerry apps ‣ based on ME‣ platform modern APIs, including database, touch and BBM ‣ free tools, eclipse-based
developer.blackberry.commiércoles 27 de julio de 11
java on mobile
BlackBerry apps ‣ based on ME‣ platform modern APIs, including database, touch and BBM ‣ free tools, eclipse-based‣ every BB app is Java
developer.blackberry.commiércoles 27 de julio de 11
java on mobile
developer.android.commiércoles 27 de julio de 11
java on mobile
Android apps
developer.android.commiércoles 27 de julio de 11
java on mobile
Android apps‣ not based on SE or ME -> Dalvik VM
developer.android.commiércoles 27 de julio de 11
java on mobile
Android apps‣ not based on SE or ME -> Dalvik VM ‣ open source
developer.android.commiércoles 27 de julio de 11
java on mobile
Android apps‣ not based on SE or ME -> Dalvik VM ‣ open source‣ modern APIs, MVC UI
developer.android.commiércoles 27 de julio de 11
java on mobile
Android apps‣ not based on SE or ME -> Dalvik VM ‣ open source‣ modern APIs, MVC UI‣ free tools, eclipse-based
developer.android.commiércoles 27 de julio de 11
java on mobile
miércoles 27 de julio de 11
java on mobile
others?
miércoles 27 de julio de 11
java on mobile
others?‣ no Java VM for iOS, webOS, bada, meego, windows mobile, windows phone
miércoles 27 de julio de 11
miércoles 27 de julio de 11
cocos2d
miércoles 27 de julio de 11
cocos2d
‣ a game and multimedia app framework
miércoles 27 de julio de 11
cocos2d
‣ a game and multimedia app framework
‣ open source
miércoles 27 de julio de 11
cocos2d
‣ a game and multimedia app framework
‣ open source
‣ “de facto” standard
miércoles 27 de julio de 11
cocos2d
‣ a game and multimedia app framework
‣ open source
‣ “de facto” standard
miércoles 27 de julio de 11
cocos2d
‣ a game and multimedia app framework
‣ open source
‣ “de facto” standard
miércoles 27 de julio de 11
cocos2d
‣ a game and multimedia app framework
‣ open source
‣ “de facto” standard
miércoles 27 de julio de 11
cocos2d
miércoles 27 de julio de 11
cocos2d
‣ originally for iOS
miércoles 27 de julio de 11
cocos2d
‣ originally for iOS
‣ + 2.500 known games in the AppStore
miércoles 27 de julio de 11
cocos2d
‣ originally for iOS
‣ + 2.500 known games in the AppStore
‣ now ported to html5, android, mac os, c++
miércoles 27 de julio de 11
cocos2d
‣ originally for iOS
‣ + 2.500 known games in the AppStore
‣ now ported to html5, android, mac os, c++
www.cocos2d-iphone.org
miércoles 27 de julio de 11
adobe flex
miércoles 27 de julio de 11
adobe flex
miércoles 27 de julio de 11
adobe flex
‣ open source framework
miércoles 27 de julio de 11
adobe flex
‣ open source framework
‣ designed for web, desktop and mobile (>= 4.5)
miércoles 27 de julio de 11
adobe flex
‣ open source framework
‣ designed for web, desktop and mobile (>= 4.5)
‣ you can get free SDKs to compile apps to:
android, iOS and blackberry playbook.
miércoles 27 de julio de 11
adobe flex
‣ open source framework
‣ designed for web, desktop and mobile (>= 4.5)
‣ you can get free SDKs to compile apps to:
android, iOS and blackberry playbook.
www.adobe.com/go/flex
miércoles 27 de julio de 11
databases on mobile
miércoles 27 de julio de 11
miércoles 27 de julio de 11
‣ open source database engine
miércoles 27 de julio de 11
‣ open source database engine
‣ most widely deployed SQL db engine (500M)
miércoles 27 de julio de 11
‣ open source database engine
‣ most widely deployed SQL db engine (500M)
‣ available in: iOS, android, webOS, blackberry,
symbian, and html5 (websql api)
miércoles 27 de julio de 11
miércoles 27 de julio de 11
miércoles 27 de julio de 11
advantages
miércoles 27 de julio de 11
advantages
miércoles 27 de julio de 11
advantages
‣ well-known technologies
miércoles 27 de julio de 11
advantages
‣ well-known technologies
‣ well-known tools, ides, apis
miércoles 27 de julio de 11
advantages
‣ well-known technologies
‣ well-known tools, ides, apis
‣ low time to market
miércoles 27 de julio de 11
advantages
‣ well-known technologies
‣ well-known tools, ides, apis
‣ low time to market
‣ application stores
miércoles 27 de julio de 11
advantages
‣ well-known technologies
‣ well-known tools, ides, apis
‣ low time to market
‣ application stores
‣ standards appearing slowly
miércoles 27 de julio de 11
challenges
miércoles 27 de julio de 11
challenges
miércoles 27 de julio de 11
challenges
‣ we still need porting work
miércoles 27 de julio de 11
challenges
‣ we still need porting work
‣ debugging
miércoles 27 de julio de 11
challenges
‣ we still need porting work
‣ debugging
‣ performance
miércoles 27 de julio de 11
challenges
‣ we still need porting work
‣ debugging
‣ performance
‣ standards
miércoles 27 de julio de 11
some projects
miércoles 27 de julio de 11
wurfl
miércoles 27 de julio de 11
wurfl
miércoles 27 de julio de 11
wurfl
‣ open source device description repository (DDR)
miércoles 27 de julio de 11
wurfl
‣ open source device description repository (DDR)
‣ used by facebook and google
miércoles 27 de julio de 11
wurfl
‣ open source device description repository (DDR)
‣ used by facebook and google
‣ apis available for php, java, .net and as a db
miércoles 27 de julio de 11
wurfl
‣ open source device description repository (DDR)
‣ used by facebook and google
‣ apis available for php, java, .net and as a db
‣ +5,000 devices with 500 capabilities info each
miércoles 27 de julio de 11
wurfl
‣ open source device description repository (DDR)
‣ used by facebook and google
‣ apis available for php, java, .net and as a db
‣ +5,000 devices with 500 capabilities info each
wurfl.sourceforge.net
miércoles 27 de julio de 11
miércoles 27 de julio de 11
html5
miércoles 27 de julio de 11
html5
‣ what is html5?
miércoles 27 de julio de 11
html5
‣ what is html5?
‣ now a w3c set of standards
miércoles 27 de julio de 11
html5
‣ what is html5?
‣ now a w3c set of standards
‣ also an umbrella
miércoles 27 de julio de 11
html5
‣ what is html5?
‣ now a w3c set of standards
‣ also an umbrella
‣ it’s about markup, but it’s also about apis
miércoles 27 de julio de 11
html5
miércoles 27 de julio de 11
html5‣ multimedia
miércoles 27 de julio de 11
html5‣ multimedia‣ offline storage
miércoles 27 de julio de 11
html5‣ multimedia‣ offline storage‣ database
miércoles 27 de julio de 11
html5‣ multimedia‣ offline storage‣ database ‣ geolocation
miércoles 27 de julio de 11
html5‣ multimedia‣ offline storage‣ database ‣ geolocation‣ animations, transitions and effects
miércoles 27 de julio de 11
html5‣ multimedia‣ offline storage‣ database ‣ geolocation‣ animations, transitions and effects‣ accelerometer
miércoles 27 de julio de 11
html5‣ multimedia‣ offline storage‣ database ‣ geolocation‣ animations, transitions and effects‣ accelerometer‣ drawing
miércoles 27 de julio de 11
html5‣ multimedia‣ offline storage‣ database ‣ geolocation‣ animations, transitions and effects‣ accelerometer‣ drawing ‣ ....
miércoles 27 de julio de 11
miércoles 27 de julio de 11
wac
miércoles 27 de julio de 11
wac
‣ widget sdk
miércoles 27 de julio de 11
wac
‣ widget sdk‣ cross-platform
miércoles 27 de julio de 11
wac
‣ widget sdk‣ cross-platform‣ apis: camera, accelerometer, file, sms, geolocation, contact, calendar, etc.
miércoles 27 de julio de 11
miércoles 27 de julio de 11
miércoles 27 de julio de 11
a cross-platform UI framework for creating webapps for touch-enabled smartphones and tablets
miércoles 27 de julio de 11
features
miércoles 27 de julio de 11
features‣ non-intrusive semantic html5 code
miércoles 27 de julio de 11
features‣ non-intrusive semantic html5 code‣ open sourced
miércoles 27 de julio de 11
features‣ non-intrusive semantic html5 code‣ open sourced‣ lightweight
miércoles 27 de julio de 11
features‣ non-intrusive semantic html5 code‣ open sourced‣ lightweight‣ multiplatform with progressive enhancement
miércoles 27 de julio de 11
features‣ non-intrusive semantic html5 code‣ open sourced‣ lightweight‣ multiplatform with progressive enhancement‣ accessibility support
miércoles 27 de julio de 11
features‣ non-intrusive semantic html5 code‣ open sourced‣ lightweight‣ multiplatform with progressive enhancement‣ accessibility support‣ customizable
miércoles 27 de julio de 11
features‣ non-intrusive semantic html5 code‣ open sourced‣ lightweight‣ multiplatform with progressive enhancement‣ accessibility support‣ customizable ‣ includes javascript api
miércoles 27 de julio de 11
� %DVLF�FRQWHQW�LV�DFFHVVLEOH�WR�DOO�EURZVHUV�
� %DVLF�IXQFWLRQDOLW\�LV�DFFHVVLEOH�WR�DOO�EURZVHUV�
� 6HPDQWLF�PDUNXS�FRQWDLQV�DOO�FRQWHQW�
� (QKDQFHG�OD\RXW�LV�SURYLGHG�E\�H[WHUQDOO\�OLQNHG�&66�
� (QKDQFHG�EHKDYLRU�LV�SURYLGHG�E\�XQREWUXVLYH��H[WHUQDOO\�OLQNHG�-DYD6FULSW�
� (QG�XVHU�EURZVHU�SUHIHUHQFHV�DUH�UHVSHFWHG�
7KLV� OLVW�VRXQGV� OLNH� M4XHU\�0RELOH¦V� IHDWXUH� OLVW��GRHVQ¦W� LW"�7KDW¦V�ULJKW��$� M4XHU\0RELOH�DSSOLFDWLRQ�ZLOO�DOVR�ZRUNV�RQ�D�YHU\�EDVLF�EURZVHU�ZLWKRXW�&66�RU�-DYD6FULSWVXSSRUW��$QG�WKDW�LV�D�JUHDW�IHDWXUH�IRU�D�PRELOH�ZHEDSS�
Accessibility support)URP�:LNLSHGLD�
:HE�DFFHVVLELOLW\�UHIHUV�WR�WKH�LQFOXVLYH�SUDFWLFH�RI�PDNLQJ�ZHEVLWHV�XVDEOH�E\�SHRSOH�RIDOO�DELOLWLHV�DQG�GLVDELOLWLHV��:KHQ�VLWHV�DUH�FRUUHFWO\�GHVLJQHG��GHYHORSHG�DQG�HGLWHG��DOOXVHUV�FDQ�KDYH�HTXDO�DFFHVV�WR�LQIRUPDWLRQ�DQG�IXQFWLRQDOLW\�
7KH�ZHE�DFFHVVLELOLW\�LQVLGH�PRELOH�EURZVHUV�KDV�MXVW�EHJXQ��KRZHYHU�M4XHU\�0RELOHLV�QRZ�IXOO\�FRPSDWLEOH�ZLWK�:�&¦V�:$,�$5,$�VSHFLILFDWLRQ�RQ�FRPSDWLEOH�EURZVHUV�KWWS���ZZZ�Z��RUJ�75�ZDL�DULD����$W�WKH�WLPH�RI�WKLV�ZULWLQJ��RQO\�L26�����RU�KLJKHU�LVFRPSDWLEOH�ZLWK�WKLV�VSHFLILFDWLRQ�ZLWK�WKH�IHDWXUH�FDOOHG�9RLFH2YHU�
7KHUHIRUH��D�M4XHU\�0RELOH�ZHEDSS�ZLOO�SURYLGH�DQ�DFFHVVLEOH�H[SHULHQFH�WR�XVHUV�ZLWKYLVXDO�GLVDELOLWLHV�RQ�L3KRQH��L3RG�DQG�L3DG�
)LJXUH������7KLV�LV�KRZ�RXU�ILUVW�DQG�VLPSOH�M4XHU\�0RELOH�FRGH�ORRNV�OLNH�LQ�GLIIHUHQW�GHYLFHV��L26�ZHE26�DQG�$QGURLG�
Main Features | 17
miércoles 27 de julio de 11
webworks
miércoles 27 de julio de 11
webworks
miércoles 27 de julio de 11
webworks‣ open source framework
miércoles 27 de julio de 11
webworks‣ open source framework‣ for blackberry smartphones and playbook
miércoles 27 de julio de 11
webworks‣ open source framework‣ for blackberry smartphones and playbook‣ creates native java or air apps with web code
miércoles 27 de julio de 11
webworks‣ open source framework‣ for blackberry smartphones and playbook‣ creates native java or air apps with web code‣ apis for accessing BB infrastructure and device services
miércoles 27 de julio de 11
webworks‣ open source framework‣ for blackberry smartphones and playbook‣ creates native java or air apps with web code‣ apis for accessing BB infrastructure and device services‣ same security model as in native
miércoles 27 de julio de 11
miércoles 27 de julio de 11
phonegap
miércoles 27 de julio de 11
phonegap‣ open source framework
miércoles 27 de julio de 11
phonegap‣ open source framework‣ for iOS, android, blackberry, symbian, webOS, windows phone & bada
miércoles 27 de julio de 11
phonegap‣ open source framework‣ for iOS, android, blackberry, symbian, webOS, windows phone & bada‣ creates native or first-class citizens apps
miércoles 27 de julio de 11
phonegap‣ open source framework‣ for iOS, android, blackberry, symbian, webOS, windows phone & bada‣ creates native or first-class citizens apps‣ apis for accessing device’s services
miércoles 27 de julio de 11
phonegap‣ open source framework‣ for iOS, android, blackberry, symbian, webOS, windows phone & bada‣ creates native or first-class citizens apps‣ apis for accessing device’s services‣ sample projects to compile every app
miércoles 27 de julio de 11
phonegap
www.phonegap.commiércoles 27 de julio de 11
phonegap
‣ it’s not a compiler
www.phonegap.commiércoles 27 de julio de 11
phonegap
‣ it’s not a compiler‣ it’s not a UI framework
www.phonegap.commiércoles 27 de julio de 11
phonegap
‣ it’s not a compiler‣ it’s not a UI framework‣ you will need every sdk to compile
www.phonegap.commiércoles 27 de julio de 11
phonegap
‣ it’s not a compiler‣ it’s not a UI framework‣ you will need every sdk to compile‣ every device has different rendering engine
www.phonegap.commiércoles 27 de julio de 11
phonegap
‣ it’s not a compiler‣ it’s not a UI framework‣ you will need every sdk to compile‣ every device has different rendering engine‣ we need to use progressive enhancement
www.phonegap.commiércoles 27 de julio de 11
some advices
miércoles 27 de julio de 11
miércoles 27 de julio de 11
good practices
miércoles 27 de julio de 11
don’t be fanatic
photo by Kurt Christensen (flickr)miércoles 27 de julio de 11
be multiplatform
miércoles 27 de julio de 11
best experience for every context
miércoles 27 de julio de 11
you can reach a good experience
Pictures)from)freedigitalphotos.net)
thank you!
twitter: @firtwww.mobilexweb.com
miércoles 27 de julio de 11