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
Tools of the Mobile Web
Search
Matthew Crist
February 29, 2012
Programming
12
1.2k
Tools of the Mobile Web
The deck from my talk at the inaugural Emerging Tech Meetup at Cantina.
Matthew Crist
February 29, 2012
Tweet
Share
More Decks by Matthew Crist
See All by Matthew Crist
Rapid Design in the Real World
matthewcrist
4
1.2k
Blink & Marquee: Let's get it right this time.
matthewcrist
1
280
Users Hate Slow Websites
matthewcrist
7
310
The Business Case for Responsive
matthewcrist
1
160
Honest SEO
matthewcrist
9
430
Optimize It!
matthewcrist
1
200
BBQ
matthewcrist
80
8.8k
CSS Layouting
matthewcrist
28
1.6k
Other Decks in Programming
See All in Programming
Sheets API使ってみた
toshi0383
2
170
WebGLで始める コンピュータグラフィックス入門
heller77
0
360
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
490
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
1.1k
The Cutting Edge Of Versioning (LambdaConf 2024)
chriskrycho
0
240
Apache Hive 4 on Treasure Data
ryukobayashi
1
470
最近コードレビューで指摘したこと
forrep
3
100
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
370
Documentation testsの恩恵 / Documentation testing benefits
ssssota
1
460
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
1.2k
Fragment Composition of GraphQL
quramy
13
1.6k
ts-morphを使ってコードリプレイスとASTへのハードルを下げる!
nyawach
3
220
Featured
See All Featured
Thoughts on Productivity
jonyablonski
60
3.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Into the Great Unknown - MozCon
thekraken
15
1.1k
4 Signs Your Business is Dying
shpigford
176
21k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
A designer walks into a library…
pauljervisheath
201
23k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
Transcript
MOBILE Tools of the MOBILE web
Native Hybrid Mobile Web Frameworks
All-in-one frameworks Sencha Touch too
Frameworks allow for quick development of mobile apps. <div data-role="page"
data-theme="b"> <div data-role="header" data-theme="b"> <h1>Place Puppy Mobile</h1> </div> <div data-role="content"> <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="a"> <li data-role="list-divider">Puppies</li> <li><a href="food.php?id=slide" data-transition="slide">Slide</a></li> <li><a href="effects.php?id=slideup" data-transition="slideup">Slide Up</a></li> </ul> <ul data-role="listview" data-dividertheme="e"> <li data-role="list-divider">List of Puppies</li> <li><a href="#" data-transition="slide">Another List of Puppies</a></li> </ul> </div> <div data-role="footer" data-position="fixed"> <h1>© 2012 Place Puppy</h1> </div> </div> No Sencha Touch example could fit in a slide.
Frameworks are great for quick development, but...
...framework apps just never feel right.
If an app looks native, it should perform natively.
Framework experiences tend to be choppy...
...and their scrolling sucks.
If you’re going with the web, embrace the web. The
good & bad parts. http://cri.st/EUli
It’s possible to use a framework while embracing the web.
http://bagcheck.com
Hybrid Mobile Web Frameworks à la carte
50% of mobile users abandon after 6-10 seconds.
Server Response Processing + Page time
Every library adds processing time.
Backbone.js Sammy.js Spine.js Javscript MVC Agility.js Knockout.js Angular.js Ember.js Eyeballs.js
Client side MVC...
... can be overkill. Handle with care.
Micro libraries can ensure you only use what you need.
jQuery Zepto Zest http://cri.st/EdMn http://zeptojs.com/ > >
Ender.js helps too... “Build only what you need, when you
need it.”
http://microjs.com/
~92% of mobile is webkit...
...build if it were 0%
Replace JavaScript animations with CSS3...
...fall back to Javascript if you have to.
CSS3’s translate3d utilizes hardware acceleration. .selector {transform: translate3d(0,0,0)}
Use local storage to cache to maximize performance. window.localStorage.set(‘something’, variable);
Cache manifest in HTML5 can reduce calls to the server.
<html manifest="puppy.appcache"> ... </div> CACHE MANIFEST puppy.html puppy.css jquery.min.js puppy.js puppy.html puppy.appcache
Mobile Web Frameworks à la carte Responsive Design
Great for content sites and some apps.
Doesn’t solve 100% of the problem.
Use responsive principals for device targeted sites.
Frameworks à la carte Responsive Design Fin.