82
СМАРТФОНЫ И ПЛАНШЕТНИКИ MOBILE-FRIENDLY ВЕБ-РАЗРАБОТКА ПОМИМО ДЕСКТОПА Patrick H. Lauke / RIT++ Conference 2011 / Moscow / 25 April 2011

смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

  • Upload
    rit2011

  • View
    2.109

  • Download
    0

Embed Size (px)

Citation preview

Page 1: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

СМАРТФОНЫ И ПЛАНШЕТНИКИMOBILE-FRIENDLY ВЕБ-РАЗРАБОТКА ПОМИМО ДЕСКТОПА

Patrick H. Lauke / RIT++ Conference 2011 / Moscow / 25 April 2011

Page 2: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

mobile web is increasingly important

Page 3: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

we need a website optimised for iPhone

Page 4: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

oh, und another onefor the iPad

Page 5: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

“remove iPhone from ass”Peter-Paul Koch, The iPhone obsession

www.quirksmode.org/blog/archives/2010/02/the_iphone_obse.html

Page 6: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

sites that work on (almost) all mobile devices

Page 7: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 8: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 9: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

what exactly is a “mobile device”?

Page 10: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 11: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 12: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

3 approaches

Page 13: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

1. do nothing

Page 14: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

not WAP or text anymore...

Page 15: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

modern mobile browserswork ok with “normal” sites

Page 16: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 17: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

“but the mobile context...”

Page 18: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

“Desktop computers and mobile devices are so different that the only way to offer a great user experience is to create two

separate designs — typically with fewer features for mobile.”www.useit.com/alertbox/mobile-redesign.html

Page 19: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

2. separate mobile site(m.flickr.com, mobile.mysite.com, ...)

Page 20: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

внимание: browser sniffingphoto: http://www.flickr.com/photos/timdorr/2096272747/

Page 21: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

let the user decide:desktop or mobile?

Page 22: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 23: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 24: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 25: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 26: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 27: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

refactored for small screen,not dumbed down for mobile

Page 28: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

3. single adaptive site

Page 29: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

nothing new...fluid layout, progressive enhancement, graceful degradation

Page 30: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

www.alistapart.com/articles/dao

The Sage “... accepts the ebb and flow of things, Nurtures them, but does not own them,”

Tao Te Ching; 2 Abstraction

Page 31: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

adaptive layouts

Page 32: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

CSS 2.1 Media Types

Page 33: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

Media types

all brailleembossed handheldprint projectionscreen speechtty tv

Page 34: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

CSS 2.1 Media Types<link rel="stylesheet" ... media="print" href="...">

@import url("...") print;

@media print { // insert CSS rules here}

Page 35: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

CSS 3 Media Queries“...the new hotness” Jeffrey Zeldman

http://www.zeldman.com/2010/04/08/best-aea-yet/

Page 36: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

CSS 3 Media Queries

● extend concept of CSS 2.1 Media Types● more granular control of capabilities

http://www.w3.org/TR/css3-mediaqueries/

Page 37: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

Media featureswidth colorheight color-indexdevice-width monochromedevice-height resolutionorientation scanaspect-ratio griddevice-aspect-ratio

Page 38: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

CSS 3 Media Queries<link rel="stylesheet" ... media="screen and (max-width:480px)" href="...">

@import url("...") screen and (max-width:480px);

@media screen and (max-width:480px) { // insert CSS rules here}

Page 39: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

Multiple media queries@media screen and (max-width:480px) { // screen device and width < 480px }

@media screen and (max-width:980px) { // screen device and width < 980px }

@media screen and (min-width:980px) { // screen device and width > 980px }

Page 40: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

www.alistapart.com/articles/responsive-web-design

Page 41: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

http://mediaqueri.es

Page 42: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

http://mediaqueri.es

Page 43: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

http://mediaqueri.es

Page 44: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

http://mediaqueri.es

Page 45: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

www.themaninblue.com/writing/perspective/2004/09/21

Page 46: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

“not a magic bullet...”

Page 47: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

viewport meta

Page 48: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

physical vs virtual pixels

Page 49: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 50: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

mobile devices lie(to better serve the user)

Page 51: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

viewport metasuggests sizing to mobile browser

Page 52: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

viewport meta<meta name="viewport" content="width=320,user-scalable=no">

http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html

Page 53: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

Viewport properties

width initial-scaleheight minimum-scaleuser-scalable maximum-scale

Page 54: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 55: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 56: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

<meta name="viewport" content="width=550">

Page 57: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 58: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

<meta name="viewport"content="width=device-width">

+

@media screen and (…) { … }

Page 59: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

CSS Device Adaptation@viewport { width: device-width;}

@viewport { width: 320px; zoom: 2.3; user-zoom: fixed;}

dev.w3.org/csswg/css-device-adapt

Momentan nur in Opera Mobile 11 beta mit -o- prefix dev.opera.com/articles/view/an-introduction-to-meta-viewport-and-viewport

Page 60: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

Viewport properties

width / min-width / max-width user-zoom

height / min-height / max-height orientation

zoom / min-zoom / max-zoom

Page 61: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

touch interfaces

Page 62: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

:hoveronmouseover(...)onmouseout(...)

Page 63: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 64: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

no hover ontouch devices*

*but some devices/browsers fake it

Page 65: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

:focusonfocus(...)onblur(...)

Page 66: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

no focus ontouch devices*

*only after an actual click

Page 67: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

touch events

window.addEventListener('touchstart', function(e){ … }, true);window.addEventListener('touchmove', function(e){ … }, true);window.addEventListener('touchend', function(e){ … }, true);

e.touches[0].pageX; e.touches[0].pageY; …

Page 68: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

progressive enhancement:mouse, keyboard and touch events

Page 69: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 70: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

multimedia

Page 71: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

video, audio und canvaswithout plug-ins

(Java / Flash / Silverlight absent from some devices)

Page 72: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1
Page 73: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

geolocation

Page 74: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

navigator.geolocation.getCurrentPosition(success, error);navigator.geolocation.watchCurrentPosition(success, error);

function success(position) {/* where's Wally? */var lat = position.coords.latitude;var long = position.coords.longitude;...

}

Page 75: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

progressive enhancement:geolocation in addition to other

methods (IP address look-up, form, ...)

Page 76: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

online/offline

Page 77: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

application cache, localStorage/sessionStorage,

WebSQL, IndexDB

Page 78: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

…and more (work in progress)WebGL, device API, orientation …

Page 79: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

adaptive techniquesnot just for “mobile”

Page 80: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

twitter.com/#!/stephenhay/status/23350345962889216

Page 81: смартфоны и планшетники. веб разработка помимо десктопа. Patrick h. lauke. зал 1

1. do nothing2. separate mobile site3. single adaptive site