Upload
yuriy-artyukh
View
2.262
Download
0
Tags:
Embed Size (px)
DESCRIPTION
My presentation at clienttech, Moscow, 15-16 Dec, 2008. http://cienttech.ru
Citation preview
Вёрстка для iPhone
16 декабря, 2008, Москва
Продано более 10 000 000
За следующие 12 месяцевеще 40 000 000
За следующие 12 месяцевеще 40 000 000
85% владельцев ходили в интернет
И всё равно нельзя верстать только для iPhone
Don’t Build for Just One DeviceFlickr
Мобильные платформы
• Nokia (Symbian) – WebKit• iPhone – WebKit• Android – WebKit
Не так важен сам iPhone как будущее.
Чем отличается от других?
• Почти полноценный браузер
Чем отличается от других?
• Почти полноценный браузер
• Два режима (portrait+landscape)
Чем отличается от других?
• Почти полноценный браузер
• Два режима (portrait+landscape)
• Пальцы очень разные (хоккеисты и балерины)
Чем отличается от других?
• Почти полноценный браузер
• Два режима (portrait+landscape)
• Пальцы очень разные• Нос
Расписание поездов?Одну минуту, посмотрю на сайте.
ОГРАНИЧЕНИЯ
Почти Safari, кроме...
• Размер приложения не более 10Мб• Кеш для файлов не более 25Кб• Таймаут всего, что исполняется более 5
секунд• Клик неточный, мышки нет• Нет работы с файлами• Flash
Размер экрана
СЛАДКОЕ
Хорошее
• Нет Internet Explorer• Нет Internet Explorer и Nokia 1100!!!• AJAX отлично работает• В CSS возможно почти все что известно• Canvas
CSS3 и анимация.divSlide {
-webkit-animation-name: "slide-me-to-the-right";
-webkit-animation-duration: 1s;
}
@-webkit-keyframes "slide-me-to-the-right" { from { left: 0px; }
to { left: 100px; }
}
Шрифты (Helvetica!)
РАЗНЫЕ САЙТЫ ДЛЯ IPHONE
Не работают
Хотя бы открываются
Оптимизированы
Копируют интерфейс (iUI)
imoviemash.com (iUI)
По какому пути идти?
По какому пути идти?
По правильному!
По какому пути идти?• Вариант оптимизированного сайта
• Запоминающийся дизайн• Не ограничены интерфейсом• Красиво
ОПТИМИЗАЦИЯ САЙТА ДЛЯ IPHONE
• CSS для iPhone:<link media="only screen and (max-device-width: 480px)"
…/>
• CSS для всех остальных:<link media="screen and (min-device-width: 481px)”
…/>
• JS:if (navigator.userAgent.indexOf('iPhone') != -1)
Размер экрана
60px!: window.scrollTo(0,1)
Различать ориентацию
• JS:currentWidth = window.innerWidth; var orient = currentWidth == 320 ? "profile" : "landscape";document.body.setAttribute("orient", orient);
• CSS:body[orient="profile"] {}
body[orient="landscape”] {}
landscape
profile
Трафик
• Уменьшение HTTP-запросов• Меньше картинок• Gzip• Кеширование (файлы менее 25Кб)• Аякс (грузить части сайта)• Base64• Избегать фреймворков
Оптимизация изображения
• Запретить пользователю увеличивать сайт:
• Одинаковый размер шрифта при поворотах:
Юзабилити
• Ссылки – кнопки. Большая кликабельная область.
• Рекомендуемый шрифт Helvetica• Легкие странички
Полезные мелочи
• Звонок по клику: <a href="tel:555-1212">Call Me</a>• По умолчанию в эти поля вводятся числа:
<input name="phone_whatever"
<input name="zip"
• Тултипы
Тестировать
• iPhoney (дизайн)• ySlow (производительность)• Обычные инструменты веб-разработки• iPhone
Ссылки
• Официальная документация: http://developer.apple.com/webapps/
• Хороший «хакерский» ресурс http://www.iphonewebdev.com/
• Фреймворк с интерфейсом под iPhone:http://code.google.com/p/iui/
• Статья на alistapart:http://www.alistapart.com/articles/putyourcontentinmypocket
СПАСИБО!
Юрий Артюх,сайт: http://cssing.org.uaпочта: [email protected]