Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Html5 Mobile Apps: Tips & Tricks
Search
Elijah Glover
March 28, 2013
Programming
630
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Html5 Mobile Apps: Tips & Tricks
Elijah Glover
March 28, 2013
Other Decks in Programming
See All in Programming
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
1k
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
640
Next.js: The final boss of Web Performance
guaca
0
260
JIS keyboard support in Omarchy
lef237
0
110
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
430
ChromeでローカルLLM
ryu1013
0
140
SREの越境 / SRE Collaboration
y0hgi
2
310
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
2
550
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
190
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
550
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Scaling GitHub
holman
464
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
The Cost Of JavaScript in 2023
addyosmani
55
10k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Transcript
HTML5 MOBILE APPS Tips & Tricks Elijah Glover
[email protected]
@elijahglover
What We Are Building HTML5 Mobile app used by ~
3.5m iPhone, Android, Blackberry & Windows Phone No Mobile Frameworks - ie. jQuery Mobile
HOW MODERN ARE PHONE BROWSERS? iOS 4, Android 2.2 runs
the equivalent webkit version of Google Chrome 5 (Q2 2010) iOS 6, Android 4.2 runs the equivalent webkit version of Google Chrome 26 (Q1 2013 ~ Current) Most mobile browsers are based off the webkit project
FRAMEWORKS knockout.js MVVM Framework require.js AMD Loader, IoC/DI sammy.js Routing
Framework modernizr Browser Feature Detection
SINGLE PAGE APPS (SPA)
UNDER THE HOOD define("vm/login", ! ["ko", "jQuery"], ! function(ko, $)
{ ! ! var self = this; ! ! self.userName = ko.observable(); ! ! self.password = ko.observable(); ! ! ko.applyBindings(self, $("#login")[0]); ! ! return self; ! })); var app = Sammy('#app', function() { ! this.get('#/login', function() { ! ! require(["vm/login"], function(viewModel) { ! ! ! $("#login").show(); ! ! }); ! }); }); app.run('#/login');
//Use Modernizr To Detect Prefixed Event Name var animationEndName =
(Modernizr.prefixed('animation') + "End") .replace(/^ms/, "MS") .replace(/^Webkit/, "webkit") .replace(/^Moz.*/, "animationend"); //Bind Once & Wait For AnimationEnd To Be Called $("#view1").one(animationEndName, function() { ! //Animation Complete }).addClass("view-transition"); ANIMATION & TRANSITIONS iOS 3.2+ Android 2.1+ Blackberry 6.0+ Windows Phone 8+ Native CSS3 Support
ANIMATION & TRANSITIONS Windows Phone 7 //Detect Support For CSS3
Animations if (!Modernizr.cssanimations) { ! $("#view1").animate({ left: 200 }, { ! ! complete: function() { ! ! ! //Animation Complete ! ! } ! }); } DOM Animation via jQuery
VIEWPORT <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes" /> The viewport
you specify is important! It tells the browser how to render your page Android ignores CSS3 properties when user-scalable is set to yes.
CSS GOTCHA’S position: fixed; iOS 5+, Android 2.2+, BlackBerry 7+,
Windows Phone 8 overflow: scroll; iOS 5+, Android 2.2+, BlackBerry 7+, Windows Phone 8 overflow-x: scroll; -webkit-overflow-scrolling: touch; //Adds Smooth Scrolling overthrow.js - http://filamentgroup.github.com/Overthrow/ iOS4, Android 2.1, Blackberry 6
EMULATORS & SIMULATORS TOOLKIT Xcode iOS Simulator (OSX) Android SDK
Emulator (Windows, OSX, Linux) Windows Phone Emulator (Windows) Blackberry Simulator (Windows)
WEb INspector REmote WEINRE “winery” <script src="http://localhost:8080/target/target-script-min.js"></script>
HTML5 Feature Matrix http://mobilehtml5.org/ Mobile Emulators & Simulators: The Ultimate
Guide http://www.mobilexweb.com/emulators