Особенности верстки под мобильные устройства

Содержание

Слайд 2

Содержание:

Введение
Под какие браузеры верстаем
Выбор языка разметки
Viewports
Media queries
Формы
Ссылки
JavaScript
Тестирование

Содержание: Введение Под какие браузеры верстаем Выбор языка разметки Viewports Media queries Формы Ссылки JavaScript Тестирование

Слайд 3

Введение

Зачем это нужно
Что будет рассмотрено

Введение Зачем это нужно Что будет рассмотрено

Слайд 4

Зачем это нужно

Mobile internet растет быстрее чем desktop internet
Рост продаж смартфонов
Снижение продаж

Зачем это нужно Mobile internet растет быстрее чем desktop internet Рост продаж
телефонов
3G – ключ к успеху мобильного интернета

Слайд 5

Зачем это нужно

Mobile internet растет быстрее чем desktop internet

Зачем это нужно Mobile internet растет быстрее чем desktop internet

Слайд 6

Зачем это нужно

Рост продаж смартфонов

Зачем это нужно Рост продаж смартфонов

Слайд 7

Зачем это нужно

Снижение продаж телефонов

Зачем это нужно Снижение продаж телефонов

Слайд 8

Зачем это нужно

3G – ключ к успеху мобильного интернета

Зачем это нужно 3G – ключ к успеху мобильного интернета

Слайд 9

Что будет рассмотрено

Как и какой стандарт языка выбрать?
На что обращать внимание?
Как проверять

Что будет рассмотрено Как и какой стандарт языка выбрать? На что обращать внимание? Как проверять результат?
результат?

Слайд 10

Под какие браузеры верстаем

Виды браузеров
Доля браузеров
Совместимость браузеров

Под какие браузеры верстаем Виды браузеров Доля браузеров Совместимость браузеров

Слайд 11

Виды браузеров: полнофункциональные рендеринг происходит непосредственно на устройстве

WebKit
Safari
Apple, OS: iOS
Android WebKit
Google, OS: Android
Dolfin
Samsung,

Виды браузеров: полнофункциональные рендеринг происходит непосредственно на устройстве WebKit Safari Apple, OS:
OS: bada
BlackBerry WebKit
RIM, OS: BlackBerry
Palm WebKit
HP, OS: WebOS
Phantom
LG, OS: S-class
Symbian WebKit
Nokia, OS: Symbian
S40 WebKit
Nokia, OS: S40

Presto
Opera Mobile
Opera, OS: Android, MeeGo, Symbian, Windows Mobile

Gecko
MicroB
Nokia, OS: MeeGo
Firefox
Mozilla, OS: Android, MeeGo

Mango
BlackBerry old
RIM, OS: BlackBarry old

Trident
IE Mobile
Microsoft, OS: Windows Mobile

NetFront
NetFront
Access, OS: LiMo, Windows Mobile

Obigo
Obigo
Teleca, OS: Brew, LiMo, MeeGo

Слайд 12

Виды браузеров: mini рендеринг происходит на сервере

WebKit
Bolt
Bitstream, OS: BlackBerry, BlackBerry ol, Symbian, Windows

Виды браузеров: mini рендеринг происходит на сервере WebKit Bolt Bitstream, OS: BlackBerry,
Mobile

Presto
Opera Mini
Opera, OS: Android, bada, BlackBerry old, Brew, iOS, S40, Symbian, Windows Mobile

Gecko
Ovi
Nokia, OS: S40

UC
UCWeb
UC, OS: Android, bada, iOS, Ophone, Symbian, Windows Mobile

Слайд 13

Доля браузеров: worldwide

Доля браузеров: worldwide

Слайд 14

Доля браузеров: worldwide

Доля браузеров: worldwide

Слайд 15

Доля браузеров: North America

Доля браузеров: North America

Слайд 16

Доля браузеров: North America

Доля браузеров: North America

Слайд 17

Доля браузеров: Europe

Доля браузеров: Europe

Слайд 18

Доля браузеров: Europe

Доля браузеров: Europe

Слайд 19

Доля браузеров: Russian Federation

Доля браузеров: Russian Federation

Слайд 20

Доля браузеров: Russian Federation

Доля браузеров: Russian Federation

Слайд 21

Совместимость браузеров

http://www.quirksmode.org/mobile/

Совместимость браузеров http://www.quirksmode.org/mobile/

Слайд 22

Выбор языка разметки

Какие стандарты поддерживаются
Отличия стандартов
Какой стандарт выбрать

Выбор языка разметки Какие стандарты поддерживаются Отличия стандартов Какой стандарт выбрать

Слайд 23

Какие стандарты поддерживаются

HTML5

XHTML

HTML

Какие стандарты поддерживаются HTML5 XHTML HTML XHTML Mobile Profile (XHTML-MP) Wireless Markup Language (WML)
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML Mobile Profile (XHTML-MP)

Wireless Markup Language (WML)

Слайд 24

Отличия стандартов

http://www.w3c.org

Отличия стандартов http://www.w3c.org

Слайд 25

Какой стандарт выбрать

XHTML: Ориентирован на продвинутые мобильные устройства и смартфоны. Все больше

Какой стандарт выбрать XHTML: Ориентирован на продвинутые мобильные устройства и смартфоны. Все
мобильных браузеров поддерживают XHTML в дополнении к XHTML MP и WML. Однако XHTML не поддерживается большинством мобильных телефонов.
XHTML-MP: Ориентирован на большинство мобильных устройств, как телефонов, так и смартфонов, за исключением iPhone. XHTML-MP – стандарт языка для разметки сайтов для мобильных устройств.
WML: Ориентирован на старые мобильные устройства, с минимальной поддержкой графики, где малый размер документа является приоритетом.

Слайд 26

Viewports

Что такое viewport
Visual, Layout and Screen
Meta name=“viewport”
Поддержка

Viewports Что такое viewport Visual, Layout and Screen Meta name=“viewport” Поддержка

Слайд 27

Что такое viewport

Что такое viewport

Слайд 28

Что такое viewport
Разница между CSS-точками и физическими точками

Что такое viewport Разница между CSS-точками и физическими точками

Слайд 29

Visual, Layout, Screen

Visual viewport – часть страницы, которая в данный момент отображается

Visual, Layout, Screen Visual viewport – часть страницы, которая в данный момент
на экране. Пользователь может изменить видимую часть страницы, проскроллировав ее или увеличив масштаб отображения.
Layout viewport – вся страница. Размер разный в зависимости от браузера.

Слайд 30

Visual, Layout, Screen

Visual, Layout, Screen

Слайд 31

Visual, Layout, Screen: как измерять

Измеряется JavaScript:

Visual, Layout, Screen: как измерять Измеряется JavaScript:

Слайд 32

Meta name=“viewport”

Устанавливает размер layout viewport

Meta name=“viewport” Устанавливает размер layout viewport

Слайд 33

Meta name=“viewport”

Пример 1:
viewport не установлен
Браузер отображает все содержимое страницы, увеличивая размер visual

Meta name=“viewport” Пример 1: viewport не установлен Браузер отображает все содержимое страницы,
viewport до максимальных размеров.

Слайд 34

Meta name=“viewport”

Пример 2:

Браузер отображает содержимое страницы в определенных размерах visual

Meta name=“viewport” Пример 2: Браузер отображает содержимое страницы в определенных размерах visual viewport.
viewport.

Слайд 35

Meta name=“viewport”

Пример 3:

Браузер отображает содержимое страницы в определенных размерах visual

Meta name=“viewport” Пример 3: Браузер отображает содержимое страницы в определенных размерах visual viewport.
viewport.

Слайд 36

Meta name=“viewport”

Пример 4:

Браузер отображает содержимое страницы в размерах visual viewport

Meta name=“viewport” Пример 4: Браузер отображает содержимое страницы в размерах visual viewport устанавливаемых устройством.
устанавливаемых устройством.

Слайд 37

Meta name=“viewport”

Пример 5:

Содержимое шире размера visual viewport
Браузер пытается отобразить все

Meta name=“viewport” Пример 5: Содержимое шире размера visual viewport Браузер пытается отобразить
содержимое, несмотря на установленные размеры viewport.

Слайд 38

Meta name=“viewport”

Пример 6:

Содержимое шире размера visual viewport
Браузер отображает содержимое страницы

Meta name=“viewport” Пример 6: Содержимое шире размера visual viewport Браузер отображает содержимое
в размерах visual viewport устанавливаемых устройством.

Слайд 39

Meta name=“viewport”


Meta name=“viewport”

Слайд 40

Meta name=“viewport”

Opera Mobile 10.10 – не позволяет изменять размер страницы
iOS – ширина

Meta name=“viewport” Opera Mobile 10.10 – не позволяет изменять размер страницы iOS – ширина viewport 320.
viewport 320.

Слайд 41

Media queries

Что это такое
Кем поддерживается

Media queries Что это такое Кем поддерживается

Слайд 42

Media query: что это

CSS2 - позволяет указать таблицу стилей для конкретного типа

Media query: что это CSS2 - позволяет указать таблицу стилей для конкретного
носителей, таких как экран или принтер.
CSS3 - вы можете добавить выражения к media type для проверки определенных условиях и применять различные стили.

Слайд 43

Media query: что это

Media query состоит из media type и условия

Media query: что это Media query состоит из media type и условия
media="screen and (color)" href="example.css" />
@import url(color.css) screen and (color);
Media query – это логическое выражение, соответственно должно принимать значения true или false
Несколько выражений могут быть объединены в одно
@media screen and (color), projection and (color) { … }
, в этом списке – логическое OR, and – логическое AND
not – логическое NOT

only – позволяет спрятать выражение от старых user agent

Слайд 44

Media query: что это

Media query: что это

Слайд 45

Media query: совместимость

Static – media query не сработает при изменении размера экрана

Media query: совместимость Static – media query не сработает при изменении размера экрана

Слайд 46

Media query: примеры

Пример 7:
@media screen and (max-device-width: 320px) {
DIV {
background-color: yellow;
color: black;
}
}
@media

Media query: примеры Пример 7: @media screen and (max-device-width: 320px) { DIV
screen and (min-device-width: 321px) {
DIV {
background-color: red;
color: white;
}
}

Слайд 47

Media query: примеры

Пример 7:
Android ведет себя совершенно по другому, после обновления

Media query: примеры Пример 7: Android ведет себя совершенно по другому, после обновления страницы media-query срабатывает.
страницы media-query срабатывает.

Слайд 48

Media query: примеры

Пример 8:
@media screen and (orientation: portrait) {
DIV {
background-color: yellow;
color:

Media query: примеры Пример 8: @media screen and (orientation: portrait) { DIV
black;
}
}
@media screen and (orientation: landscape) {
DIV {
background-color: red;
color: white;
}
}

Слайд 49

Media query: примеры

Пример 8:
iPhone 3G не понимает orientation. Android понимает, так

Media query: примеры Пример 8: iPhone 3G не понимает orientation. Android понимает,
же как и iOS.

Слайд 50

Media query: примеры

Пример 8.1:
@media screen and (max-width: 320px) {
DIV {
background-color: yellow;
color:

Media query: примеры Пример 8.1: @media screen and (max-width: 320px) { DIV
black;
}
}
@media screen and (min-width: 321px) {
DIV {
background-color: red;
color: white;
}
}

Слайд 51

Media query: примеры

Пример 8.1:
Багов не замечено.

Media query: примеры Пример 8.1: Багов не замечено.

Слайд 52

Формы

Поведение
Что нового
Примеры

Формы Поведение Что нового Примеры

Слайд 53

Формы: поведение

Увеличение + экранная клавиатура

Формы: поведение Увеличение + экранная клавиатура

Слайд 54

Формы: примеры

Пример 9: placeholder

Формы: примеры Пример 9: placeholder

Слайд 55

Формы: примеры

Пример 9: email

Формы: примеры Пример 9: email

Слайд 56

Формы: примеры

Пример 9: URL

Формы: примеры Пример 9: URL

Слайд 57

Формы: примеры

Пример 9: tel

Формы: примеры Пример 9: tel

Слайд 58

Формы: примеры

Пример 9: pattern

Формы: примеры Пример 9: pattern

Слайд 59

Формы: примеры

Пример 9: number

Формы: примеры Пример 9: number

Слайд 60

Ссылки

Что нового
Примеры

Ссылки Что нового Примеры

Слайд 61

Ссылки: что нового

tel:
sms:
mmsto:

Ссылки: что нового tel: sms: mmsto:

Слайд 62

Ссылки: что нового


Ссылки: что нового

Слайд 63

JavaScript

Что нового?

JavaScript Что нового?

Слайд 64

JavaScript: что нового?

Способы взаимодействия:
Клавиатура
Мышь
Touch screen

JavaScript: что нового? Способы взаимодействия: Клавиатура Мышь Touch screen

Слайд 65

JavaScript: touch events

Способы взаимодействия:
Клавиатура
keydown
keypress
keyup
Мышь
mousedown
mouseup
mouseover
mouseout
mousemove

Способы взаимодействия:
Touch screen
touchstart
touchend
touchmove
touchcancel

JavaScript: touch events Способы взаимодействия: Клавиатура keydown keypress keyup Мышь mousedown mouseup

Слайд 66

JavaScript: touch events

TOUCH != MOUSE

JavaScript: touch events TOUCH != MOUSE

Слайд 67

JavaScript: touch events

В теории touchscreen должен вызывать только touch события, а не

JavaScript: touch events В теории touchscreen должен вызывать только touch события, а
события мыши.
Однако, слишком много вебсайтов используют события мыши, поэтому производители браузеров вынуждены поддерживать их.

Слайд 68

JavaScript: touch events

Поэтому, обычно события мыши и touch events вызываются вместе.
http://quirksmode.org/touchevents
Touch Action

JavaScript: touch events Поэтому, обычно события мыши и touch events вызываются вместе.
Test Page пример

Слайд 69

JavaScript: touch events

http://quirksmode.org/touchevents
Drag & Drop пример
element.onmousedown = function (e) {
// initialise

JavaScript: touch events http://quirksmode.org/touchevents Drag & Drop пример element.onmousedown = function (e)
document.onmousemove = function (e) {
// move
}
document.onmouseup = function (e) {
document.onmousemove = null;
document.onmouseup = null;
}
}

Слайд 70

JavaScript: touch events

http://quirksmode.org/touchevents
Drag & Drop пример
element.ontouchstart = function (e) {
// initialise

JavaScript: touch events http://quirksmode.org/touchevents Drag & Drop пример element.ontouchstart = function (e)
document.ontouchmove = function (e) {
// move
}
document.ontouchend = function (e) {
document.ontouchmove = null;
document.ontouchend = null;
}
}

Слайд 71

JavaScript: touch events

http://quirksmode.org/touchevents
Drag & Drop пример
element.onmousedown = function (e) {
document.onmousemove =

JavaScript: touch events http://quirksmode.org/touchevents Drag & Drop пример element.onmousedown = function (e)
etc.
document.onmouseup = etc.
}
element.ontouchstart = function (e) {
document.onmousedown = null;
document.ontouchmove = etc.
document.ontouchend = etc.
}

Слайд 72

JavaScript: touch events

http://quirksmode.org/touchevents
Drag & Drop 2 пример (iPhone)
Потаскайте несколько элементов одновременно!

JavaScript: touch events http://quirksmode.org/touchevents Drag & Drop 2 пример (iPhone) Потаскайте несколько элементов одновременно!

Слайд 73

Тестирование

Введение
FireFox
Эмуляторы

Тестирование Введение FireFox Эмуляторы

Слайд 74

Тестирование

Протестируйте ваш сайт сначала на обычном браузере (например FireFox), чтобы убедится что

Тестирование Протестируйте ваш сайт сначала на обычном браузере (например FireFox), чтобы убедится
все работает как ожидалось.
Как только вся функциональная часть сайта работает как надо, переходите на тестирование на эмуляторах.
После этого можно переходить на тестирование на реальных устройствах.

Слайд 75

Тестирование

с загрузкой изображений и стилей
без загрузки изображений
без загрузки стилей
с полностью отключенными стилями

Тестирование с загрузкой изображений и стилей без загрузки изображений без загрузки стилей
и изображениями

Слайд 76

Тестирование: FireFox

Что надо:
Firefox Web browser
Modify Headers add-on
User Agent Switcher add-on

Тестирование: FireFox Что надо: Firefox Web browser Modify Headers add-on User Agent Switcher add-on

Слайд 77

Тестирование: FireFox

Для добавления user agent в Firefox
Tools -> Default User Agent ->

Тестирование: FireFox Для добавления user agent в Firefox Tools -> Default User
User Agent Switcher -> Options

Слайд 78

Тестирование: FireFox

Нажмите кнопку New и выберите New User Agent из выпадающего списка.
Заполните

Тестирование: FireFox Нажмите кнопку New и выберите New User Agent из выпадающего списка. Заполните предлагаемые поля.
предлагаемые поля.

Слайд 79

http://www.zytrax.com/tech/web/mobile_ids.html

Тестирование: Список User Agents

http://www.zytrax.com/tech/web/mobile_ids.html Тестирование: Список User Agents

Слайд 80

Тестирование: FireFox подробнее

http://mobiforge.com/testing/story/testing-mobile-web-sites-using-firefox

Тестирование: FireFox подробнее http://mobiforge.com/testing/story/testing-mobile-web-sites-using-firefox

Слайд 81

Тестирование: эмуляторы

Типы эмуляторов:
Эмуляторы устройств
Эмуляторы браузеров
Эмуляторы операционных систем

Тестирование: эмуляторы Типы эмуляторов: Эмуляторы устройств Эмуляторы браузеров Эмуляторы операционных систем

Слайд 82

Тестирование: эмуляторы

Проблемы:
Не всегда эмулятор полностью повторяет поведение устройства
Размеры шрифтов могут отличаться (в

Тестирование: эмуляторы Проблемы: Не всегда эмулятор полностью повторяет поведение устройства Размеры шрифтов
основном это связано с физическим размером точки)

Слайд 83

Тестирование: эмуляторы

Популярные эмуляторы:
Research in Motion (BlackBerry)
Samsung
Palm
LG
Motorola
Эмуляторы операционных систем:
Apple (iOS)
Microsoft (Windows Mobile)
Google

Тестирование: эмуляторы Популярные эмуляторы: Research in Motion (BlackBerry) Samsung Palm LG Motorola
(Android)
Nokia (Series 40 and Series 60)

Эмуляторы браузеров:
Opera Mini
Openwave

Слайд 84

Тестирование: эмуляторы: где найти: iPhone

http://developer.apple.com/iphone/index.action
http://www.testiphone.com
web based

Тестирование: эмуляторы: где найти: iPhone http://developer.apple.com/iphone/index.action http://www.testiphone.com web based

Слайд 85

Тестирование: эмуляторы: где найти: Opera Mini

http://www.opera.com/mobile/demo/
web based

Тестирование: эмуляторы: где найти: Opera Mini http://www.opera.com/mobile/demo/ web based

Слайд 86

Тестирование: эмуляторы: где найти: BlackBerry

http://na.blackberry.com/eng/developers/

Тестирование: эмуляторы: где найти: BlackBerry http://na.blackberry.com/eng/developers/

Слайд 87

http://www.microsoft.com/downloads/details.aspx?FamilyID=a6f6adaf-12e3-4b2f-a394-356e2c2fb114&DisplayLang=en

Тестирование: эмуляторы: где найти: Windows Mobile

http://www.microsoft.com/downloads/details.aspx?FamilyID=a6f6adaf-12e3-4b2f-a394-356e2c2fb114&DisplayLang=en Тестирование: эмуляторы: где найти: Windows Mobile

Слайд 88

Тестирование: эмуляторы: где найти: Android

http://developer.android.com/sdk/index.html

Тестирование: эмуляторы: где найти: Android http://developer.android.com/sdk/index.html

Слайд 89

Тестирование: эмуляторы: где найти: OpenWave

http://developer.openwave.com/dvl/member/downloadManager.htm?softwareId=23

Тестирование: эмуляторы: где найти: OpenWave http://developer.openwave.com/dvl/member/downloadManager.htm?softwareId=23

Слайд 90

Тестирование: эмуляторы: где найти: Symbian S60

http://innovator.samsungmobile.com/index.do
http://www.forum.nokia.com/

Тестирование: эмуляторы: где найти: Symbian S60 http://innovator.samsungmobile.com/index.do http://www.forum.nokia.com/

Слайд 91

Тестирование: эмуляторы подробнее

http://mobiforge.com/testing/story/a-guide-mobile-emulators

Тестирование: эмуляторы подробнее http://mobiforge.com/testing/story/a-guide-mobile-emulators
Имя файла: Особенности-верстки-под-мобильные-устройства.pptx
Количество просмотров: 159
Количество скачиваний: 0