mobile development with standards and open source

Post on 15-Jan-2015

2.687 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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!

firt.mobifirtman@gmail.com

twitter: @firtwww.mobilexweb.com

miércoles 27 de julio de 11

top related