Coding for iPhone

1,951 views

Published on

My presentation at clienttech, Moscow, 15-16 Dec, 2008. http://cienttech.ru

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,951
On SlideShare
0
From Embeds
0
Number of Embeds
213
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Coding for iPhone

  1. 1. Вёрстка для iPhone 16 декабря, 2008, Москва
  2. 2. Продано более 10 000 000
  3. 3. За следующие 12 месяцев еще 40 000 000
  4. 4. За следующие 12 месяцев еще 40 000 000 85% владельцев ходили в интернет
  5. 5. И всё равно нельзя верстать только для iPhone
  6. 7. <ul><li>Don’t Build for Just One Device </li></ul><ul><li>Flickr </li></ul>
  7. 8. Мобильные платформы <ul><li>Nokia ( Symbian ) – WebKit </li></ul><ul><li>iPhone – WebKit </li></ul><ul><li>Android – WebKit </li></ul><ul><li>Не так важен сам iPhone как будущее. </li></ul>
  8. 9. Чем отличается от других? <ul><li>Почти полноценный браузер </li></ul>
  9. 10. Чем отличается от других? <ul><li>Почти полноценный браузер </li></ul><ul><li>Два режима ( portrait+landscape ) </li></ul>
  10. 11. Чем отличается от других? <ul><li>Почти полноценный браузер </li></ul><ul><li>Два режима ( portrait+landscape ) </li></ul><ul><li>Пальцы очень разные </li></ul><ul><li>(хоккеисты и балерины) </li></ul>
  11. 12. Чем отличается от других? <ul><li>Почти полноценный браузер </li></ul><ul><li>Два режима ( portrait+landscape ) </li></ul><ul><li>Пальцы очень разные </li></ul><ul><li>Нос </li></ul>
  12. 13. Расписание поездов? Одну минуту, посмотрю на сайте .
  13. 14. ОГРАНИЧЕНИЯ
  14. 15. Почти Safari, кроме... <ul><li>Размер приложения не более 10Мб </li></ul><ul><li>Кеш для файлов не более 25Кб </li></ul><ul><li>Таймаут всего, что исполняется более 5 секунд </li></ul><ul><li>Клик неточный, мышки нет </li></ul><ul><li>Нет работы с файлами </li></ul><ul><li>Flash </li></ul>
  15. 16. Размер экрана
  16. 17. СЛАДКОЕ
  17. 18. Хорошее <ul><li>Нет Internet Explorer </li></ul><ul><li>Нет Internet Explorer и Nokia 1100!!! </li></ul><ul><li>AJAX отлично работает </li></ul><ul><li>В CSS возможно почти все что известно </li></ul><ul><li>Canvas </li></ul>
  18. 19. CSS3 и анимация <ul><li>.divSlide {        </li></ul><ul><li>-webkit-animation-name: &quot; slide-me-to-the-right &quot;;        </li></ul><ul><li>-webkit-animation-duration: 1s ; </li></ul><ul><li>} </li></ul><ul><li>@-webkit-keyframes &quot; slide-me-to-the-right &quot; {        from { left: 0px ; }        </li></ul><ul><li>to { left: 100px ; } </li></ul><ul><li>} </li></ul>
  19. 20. Шрифты ( Helvetica! )
  20. 21. РАЗНЫЕ САЙТЫ ДЛЯ IPHONE
  21. 22. Не работают
  22. 23. Хотя бы открываются
  23. 24. Оптимизированы
  24. 25. Копируют интерфейс (iUI)
  25. 26. imoviemash.com (iUI)
  26. 27. По какому пути идти?
  27. 28. По какому пути идти? По правильному!
  28. 29. По какому пути идти? <ul><li>Вариант оптимизированного сайта </li></ul><ul><ul><ul><li>Запоминающийся дизайн </li></ul></ul></ul><ul><ul><ul><li>Не ограничены интерфейсом </li></ul></ul></ul><ul><ul><ul><li>Красиво </li></ul></ul></ul>
  29. 30. ОПТИМИЗАЦИЯ САЙТА ДЛЯ IPHONE
  30. 31. <ul><li>CSS для iPhone: </li></ul><ul><li><link media=&quot;only screen and (max-device-width: 480px)&quot; </li></ul><ul><li>… /> </li></ul><ul><li>CSS для всех остальных: </li></ul><ul><li><link media=&quot;screen and (min-device-width: 481px)” </li></ul><ul><li>… /> </li></ul><ul><li>JS: </li></ul><ul><li>if (navigator.userAgent.indexOf('iPhone') != -1) </li></ul>
  31. 32. Размер экрана
  32. 33. 60px!: window.scrollTo(0,1)
  33. 34. Различать ориентацию <ul><li>JS: </li></ul><ul><li>currentWidth = window . innerWidth ; </li></ul><ul><li>var orient = currentWidth == 320 ? &quot;profile&quot; : &quot;landscape&quot; ; </li></ul><ul><li>document . body . setAttribute ( &quot;orient&quot; , orient); </li></ul><ul><li>CSS: </li></ul><ul><li>body[orient=&quot;profile&quot;] {} </li></ul><ul><li>body[orient=&quot;landscape”] {} </li></ul>
  34. 35. landscape profile
  35. 36. Трафик <ul><li>Уменьшение HTTP- запросов </li></ul><ul><li>Меньше картинок </li></ul><ul><li>Gzip </li></ul><ul><li>Кеширование (файлы менее 25Кб) </li></ul><ul><li>Аякс (грузить части сайта) </li></ul><ul><li>Base64 </li></ul><ul><li>Избегать фреймворков </li></ul>
  36. 37. Оптимизация изображения <ul><li>Запретить пользователю увеличивать сайт: </li></ul><ul><li>Одинаковый размер шрифта при поворотах: </li></ul>
  37. 38. Юзабилити <ul><li>Ссылки – кнопки. Большая кликабельная область. </li></ul><ul><li>Рекомендуемый шрифт Helvetica </li></ul><ul><li>Легкие странички </li></ul>
  38. 39. Полезные мелочи <ul><li>Звонок по клику: <a href=&quot;tel:555-1212&quot;>Call Me</a> </li></ul><ul><li>По умолчанию в эти поля вводятся числа: </li></ul><ul><li><input name=&quot;phone_whatever&quot; </li></ul><ul><li><input name=&quot;zip&quot; </li></ul><ul><li>Тултипы </li></ul>
  39. 40. Тестировать <ul><li>iPhoney (дизайн) </li></ul><ul><li>ySlow ( производительность ) </li></ul><ul><li>Обычные инструменты веб-разработки </li></ul><ul><li>iPhone </li></ul>
  40. 41. Ссылки <ul><li>Официальная документация: http://developer.apple.com/webapps/ </li></ul><ul><li>Хороший «хакерский» ресурс http://www.iphonewebdev.com/ </li></ul><ul><li>Фреймворк с интерфейсом под iPhone: </li></ul><ul><li>http://code.google.com/p/iui/ </li></ul><ul><li>Статья на alistapart: </li></ul><ul><li>http://www.alistapart.com/articles/putyourcontentinmypocket </li></ul>
  41. 42. СПАСИБО! <ul><li>Юрий Артюх, </li></ul><ul><li>сайт: http://cssing.org.ua </li></ul><ul><li>почта: [email_address] </li></ul>

×