iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

43
Estelle Weyl http://standardista.com http://evotech.net/blog @estellevw CSS3 & iPhone http://findmebyip.com/litmus/

description

Wouldn't it be cool to be able to use CSS3 and HTML5 unfettered by the lack of support in IE? Mobile developers for smart phones get to do just that!When developing for iPhones, iPods, iPads and Android devices—mobile devices using webkit browsers—we can use CSS animations, transforms, multiple background images, rounded corners, text and box shadows, CSS columns, and HTML5 form elements.In this session we'll use some CSS3 features learned in earlier session to create a native looking iPhone web app. We'll also cover some CSS UI and HTML5 form elements that will help you get up to speed on developing for mobile webkit. You don't have to wait any longer to use CSS3!

Transcript of iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Page 1: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Estelle Weylhttp://standardista.comhttp://evotech.net/blog

@estellevw

CSS3 & iPhone

htt

p:/

/findm

eb

yip

.com

/lit

mu

s/

Page 2: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

http://fi

ndmebyip.com/litmus/

Page 3: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

CSS2.1

Page 4: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

CSS3Unfinished, but well supported

Page 5: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

iPhone = SafariNo need to do any Cross browser testing!!!

Page 6: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

CSS3

Safari Supports all of CSS3

Safari Supports HTML5

almost

^

^much of

Page 7: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

CSS3 Features CSS3 Selectors

Text Shadow (2.0)

Box Shadow (prefixed)

Rounded Corners (prefixed)

@font-face

Colors & Alpha Transparency (hsla, rgba)

Opacity

Multiple background images

Page 8: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

CSS3 Features Text-overflow

Gradients

Transforms

Background size

Multi-column layout

Animations

Transitions

Border-image

Reflections

Page 9: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

HTML5

databases

Storage

Offline Applications

GeoLocation

<canvas>, <svg>, <audio>, <video>

Web Forms…

Page 10: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

HTML5 Template

<!DOCTYPE html><html><head><meta charset="UTF-8"/><title>Remember this!!</title></head><body></body></html>

Page 11: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

HTML5 Input Types

date /time / datetime / datetime-local / month / week

email

url

tel

number

range

search

Page 12: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

iPhone Input Behavior

Page 13: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

iPhone v. Desktop

Input file type does Not work

<a href=“tel:14155551212>Call me</a>

google maps, iTunes and Youtube links open widgets

mailto: opens mail application

view source debugger ✔

Page 14: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Firebug for iPhone???

Settings > Safari > Developer > Debug Console

Page 15: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Firebug for Safari?

Switch user agent to iPhone

Use Web Inspector to debug

Page 16: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

iPhone Simulator

Page 17: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

And for Windows?

And for Windows?

Page 18: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Beautiful bookmarks

<link rel="apple-touch-icon" href="/iphoneicon.png" />apple-touch-icon.png

Page 19: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Targeting the Phone

Viewport:<meta name="viewport" content="width=980”/><meta name="viewport" content="width=device-width”/><meta name="viewport" content="user-scalable=no, width=device-width"/>

Prohibit Zoom / Pinch:<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0" />

Page 20: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Targeting the Phone

@media screen and (max-device-width: 480px){ /* iPhone CSS here */ }

Page 21: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Hide the Title bar

<script>

addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false);

function hideURLbar(){ window.scrollTo(0,1);

}

}

</script>

Page 22: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Don’t reinvent the wheel

Page 23: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Sencha Touch

Page 25: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 26: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 27: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 28: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 29: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

http://www.westciv.com/tools/gradients/

Page 30: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 31: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 32: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

h1 { white-space: nowrap; width: 180px; overflow: hidden; -o-text-overflow: ellipsis; text-overflow: ellipsis; }

Page 33: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 34: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 35: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 36: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

foo {

background-image: url(foo.png);

-moz-background-size: 100% 50%; //FF3.6

-o-background-size: 100% 50%; //O 9.5

-webkit-background-size: 100% 50%; //Saf 3.0            

background-size: 100% 50%;

}

Page 37: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 38: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 39: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 40: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development
Page 41: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

CSS3 Selectors

:nth-of-type()

tr:nth-of-type(even) td{ background-color: #dedede;}

Page 42: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Thanks.

Estelle Weyl

Twitter: @estellevw

Blog: http://www.standardista.com

http://evotech.net/blog

Page 43: iPhone Web Applications: HTML5, CSS3 & dev tips for iPhone development

Prizes

Copy of my Book - Beginning iPhone Web Apps: HTML5, CSS3, and JavaScript for WebKithttp://apress.com/book/view/9781430230069