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
13
1.3k
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.3k
Blink & Marquee: Let's get it right this time.
matthewcrist
1
400
Users Hate Slow Websites
matthewcrist
7
410
The Business Case for Responsive
matthewcrist
2
240
Honest SEO
matthewcrist
10
640
Optimize It!
matthewcrist
2
290
BBQ
matthewcrist
89
9.8k
CSS Layouting
matthewcrist
29
1.8k
Other Decks in Programming
See All in Programming
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
510
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
Namespace and Its Future
tagomoris
6
700
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
520
print("Hello, World")
eddie
2
530
Cache Me If You Can
ryunen344
2
690
アセットのコンパイルについて
ojun9
0
120
1から理解するWeb Push
dora1998
7
1.9k
rage against annotate_predecessor
junk0612
0
170
Swift Updates - Learn Languages 2025
koher
2
470
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
590
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
2.3k
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
224
9.9k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
YesSQL, Process and Tooling at Scale
rocio
173
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
4 Signs Your Business is Dying
shpigford
184
22k
Bash Introduction
62gerente
615
210k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Designing for Performance
lara
610
69k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
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.