jQuery Mobile
-
Upload
maximiliano-firtman -
Category
Technology
-
view
33.657 -
download
0
description
Transcript of jQuery Mobile
max firtman@firt firt.mobi
Zurich, Oct 21 2011
Tuesday, November 1, 11
Danke
Tuesday, November 1, 11
http://invisible.ch
@jcfischer
http://akosma.com
@akosma
Tuesday, November 1, 11
Learn more?
Tuesday, November 1, 11
http://mobile-training.chTuesday, November 1, 11
http://mobile-training.ch
15. - 17. November
Tuesday, November 1, 11
http://mobile-training.ch
15. - 17. November
„Early Bird“ or /ch
/open
CHF 1400
Tuesday, November 1, 11
mobile+web developermobilexweb.com blog
@firt
who am I?
Tuesday, November 1, 11
where?
Tuesday, November 1, 11
buenos aires ~ argentina
where?
Tuesday, November 1, 11
buenos aires ~ argentina
where?
patagonia footballmeat & winetango
Tuesday, November 1, 11
Image from my house
books
Tuesday, November 1, 11
Tuesday, November 1, 11
Using the Latest Today
Estelle Weyl & Maximiliano Firtman
Mobile HTML5
coming soon...also by @estellevw
Tuesday, November 1, 11
Tuesday, November 1, 11
you have a question for me
Tuesday, November 1, 11
the answer is no
Tuesday, November 1, 11
why mobile?
Tuesday, November 1, 11
2015 is coming...
Tuesday, November 1, 11
Tuesday, November 1, 11
mobile devices are ourflying cars
Tuesday, November 1, 11
mobile is more about users
Tuesday, November 1, 11
mobile
Tuesday, November 1, 11
mobile‣ absolutely personal
Tuesday, November 1, 11
mobile‣ absolutely personal‣ +5 billions
Tuesday, November 1, 11
mobile‣ absolutely personal‣ +5 billions‣ will be the 1st browsing device... soon
Tuesday, November 1, 11
mobile‣ absolutely personal‣ +5 billions‣ will be the 1st browsing device... soon‣ make us focus
Tuesday, November 1, 11
mobile‣ absolutely personal‣ +5 billions‣ will be the 1st browsing device... soon‣ make us focus‣ read our context...
Tuesday, November 1, 11
mobile‣ absolutely personal‣ +5 billions‣ will be the 1st browsing device... soon‣ make us focus‣ read our context...‣ ... always...
Tuesday, November 1, 11
mobile‣ absolutely personal‣ +5 billions‣ will be the 1st browsing device... soon‣ make us focus‣ read our context...‣ ... always...‣ ... and everywhere.
Tuesday, November 1, 11
then... what is the problem?
Tuesday, November 1, 11
mobile is a minefield
Photo by World of Good (Flickr) Malvinas / Falklands Islands
Tuesday, November 1, 11
lots of questions
Photo by wayneandwax (Flickr) Tuesday, November 1, 11
lots of questions
we need to learn
Tuesday, November 1, 11
lots of platformsTuesday, November 1, 11
mobile web appears
Tuesday, November 1, 11
nativevs
web
Tuesday, November 1, 11
WAIT!
Tuesday, November 1, 11
Are you sure?
Tuesday, November 1, 11
native codevs
javascript
Tuesday, November 1, 11
browservs
installed apps& stores
Tuesday, November 1, 11
lack of definitions
Tuesday, November 1, 11
when we say mobile web
Tuesday, November 1, 11
when we say mobile web
from a developer’s perspective it’s using HTML, CSS and JavaScript to develop mobile apps
Tuesday, November 1, 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)
Tuesday, November 1, 11
what are the problems with mobile web?
Tuesday, November 1, 11
we are second class producers
Tuesday, November 1, 11
Testing & debugging
Tuesday, November 1, 11
Standards!
Tuesday, November 1, 11
Photo by Ben Millett (Flickr) Tuesday, November 1, 11
Tuesday, November 1, 11
Are you sure?
Photo by Ricky David (Flickr) Tuesday, November 1, 11
What is ?
Tuesday, November 1, 11
html5
Tuesday, November 1, 11
html5
‣ w3c standards (all in draft)
Tuesday, November 1, 11
html5
‣ w3c standards (all in draft)‣ some are other w3c standards
Tuesday, November 1, 11
html5
‣ w3c standards (all in draft)‣ some are other w3c standards ‣ de-facto standards
Tuesday, November 1, 11
html5
‣ w3c standards (all in draft)‣ some are other w3c standards ‣ de-facto standards‣ w3c ex-standards
Tuesday, November 1, 11
html5
‣ w3c standards (all in draft)‣ some are other w3c standards ‣ de-facto standards‣ w3c ex-standards‣ everything “new” on the web
Tuesday, November 1, 11
mobile browsers
Tuesday, November 1, 11
mobile browsers‣ too many
Tuesday, November 1, 11
mobile browsers‣ too many‣ (some) too limited
Tuesday, November 1, 11
mobile browsers‣ too many‣ (some) too limited‣ (some) too innovative
Tuesday, November 1, 11
mobile browsers‣ too many‣ (some) too limited‣ (some) too innovative‣ (some) proxy based
Tuesday, November 1, 11
mobile browsers‣ too many‣ (some) too limited‣ (some) too innovative‣ (some) proxy based‣ (most) without documentation
Tuesday, November 1, 11
mobile browsers‣ too many‣ (some) too limited‣ (some) too innovative‣ (some) proxy based‣ (most) without documentation‣ (most) without a name
Tuesday, November 1, 11
mobile browsers‣ too many‣ (some) too limited‣ (some) too innovative‣ (some) proxy based‣ (most) without documentation‣ (most) without a name‣ (most) without debugging tools
Tuesday, November 1, 11
mobile browsers
Tuesday, November 1, 11
mobile browsers
‣ (some) focus-based
Tuesday, November 1, 11
mobile browsers
‣ (some) focus-based‣ (some) cursor-based
Tuesday, November 1, 11
mobile browsers
‣ (some) focus-based‣ (some) cursor-based‣ (some) touch-based
Tuesday, November 1, 11
mobile browsers
‣ (some) focus-based‣ (some) cursor-based‣ (some) touch-based‣ (some) multitouch-based
Tuesday, November 1, 11
mobile browsers
‣ (some) focus-based‣ (some) cursor-based‣ (some) touch-based‣ (some) multitouch-based‣ (some) with zooming support
Tuesday, November 1, 11
mobile browsers
‣ (some) focus-based‣ (some) cursor-based‣ (some) touch-based‣ (some) multitouch-based‣ (some) with zooming support‣ (most) unknown for web devs
Tuesday, November 1, 11
jQuery mobile
Tuesday, November 1, 11
what is ... ?
Tuesday, November 1, 11
what is not ...?
Tuesday, November 1, 11
jQuery mobile is not...
Tuesday, November 1, 11
jQuery mobile is not...
‣ alternative mobile jQuery framework
Tuesday, November 1, 11
jQuery mobile is not...
‣ alternative mobile jQuery framework‣ SDK for native/hybrid compilation
Tuesday, November 1, 11
jQuery mobile is not...
‣ alternative mobile jQuery framework‣ SDK for native/hybrid compilation‣ a framework for doing all using JS
Tuesday, November 1, 11
jQuery mobile is not...
‣ alternative mobile jQuery framework‣ SDK for native/hybrid compilation‣ a framework for doing all using JS‣ the solution for every app
Tuesday, November 1, 11
jQuery mobile is...
Tuesday, November 1, 11
jQuery mobile is...
a cross-platform UI framework for creating webapps for touch-enabled smartphones and tablets
Tuesday, November 1, 11
webapp?
Tuesday, November 1, 11
a webapp can be...
Tuesday, November 1, 11
a webapp can be...
‣ a website or service based on the
browser
Tuesday, November 1, 11
a webapp can be...
‣ a website or service based on the
browser
‣ a full-screen (chromeless) app on the
browser
Tuesday, November 1, 11
a webapp can be...
‣ a website or service based on the
browser
‣ a full-screen (chromeless) app on the
browser
‣ a hybrid -native app through stores-
Tuesday, November 1, 11
why jQuery mobile?
Tuesday, November 1, 11
Tuesday, November 1, 11
Tuesday, November 1, 11
typeof html5 != boolean
Tuesday, November 1, 11
features
Tuesday, November 1, 11
features
Tuesday, November 1, 11
features‣ non-intrusive semantic html5 code
Tuesday, November 1, 11
features‣ non-intrusive semantic html5 code‣ open sourced
Tuesday, November 1, 11
features‣ non-intrusive semantic html5 code‣ open sourced‣ lightweight
Tuesday, November 1, 11
features‣ non-intrusive semantic html5 code‣ open sourced‣ lightweight‣ multiplatform with progressive enhancement
Tuesday, November 1, 11
features‣ non-intrusive semantic html5 code‣ open sourced‣ lightweight‣ multiplatform with progressive enhancement‣ accessibility support
Tuesday, November 1, 11
features‣ non-intrusive semantic html5 code‣ open sourced‣ lightweight‣ multiplatform with progressive enhancement‣ accessibility support‣ customizable
Tuesday, November 1, 11
features‣ non-intrusive semantic html5 code‣ open sourced‣ lightweight‣ multiplatform with progressive enhancement‣ accessibility support‣ customizable ‣ includes javascript api
Tuesday, November 1, 11
you don’t need to know
Tuesday, November 1, 11
you don’t need to know
‣ html5
Tuesday, November 1, 11
you don’t need to know
‣ html5‣ css 3
Tuesday, November 1, 11
you don’t need to know
‣ html5‣ css 3 ‣ javascript
Tuesday, November 1, 11
you don’t need to know
‣ html5‣ css 3 ‣ javascript‣ jQuery
Tuesday, November 1, 11
you don’t need to know
‣ html5‣ css 3 ‣ javascript‣ jQuery
but... you should :)
Tuesday, November 1, 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
Tuesday, November 1, 11
7KHUH�DUH�DOVR�RSHUDWLQJ�V\VWHP�HPXODWRUV�WKDW�GRQ¦W�UHSUHVHQW�DQ\�UHDO�GHYLFH�KDUGZDUHEXW�UDWKHU�WKH�RSHUDWLQJ�V\VWHP�DV�D�ZKROH��7KHVH�H[LVW�IRU�:LQGRZV�0RELOH�DQG�$Q�GURLG�
2Q�WKH�RWKHU�KDQG��D�VLPXODWRU�LV�D�OHVV�FRPSOH[�DSSOLFDWLRQ�WKDW�VLPXODWHV�VRPH�RI�WKHEHKDYLRU�RI�D�GHYLFH��EXW�GRHV�QRW�HPXODWH�KDUGZDUH�DQG�GRHV�QRW�ZRUN�RYHU�WKH�UHDORSHUDWLQJ�V\VWHP��7KHVH�WRROV�DUH�VLPSOHU�DQG�OHVV�XVHIXO�WKDQ�HPXODWRUV��$�VLPXODWRUPD\�EH�FUHDWHG�E\�WKH�GHYLFH�PDQXIDFWXUHU�RU�E\�VRPH�RWKHU�FRPSDQ\�RIIHULQJ�D�VLP�XODWLRQ�HQYLURQPHQW�IRU�GHYHORSHUV��$V�WKH�VLPXODWRU�GRHV�QRW�VLPXODWH�DOO�WKH�GHYLFHIHDWXUHV��ZH�VKRXOG�ILQG�WRROV�WKDW�ZLOO�QRW�EH�KHOSIXO�IRU�PRELOH�ZHE�GHYHORSPHQW�EXWIRU�RWKHU�WHFKQRORJLHV�� OLNH�-DYD�0(��,Q�PRELOH�EURZVLQJ��WKHUH�DUH�VLPXODWRUV�ZLWKSL[HO�OHYHO� VLPXODWLRQ�� DQG� RWKHUV� WKDW� QHLWKHU� FUHDWH� D� VNLQ� RYHU� D� W\SLFDO� GHVNWRSEURZVHU��H�J���)LUHIR[�RU�6DIDUL��ZLWK�UHDO�W\SRJUDSK\�QRU�UHQGHU�HQJLQH�VLPXODWLRQ�
)LJXUH�������<RX�FDQ�KDYH�DQ�L3DG�IRU�IUHH�LQVLGH�\RXU�0DF�XVLQJ�WKH�L26�6LPXODWRU��7KH�VDPH�FDQKDSSHQV�IRU�RWKHU�WDEOHWV��DOVR�ZLWK�:LQGRZV�RU�/LQX[�GHVNWRS�PDFKLQHV�
Testing webapps | 21
Tuesday, November 1, 11
what do we need?
Tuesday, November 1, 11
what do we need?
Tuesday, November 1, 11
what do we need?
‣ a text editor
Tuesday, November 1, 11
what do we need?
‣ a text editor‣ a browser
Tuesday, November 1, 11
what do we need?
‣ a text editor‣ a browser
‣ and the framework?
Tuesday, November 1, 11
what do we need?
‣ a text editor‣ a browser
‣ and the framework?‣ and hybrid compilers?
Tuesday, November 1, 11
what do we need?
‣ a text editor‣ a browser
‣ and the framework?‣ and hybrid compilers?‣ and emulators and simulators?
Tuesday, November 1, 11
what do we need?
‣ a text editor‣ a browser
‣ and the framework?‣ and hybrid compilers?‣ and emulators and simulators?www.mobilexweb.com/emulators
Tuesday, November 1, 11
warning!
Tuesday, November 1, 11
still not stable
Tuesday, November 1, 11
but near...
Tuesday, November 1, 11
Tuesday, November 1, 11
compatibility
rc2
Tuesday, November 1, 11
compatibility
Tuesday, November 1, 11
compatibility‣ iOS‣ Android‣ BlackBerry >= 5.0‣ Symbian touch‣ HP webOS‣ Windows Phone‣ Opera Mini, Opera Mobile, Firefox‣ Bada, Meego, Kindle 3+, ...‣ Others?
Tuesday, November 1, 11
the framework
Tuesday, November 1, 11
the framework today
Tuesday, November 1, 11
the framework today
‣ a javascript file
Tuesday, November 1, 11
the framework today
‣ a javascript file‣ a css file and a group of images
Tuesday, November 1, 11
the framework today
‣ a javascript file‣ a css file and a group of images
‣ self-hosted
Tuesday, November 1, 11
the framework today
‣ a javascript file‣ a css file and a group of images
‣ self-hosted‣ CDN - “stable” versions
Tuesday, November 1, 11
the framework today
‣ a javascript file‣ a css file and a group of images
‣ self-hosted‣ CDN - “stable” versions‣ CDN - latest versions
Tuesday, November 1, 11
the framework tomorrow
Tuesday, November 1, 11
the framework tomorrow
‣ a custom javascript file
Tuesday, November 1, 11
the framework tomorrow
‣ a custom javascript file ‣ a base css file
Tuesday, November 1, 11
the framework tomorrow
‣ a custom javascript file ‣ a base css file‣ a theme css file and a group of images
Tuesday, November 1, 11
Tuesday, November 1, 11
Tuesday, November 1, 11
<div data-role="page" id="page1"> <div data-role="header"> <h1>Header</h1> </div> <div data-role="content"> <a href="#page2" data-role="button">Go to page 2</a> </div> <div data-role="footer"> <h4>Footer</h4> </div></div>
Tuesday, November 1, 11
<div data-role="page" id="page1"> <div data-role="header"> <h1>Header</h1> </div> <div data-role="content"> <a href="#page2" data-role="button">Go to page 2</a> </div> <div data-role="footer"> <h4>Footer</h4> </div></div>
Tuesday, November 1, 11
<div data-role="content"> <ul data-role="listview"> <li>iPhone <li>Android <li>BlackBerry <li>Symbian <li>webOS <li>MeeGo <li>Bada </ul> </div>
Tuesday, November 1, 11
<div data-role="content"> <ul data-role="listview"> <li>iPhone <li>Android <li>BlackBerry <li>Symbian <li>webOS <li>MeeGo <li>Bada </ul> </div>
Tuesday, November 1, 11
features
Tuesday, November 1, 11
features
‣ fixed toolbars
Tuesday, November 1, 11
features
‣ fixed toolbars‣ list, content and form rich controls
Tuesday, November 1, 11
features
‣ fixed toolbars‣ list, content and form rich controls‣ theming and color swatches
Tuesday, November 1, 11
features
‣ fixed toolbars‣ list, content and form rich controls‣ theming and color swatches‣ transitions
Tuesday, November 1, 11
features
‣ fixed toolbars‣ list, content and form rich controls‣ theming and color swatches‣ transitions‣ ajax
Tuesday, November 1, 11
Icon Description value
Info (i) info
Home icon home
Search icon search
5HPHPEHU�WKDW�WKH�LFRQ�LPDJHV�DUH�SURYLGHG�ZLWK�WKH�IUDPHZRUN��LQ�WKHGRZQORDG�=,3�SDFNDJH�RU�KRVWHG�LQ�WKH�&'1��%XWWRQ�LFRQV�QHHG�WKHLPDJH�IROGHU�WR�EH�DYDLODEOH�LQ�FDVH�ZH�GHFLGH�WR�KRVW�WKH�IUDPHZRUN�E\RXUVHOYHV�RI�LI�ZH�DUH�FUHDWLQJ�D�QDWLYH�DSS�ZLWK�WKH�IUDPHZRUN�LQVLGH�M4XHU\�0RELOH�XVHV�&66�VSULWHV�WR�UHGXFH�LPDJH�ORDGLQJ�RQ�LFRQV�DQG�LWSURYLGHV�WZR�YHUVLRQV��D�ORZ��DQG�D�KLJK�'3,�YHUVLRQV�WKDW�ZLOO�EH�DX�WRPDWLFDOO\�XVHG�
<RX�FDQ�VHH�KRZ�HDFK�LFRQ�LV�UHQGHUHG�LQ�)LJXUH������
Creating custom icons,I�ZH�ZDQW�WR�SURYLGH�RXU�RZQ�FXVWRP�LFRQV��ZH�MXVW�QHHG�WR�GHILQH�RXU�RZQ�XQLTXHQDPH�LQ�WKH�data-icon�DWWULEXWH��7KH�SUHIHUUHG�QDPLQJ�VFKHPH�WR�XVH�LV��DSS�QDPH!��LFRQ�QDPH!��IRU�H[DPSOH��myapp-tweet�
M4XHU\�0RELOH�ZLOO�DXWRPDWLFDOO\�DGG�D�ZKLWH�FLUFOHG�EDFNJURXQG�WR�WKHLFRQ��VR�LW�ZLOO�ZRUN�RQ�HYHU\�URZ�EDFNJURXQG�ZLWKRXW�DQ\�SUREOHP�
M4XHU\�ZLOO�DOVR�H[SHFW�XV�WR�FUHDWH�D�&66�FODVV�FDOOHG�ui-icon-<name>��IRU�H[DPSOH��ui-icon-myapp-tweet��DQG�VSHFLI\�D�EDFNJURXQG�LPDJH��7R�UHGXFH�8,�SUREOHPV��WKH�LFRQVKRXOG�EH�LQ�ZKLWH��RU�D�FOHDU�FRORU���VDYHG�DV�D���[���SL[HOV�31*���ZLWK�DOSKD�WUDQV�
)LJXUH�������$OO�WKH�LFRQV�LQFOXGHG�LQ�WKH�M4XHU\�0RELOH�IUDPHZRUN
84 | Chapter 3:ಗUI Components
Tuesday, November 1, 11
Tuesday, November 1, 11
advanced topics
Tuesday, November 1, 11
advanced topics
‣ using javascript for loading content
Tuesday, November 1, 11
advanced topics
‣ using javascript for loading content‣ theming and customization
Tuesday, November 1, 11
advanced topics
‣ using javascript for loading content‣ theming and customization‣ styling for non-compatible devices
Tuesday, November 1, 11
advanced topics
‣ using javascript for loading content‣ theming and customization‣ styling for non-compatible devices‣ javascript api & events
Tuesday, November 1, 11
advanced topics
‣ using javascript for loading content‣ theming and customization‣ styling for non-compatible devices‣ javascript api & events‣ html5 (geolocation, offline storage, offline access, accelerometer)
Tuesday, November 1, 11
you can reach a good experience
Pictures)from)freedigitalphotos.net)
thank you!
firt.mobitwitter: @firt
mobilexweb.com
https://www.ch-open.ch/auswertung/
Tuesday, November 1, 11