Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
jquery mobile
Search
Andreas Bjärlestam
May 25, 2011
Technology
76
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
jquery mobile
Andreas Bjärlestam
May 25, 2011
More Decks by Andreas Bjärlestam
See All by Andreas Bjärlestam
Climate compensate with a pull request
bjarlestam
0
53
Agile performance testing
bjarlestam
0
120
SPDY and HTTP2
bjarlestam
1
1.3k
SPDY or maybe HTTP2.0
bjarlestam
4
70
Devise - taking care of your users
bjarlestam
0
80
REST with JAX-RS
bjarlestam
1
98
REST
bjarlestam
2
170
Other Decks in Technology
See All in Technology
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
作って理解するCoding Agent 〜フレームワークに頼らないピュア Python での実装〜
takapy
4
1.3k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
86k
500名弱規模の組織のPythonプロジェクト(dbt) をどう管理するか?
hiracky16
0
140
EMの役割で 変わったこと・変わらなかったこと
sansantech
PRO
0
130
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
77k
AI時代の「OAuth認証」にどう物申すか?(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
270
The Django UUID Story - DjangoCon US 2026
pauloxnet
0
260
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
620
dbt in Microsoft Fabric
ryomaru0825
0
260
AI駆動開発をチームに根付かせる - 「1行も書かない」チームがHarnessを育てた1年 -
kenichirokimura
2
330
英語が話せなくてもKubeConスタッフに参加した話
yusuke427
2
1.1k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
How to train your dragon (web standard)
notwaldorf
97
6.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Curse of the Amulet
leimatthew05
2
14k
We Have a Design System, Now What?
morganepeng
55
8.3k
WENDY [Excerpt]
tessaabrams
11
39k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Designing Powerful Visuals for Engaging Learning
tmiket
1
510
The agentic SEO stack - context over prompts
schlessera
0
880
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
Andreas Bjärlestam! 2011-05-25!
Web vs Apps • Referral traffic is lost with
Apps • Google does not index Apps • Customers are already going to the website • Cross device • Apps are in the hands of pla>orm vendors
Frameworks Frameworks Frameworks
For building mobile applicaAons with web technology For
building mobile friendly websites
Features • HTML5 based • Progressive enhancement
– Works in less capable browsers but with limited features • Accessibility – Designed to work with screen readers – WAI-‐ARIA
jQuery means JavaScript right?
Well… not in this case jQuery-‐mobile development is mostly
about markup
Pages
None
Simple page example <div data-role="page" id="home"> <div data-role="header"> <h1>Page
header</h1> </div> <div data-role="content"> <h3>Hi!</h3> <p>This is a simple page made with jquery mobile</p> </div> <div data-role="footer"> <h4>Page Footer</h4> </div> </div>
Page navigaAon
UI elements List views BuSons Dialogs
Popup menus Sliders Checkboxes
<form action="form.php" method="post"> <label for="slider">Slider: </label> <input type="number" data-type="range” name="slider"
id="slider" min="40" max="80" value="50"/> <label for="q">Search: </label> <input data-type="search" name="q" id="q"/> <fieldset data-role="controlgroup"> <legend>Choose many:</legend> <input type="checkbox" name="checkbox-1" id="checkbox-1" /> <label for="checkbox-1">Option 1</label> <input type="checkbox" name="checkbox-2" id="checkbox-2" /> <label for="checkbox-2">Option 2</label> <input type="checkbox" name="checkbox-3" id="checkbox-3" /> <label for="checkbox-3">Option 3</label> </fieldset> <label for=”switch">Flip switch:</label> <select name=”switch" id=”switch" data-role="slider"> <option value="off">Off</option> <option value="on">On</option> </select> </form>
Page transiAons Slide Flip Pop Fade
Slide up Slide down
How are these nice effects done?
CSS transforms • GPU accelerated • Compact code
= efficient • Currently only implemented for webkit
.flip { -webkit-animation-name: flipinfromleft; -webkit-animation-timing-function: ease-in-out; -webkit-animation-duration: 2s; } @-webkit-keyframes
flipinfromleft { from { -webkit-transform: rotateY(180deg); } to { -webkit-transform: rotateY(0); } }
How can we handle all these phones?
Progressive Enhancement
None
Performance in the mobile environment
Bandwidth vs Latency
Bandwidth Latency source: hSp://www.belshe.com/2010/05/24/more-‐bandwidth-‐doesnt-‐maSer-‐much/
Latency is bad for wireless
Reduce roundtrips to fight latency
How does jQuery Mobile handle this?
How jQuery fights Latency • Gradients and shadows with
CSS3 – No background-‐images to load • Image icons in css-‐sprite • And…
Remember WAP and WML? The Card Deck
jQuery mobile supports mulAple pages in a single html
document
JavaScript Event-‐listeners tap taphold swipe swipelea
swiperight orientaAonchange scrollstart scrollstop
Events -‐ examples $('#tapMe').tap(function(e) { alert('tap!' ); }); $('#home').swipeleft(function(e)
{ alert('swipe left!' ); });
Theming • Object oriented CSS • Similar to
jQuery-‐UI • CSS3 to minify footprint – Rounded corners – Shadows – Gradients • Color “swatches” – A theme includes several color schemes that can be applied on different content
data-‐theme=“b” data-‐theme=“a” data-‐theme=“e”
Andreas Bjärlestam mailto:
[email protected]
hSp://twiSer.com/bjarlestam
ASribuAon • hSp://www.flickr.com/photos/brdavids/2699221787 • hSp://www.slideshare.net/bryanrieger/rethinking-‐the-‐mobile-‐web-‐by-‐yiibu • hSp://www.belshe.com/2010/05/24/more-‐bandwidth-‐doesnt-‐maSer-‐much