пальцы, пальцы, пальцы

advertisement
msdevcon.ru
#msdevcon
ТЫК-ТЫК, ЖМАК-ЖМАК, ИЛИ
КАК ПОДГОТОВИТЬ САЙТ К
WINDOWS 8
Константин Кичинский
Microsoft
Содержание
Пальцы, пальцы, пальцы
Адаптация
Закрепление
Контракты, листание
Стандарты, плагины и т.п.
Приложения
ПАЛЬЦЫ, ПАЛЬЦЫ, ПАЛЬЦЫ
Windows 8/RT
Windows 8/RT
Touch
(Keyboard)
Keyboard
(Touch)
Keyboard
(Touch)
Рекомендации
Забудьте про hover
Не открывайте содержимое при наведение указателя. Планшеты не
распознают пальцы над экраном.
 Если нужно показать меню, переведите это на событие onclick
Быстрый фикс: сказать, что за ссылкой скрывается popup
DEMO
ПОКАЗ МЕНЮ
Рекомендации
Учитывайте поведение браузера
Сжатие/расширение для масштабирования, прокрутка и т.п.
Используйте -ms-touch-action для задания корректного поведения для
вашего сайта.
Значения -ms-touch-action
значение
поведение
auto
Начальное значение. Браузер определяет поведение для элемента.
none
Элемент не разрешает сенсорное поведение по умолчанию.
pan-x
Элемент разрешает сдвиг по горизонтальной оси с помощью касания.
pan-y
Элемент разрешает сдвиг по вертикальной оси с помощью касания.
pinch-zoom
Элемент разрешает уменьшение.
manipulation
Элемент разрешает сдвиг и уменьшение с помощью касания. (Краткий
эквивалент "pan-x pan-y pinch-zoom".)
double-tap-zoom
Элемент разрешает масштабирование с помощью двойного касания.
inherit
Элемент наследует значение сенсорного действия с префиксом -ms от
родительского элемента.
Пример
canvas {
/* запретить сдвиги, масштабирование и т.п. */
-ms-touch-action: none;
}
/* or */
canvas {
/* запретить сдвиги, но разрешить масштабирование */
-ms-touch-action: double-tap-zoom;
}
DEMO
КОТИКИ
Рекомендации
Подумайте, как ведут себя области с прокруткой.
Вы можете управлять, каким образом осуществляется сдвиг и где
размещены точки привязки.
Используйте:
 -ms-scroll-snap-type
 -ms-scroll-snap-points-x
 -ms-scroll-snap-points-y
DEMO
ЕЩЕ КОТИКИ
Рекомендация
Учитывайте типы ввода, чтобы сенсорная клавиатура
адаптировалась под тип данных
Используйте правильные типы для input
DEMO
ВВОД
Рекомендация
Учитывайте размеры пальцев и способы держания
устройств.
7 mm
2 mm
ЖЕСТЫ И СЕНСОРНОЕ
УПРАВЛЕНИЕ
Рекомендации
1. Pointer Events
2. См. запись доклада Алены Гилевской с HTML5Camp
•
http://www.techdays.ru/series/html5_camp_2013
•
http://www.techdays.ru/videos/6728.html
DEMO
ВВОД ОТ ПАЛЬЦЕВ
И НЕ ТОЛЬКО
Для жестов
MSGesture Events
Hammer.js
eightmedia.github.com/hammer.js
АДАПТАЦИЯ
Адаптивные сайты
Резиновые сайты  адаптивные сайты
CSS Media quiries
Смена шаблонов/картинок, адаптация данных
Мобильные версии сайтов
Иногда имеет смысл рассмотреть отдельные мобильные сайты
Большинство «адаптивных» сайтов, даже красивых, не приводят к
снижению нагрузки на мобильный траффик.
ЗАКРЕПЛЕНИЕ
Pinned Sites ++
Сайты можно закреплять на стартовом экране
То же самое, что было и раньше +
Возможность отправлять нотификации на плитку
http://www.buildmypinnedsite.com/
Нотификации
<meta name="msapplication-badge" content="frequency=30; pollinguri=http://mysite.com/id45453245/polling.xml"/>
<badge value="newMessage" />
<badge value="15" />
Feature
Internet Explorer for the
desktop
Internet Explorer in the
Windows UI
Application Name
Yes
Yes
32x32 pixel icon
Yes
Yes
Nav button color
Yes
No
Tooltip
Yes
Yes
Windows size
Yes
No
Start URL
Yes
No
Static jump list
Yes
Yes
Dynamic jump list
Yes
Yes
Overlay icons
Yes
No
Flashing
Yes
No
Thumbnail toolbar
Yes
No
Notifications offline
No
Yes
144x144px Png badge
No
Yes
DEMO
ЗАКРЕПЛЕНИЕ САЙТА
КОНТРАКТЫ, ЛИСТАНИЕ
Превью сайта при использовании Share
Идея: управлять тем, как ваш сайт будет выглядеть при
отправке в другие приложения при использовании
контракта общего доступа (Share).
Заголовок
Описание
Превью
Управление текстом и превью
// заголовок
// обрезается до 160 символов
<meta name="title" content="My Title Text" />
<title>My Title Text</title>
// описание
// обрезается до 160 символов
<meta name="description" content="My description text." />
// превью
<link rel="image_src" href="my_image_link.jpg" />
<meta name="image" content="my_image_link.jpg" />
<meta name="thumbail" content="my_image_link.jpg" />
<meta property="og:image" content="my_image_link.jpg" />
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Silver Book</title>
<meta name="description"
content="Примеры к слайдикам на DevCon." />
<meta property="og:image"
content="{site}/Hello_kitty.png" />
</head>
<body>
<h1>There are no silver bullets.
Just silver books.</h1>
</body>
</html>
Flip Ahead (листание страниц)
Идея: листать сайт как страницы журнала (вперед и
назад).
Ориентировано на жесты, доступно в IE с новым Windows UI.
Дополнение к существующим средствам перехода между страницами.
IE может самостоятельно пытаться угадать «следующую»
страницу, либо вы можете указать ее явно.
Flip Ahead (листание страниц)
Укажите дополнительную мета-информацию на
странице, используя стандартные механизмы:
HTML 4.01 rel-атрибут в link-элементе.
Код для Flip Ahead
// 1st page
<link rel="next" href="/news/article1.aspx?page=2"/>
// 2nd page
<link rel="next" href="/news/article2.aspx"/>
<link rel="prev" href="/news/article1.aspx"/>
// 3rd page
<link rel="prev" href="/news/article1.aspx"/>
СТАНДАРТЫ, ПЛАГИНЫ
Стандарты и плагины
Используйте актуальные стандарты
Feature detection
Рассчитывайте на будущую совместимость
Старайтесь не использовать плагины
В IE10 (desktop, new Windows UI) встроенная поддержка Flash.
 Это вопрос совместимости, а не потому что так правильно «для будущего».
В IE c новым Windows UI отключены все другие плагины.
Стандарты
Плагины
Стандарты
Видео и звук
Flash, Silverlight, Apple
Quicktime
HTML5 audio, video
Графика
Flash, Apple QuickTime,
Silverlight, Java-приложения
HTML5 Canvas
CSS Animations, Tranitions,
Transformatoins
SVG
Оффлайн и хранение данных
Flash, Java-приложения,
Google Gears (устаревшее)
Web Storage, File API, Indexed
DB, Application Cache
Сеть, передача данных
Flash, Java-приложения
Web Sockets, XMLHttpRequest,
CORS
modern.ie
ПРИЛОЖЕНИЯ
Связь сайта с приложением
Идея: если у вас есть приложение для вашего сервиса,
можно подсказать пользователю поставить его или даже
запустить в нужном месте.
Разметка через мета-теги
/* Required. Package-relative app ID from the application manifest. */
<meta name="msApplication-ID" content="microsoft.build.App"/>
/* Required. Package family name of the app created by Microsoft Visual Studio
when the app is published. */
<meta name="msApplication-PackageFamilyName"
content="microsoft.build_8wekyb3d8bbwe"/>
/* Optional
msApplication-Arguments
msApplication-MinVersion
msApplication-OptOut
*/
Обработка аргументов
WinJS.Application.onmainwindowactivated = function (e) {
if (e.detail.kind ===
Windows.ApplicationModel.Activation.ActivationKind.launch) {
if (e.detail.arguments) {
// YOUR CODE HERE
}
}
}
Контакты
Константин Кичинский
Microsoft
konkich@microsoft.com & @kichinsky
blogs.msdn.com/kichinsky & html5insight.ru
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of
Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Download