SlideShare a Scribd company logo
1 of 50
РАЗРАБОТКА
          МОБИЛЬНЫХ САЙТОВ.




Цуканов Павел
ptsukanov@codereign.net
Skype: cpp.tula
О чѐм речь?
• О том о чѐм вы и подумали – о сайтах,
  которые вы можете просматривать на
  мобильных устройствах.
• Об истории – WAP, WML, XHTML, XHTML-
  MP
• Нужны ли они?
• О будущем – HTML5
• О jQuery Mobile Framework
И так история
• Экскурс в историю
• Всегда интересно узнать что было и к
  чему пришли.
• Много интересных абревиатур – WAP,
  WML, XHTML-MP
• WAP - Средство вытягивания денег 
WML
Wireless Markup Language (WML), основанный на
XML, это язык разметки, предназначенный для
устройств,     которые     реализуют   Wireless
Application Protocol (WAP) спецификацию, такие
как мобильные телефоны. Он обеспечивает
навигацию, ввод данных, гиперссылки, текст,
изображение и формы, так же, как и HTML
WML
XHTML
XHTML является HTML написанный с синтаксисом
XML.Теги в XHTML такие же, как и в HTML. XHTML
имеет чистые и строгие структуры, который
облегчит обработку документов. Это особенно
важно для беспроводных устройств, таких как
мобильные телефоны, имеют ограниченные
вычислительные мощности. Все основные веб-
браузеры поддерживают XHTML.
XHTML
XHTML - Basic
XHTML Basic представляет собой упрощенную
версию XHTML. Она предназначена для устройств с
ограниченной вычислительной мощностью и
возможностями, таких как мобильные телефоны,
КПК, смарт-часы, пейджеры и т.д. XHTML Basic не
содержит XHTML особенностей, которые трудно
поддерживать на этих устройствах. Например,
каскадные таблицы стилей, фреймы и сценарии не
поддерживаются в XHTML Basic. Пример на
http://www.w3.org/People/mimasa/test/schemas/x
html-basic-sample.xml
XHTML MP (Mobile Profile)
XHTML Mobile Profile является официальным
языком разметки в самой последней версии
WAP 2.0. Это определено WAP Forum. WAP
Forum создала XHTML Mobile Profile
основываясь на XHTML Basic, с добавлением
некоторых элементов и атрибутов из полной
версии XHTML, таких как <i>, <b>, <small>,
<big> и <hr>. XHTML Mobile Profile
поддерживает упрощенную версию каскадных
таблиц стилей называется WCSS / WAP CSS.
XHTML MP
XHTML MP
HTML5
• 5-ая версия HTML.
• До сих пор находится в разработке!
• Поддержка сильно зависит от браузера
• Проверить свой браузер на готовность к
  HTML5 можете на http://html5test.com/
Откуда дровишки?

           115Кбит/с



            473,6 Кбит/с


            3,6 Mбит/с

            600 Mбит/с (в
            теории)

            1 Гбит/с (в
            теории)
Браузеры
• Встроенные. Предустановлены
  изготовителем телефонов. Последние
  версии подддерживают как минимум XHTML-
  MP.
• Устанавливаемые. Самые известные
  − Opera Mini, Mobile
  − Google Chrome
  − Firefox
Джентельментский набор
• Смартфон на Android
• IPhone, IPad
• Windows Phone
• Blackberry
Так в чѐм же проблема
разработать мобильный
сайт?
  •   Маленький экран.
  •   Другой метод ввода информации.
  •   ―Толстые пальцы‖.
  •   Проблема низких скоростей и ограничений
      траффика всѐ ещѐ актуальна.
Мобильный сайт, Обычный сайт
или приложение?
  Исследования проведѐнные
  экспертом по юзабилити Якобом Нельсоном
  (http://www.useit.com/alertbox/mobile-
  usability.html) показывают
  1. Для мобильных пользователей нужен
      отдельный сайт.
  2. Нужна связь между мобильным и обычным
      сайтом.
  3. Приложения предпочтителнее если ваши
      услуги ориентированы на мобильное
      использование
Рекомендации

• Существуют множество рекомендаций но
  основные сводятся к следующим приципам
  − Сокращение функциональности, необходимо
    устранить вещи, неявляющимися основными на
    мобильном сайте;
  − Сокращение содержание, необходимо
    уменьшить количество слов на основных
    страницах и переместить вторичную на других
    страницах
  − Увеличить элементы интерфейса, для решения
    проблемы "толстых пальцев".
Однако не все с этим
согласны

• Далеко не всем понравится урезанная версия
  сайта
• Растѐт количество смартфонов, планшетников
  для которых такие ограничения становятся
  менее актуальны. В США 25% людей используют
  мобильные устройства как единственный
  способ выхода в Интернет.
• Однако в других странах преобладает выход в
  Интернет с низкобюджетных устройств
Немного цифр
Best practices
   • http://www.w3.org/TR/mobile-bp
   • http://mobilewebslinger.com/2012/04/2
     0/16-mobile-website-best-practices/
   • http://sixrevisions.com/web-
     development/mobile-web-design-best-
     practices/ (Содержит ссылки на
     эмуляторы мобильных устройств).
Мои рекомендации
  • Определится с целевой аудиторией
    вашего сайта
  • Если это пользователи с
    низкобюджетными устройствами, то
    использовать XHTML-MP
  • Если хотите больше – HTML5
  • Список браузеров и их характеристик
    можно найти на
    http://www.quirksmode.org/mobile/
Небольшой демо сайт
  • На
    http://tuladev.sitesmobile.codereign.net
    представлен небольшой демо сайт с
    примерами из текущего доклада.
  • Можете взять IPad или IPhone и
    попробовать как это работает.
  • После запуска сайта вы увидите,
    возможности HTML5 на мобильных
    устройствах
  • Итак по порядку.
Viewports
Visual viewport,
Layout viewport
Viewport на демо сайте


• Устанавливает ширину = физической ширине
  устройства
• Без начального масштабирования
• С максимальным масштабированием = 2




• А это наиболее часто встречаемая комбинация
  параметров.
Video
Video
Audio
Audio
Input Text pattern="[0-9]*"
Input Numbers
Input Phone
Link Call Phone, Send SMS
MMS
Input E-Mail
Input File
Input DateTime
Input URL
Javascript
• Добавилась поддержка касания
• Можно отлавливать такие события как
   −   touchstart
   −   touchend
   −   touchmove
   −   touchcancel
• Touch != Mouse
• В теории touch должен вызывать только на события
  касания, а не события мыши.Однако, слишком много
  вебсайтов используют события мыши, поэтому
  производители браузеров вынуждены поддерживать
  их.
Тестирование
• Нет ничего лучше чем реальное устройство.
• Но если его нет - есть эмуляторы. Но они к
  сожалению не всегда повторяют поведение
  устройства.
• Уже упоминал но повторю ссылку с эмуляторами
  http://sixrevisions.com/web-development/mobile-web-
  design-best-practices/
• И http://www.asp.net/Mobile/device-simulators
JQuery Mobile
http://jquerymobile.com
              • Apple iOS: iPhone, iPod Touch,
                iPad (все версии)
              • Android: все устройства (все
                версии)
              • Blackberry
              • Windows Phone
              • ОЧЕНЬ внушительный список
                поддерживаемых браузеров на
                http://jquerymobile.com/gbs/
Ключевые особенности
•   Построенный на JQuery знакомый синтаксис
•   Совместимость со всеми основными мобильными платформами — iOS, Android,
    Blackberry, Palm WebOS, Nokia/Symbian, Windows Mobile, bada, MeeGo и с базовой
    поддержкой всех устройств которые понимают HTML
•   Небольшой размер файла (12кб включающий функциональность для всех
    мобильных) и минимальная зависимость от изображений для увеличения
    скорости
•   Автоматическая инициализация с помощью HTML5 date-role атрибутов в разметке
    HTML, автоматически инициализирует все JQuery Mobile виджеты найденные на
    странице.
•   Простое API, рационализирующее процесс поддержки Touch, мыши, и других
    видов устройств ввода.
•   Новые модули расширяющие возможности сенсорного управления.
•   Мощные темы визуализации приложения делают весьма простым построение
    интерфейсов.
Типичный шаблон
Результат
JQuery Mobile версия
     моего примера
• Использовать реально легко.
• Очень доступная и понятная документация. Все
  доступные возможности на
  http://jquerymobile.com/demos/1.1.1/
• Поддержка как стандартных элементов ввода так и
  своих.
• Решена моя головная боль – фиксированный
  Header/Footer.
• Хотя без сюрпризов не обошлось. Framework по
  умолчанию загружает ссылки через AJAX.
Конструктор
Редактор тем
Таким образом

• Минимум кодирования превращает ваш HTML в
  мобильный.
• Мало того использование AJAX при загрузке
  страниц уменьшает скорость загрузки и
  соответственно траффик.
• На сайте можно запустить билдер, который
  позволит создать свою версию Framework с
  только необходимыми контролами.
• На сайте есть неплохая подборка реальных
  мобильных сайтов на JQuery Mobile.
Пожалуйста, Ваши Вопросы!!!

More Related Content

Viewers also liked

Thinking in parallel ab tuladev
Thinking in parallel ab tuladevThinking in parallel ab tuladev
Thinking in parallel ab tuladevPavel Tsukanov
 
Введение в Knockout
Введение в Knockout Введение в Knockout
Введение в Knockout Pavel Tsukanov
 
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVMKNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVMPavel Tsukanov
 
Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)Pavel Tsukanov
 
Sql azure federations
Sql azure federations Sql azure federations
Sql azure federations Pavel Tsukanov
 
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Pavel Tsukanov
 
Domain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требованийDomain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требованийCUSTIS
 
TDD (Test-driven Development) как стиль разработки.
TDD (Test-driven Development) как стиль разработки.TDD (Test-driven Development) как стиль разработки.
TDD (Test-driven Development) как стиль разработки.Pavel Tsukanov
 
Автоматизированное тестирование UI на C# + Selenium WebDriver
Автоматизированное тестирование UI на C# + Selenium WebDriverАвтоматизированное тестирование UI на C# + Selenium WebDriver
Автоматизированное тестирование UI на C# + Selenium WebDriverPavel Tsukanov
 
Реализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCFРеализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCFPavel Tsukanov
 
Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?Pavel Tsukanov
 
СОЗДАЙ РОБОТА С НУЛЯ
СОЗДАЙ РОБОТА С НУЛЯСОЗДАЙ РОБОТА С НУЛЯ
СОЗДАЙ РОБОТА С НУЛЯPavel Tsukanov
 
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYCONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYPavel Tsukanov
 
Как писать красивый код или основы SOLID
Как писать красивый код или основы SOLIDКак писать красивый код или основы SOLID
Как писать красивый код или основы SOLIDPavel Tsukanov
 

Viewers also liked (20)

Thinking in parallel ab tuladev
Thinking in parallel ab tuladevThinking in parallel ab tuladev
Thinking in parallel ab tuladev
 
Введение в Knockout
Введение в Knockout Введение в Knockout
Введение в Knockout
 
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVMKNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
 
Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)Основы "мобильной" разработки на примере платформы iOs (iPhone)
Основы "мобильной" разработки на примере платформы iOs (iPhone)
 
Sql azure federations
Sql azure federations Sql azure federations
Sql azure federations
 
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
Алгоритмы шифрования и их применение в .Net приложениях для защиты данных.
 
RESPONSIVE WEB DESIGN
RESPONSIVE WEB DESIGNRESPONSIVE WEB DESIGN
RESPONSIVE WEB DESIGN
 
Unit tests
Unit testsUnit tests
Unit tests
 
Domain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требованийDomain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требований
 
TDD (Test-driven Development) как стиль разработки.
TDD (Test-driven Development) как стиль разработки.TDD (Test-driven Development) как стиль разработки.
TDD (Test-driven Development) как стиль разработки.
 
PaaS и SaaS
PaaS и SaaSPaaS и SaaS
PaaS и SaaS
 
Автоматизированное тестирование UI на C# + Selenium WebDriver
Автоматизированное тестирование UI на C# + Selenium WebDriverАвтоматизированное тестирование UI на C# + Selenium WebDriver
Автоматизированное тестирование UI на C# + Selenium WebDriver
 
Реализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCFРеализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCF
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Лекция Android
Лекция AndroidЛекция Android
Лекция Android
 
Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?Ruby - или зачем мне еще один язык программирования?
Ruby - или зачем мне еще один язык программирования?
 
DDD Workshop
DDD WorkshopDDD Workshop
DDD Workshop
 
СОЗДАЙ РОБОТА С НУЛЯ
СОЗДАЙ РОБОТА С НУЛЯСОЗДАЙ РОБОТА С НУЛЯ
СОЗДАЙ РОБОТА С НУЛЯ
 
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYCONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
 
Как писать красивый код или основы SOLID
Как писать красивый код или основы SOLIDКак писать красивый код или основы SOLID
Как писать красивый код или основы SOLID
 

Similar to РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ

Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5DevDay
 
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебTechnosphere1
 
V Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishing
V Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishingV Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishing
V Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishingVasily Demin
 
Drupal и мобильные устройства
Drupal и мобильные устройстваDrupal и мобильные устройства
Drupal и мобильные устройстваKonstantin Komelin
 
Drupal и мобильные устройства, Комелин Константин
Drupal и мобильные устройства, Комелин КонстантинDrupal и мобильные устройства, Комелин Константин
Drupal и мобильные устройства, Комелин КонстантинPVasili
 
Drupal и мобильные устройства комелин константин
Drupal и мобильные устройства комелин константинDrupal и мобильные устройства комелин константин
Drupal и мобильные устройства комелин константинdrupalconf
 
CodeFest 2011. Рыжиков С. — Создание мобильных приложений с использованием HT...
CodeFest 2011. Рыжиков С. — Создание мобильных приложений с использованием HT...CodeFest 2011. Рыжиков С. — Создание мобильных приложений с использованием HT...
CodeFest 2011. Рыжиков С. — Создание мобильных приложений с использованием HT...CodeFest
 
Mobile Web Apps development essentials
Mobile Web Apps development essentialsMobile Web Apps development essentials
Mobile Web Apps development essentialsPavlo Iuriichuk
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
Вёрстка для мобильных телефонов
Вёрстка для мобильных телефоновВёрстка для мобильных телефонов
Вёрстка для мобильных телефоновtoWave.ru
 
Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"Yandex
 
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...geekfamilyrussia
 
Web programming modern tendencies
Web programming modern tendenciesWeb programming modern tendencies
Web programming modern tendenciesDarkestMaster
 
Siebel open ui overview rus
Siebel open ui overview rusSiebel open ui overview rus
Siebel open ui overview ruscrm2life
 
Кроссплатформенная разработка
Кроссплатформенная разработкаКроссплатформенная разработка
Кроссплатформенная разработкаValery
 
Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)Алексей Панфилов
 
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийПроверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийMedia Gorod
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 

Similar to РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ (20)

Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5
 
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
 
Mobile web apps
Mobile web appsMobile web apps
Mobile web apps
 
V Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishing
V Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishingV Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishing
V Demin oracle mobile suite, soa 12c launch, 20.11.14 for publishing
 
Drupal и мобильные устройства
Drupal и мобильные устройстваDrupal и мобильные устройства
Drupal и мобильные устройства
 
Drupal и мобильные устройства, Комелин Константин
Drupal и мобильные устройства, Комелин КонстантинDrupal и мобильные устройства, Комелин Константин
Drupal и мобильные устройства, Комелин Константин
 
Drupal и мобильные устройства комелин константин
Drupal и мобильные устройства комелин константинDrupal и мобильные устройства комелин константин
Drupal и мобильные устройства комелин константин
 
CodeFest 2011. Рыжиков С. — Создание мобильных приложений с использованием HT...
CodeFest 2011. Рыжиков С. — Создание мобильных приложений с использованием HT...CodeFest 2011. Рыжиков С. — Создание мобильных приложений с использованием HT...
CodeFest 2011. Рыжиков С. — Создание мобильных приложений с использованием HT...
 
Mobile Web Apps development essentials
Mobile Web Apps development essentialsMobile Web Apps development essentials
Mobile Web Apps development essentials
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Вёрстка для мобильных телефонов
Вёрстка для мобильных телефоновВёрстка для мобильных телефонов
Вёрстка для мобильных телефонов
 
Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"
 
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
 
Web programming modern tendencies
Web programming modern tendenciesWeb programming modern tendencies
Web programming modern tendencies
 
Siebel open ui overview rus
Siebel open ui overview rusSiebel open ui overview rus
Siebel open ui overview rus
 
Mobile development
Mobile developmentMobile development
Mobile development
 
Кроссплатформенная разработка
Кроссплатформенная разработкаКроссплатформенная разработка
Кроссплатформенная разработка
 
Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)
 
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложенийПроверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложений
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 

More from Pavel Tsukanov

МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVМАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVPavel Tsukanov
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS Pavel Tsukanov
 
АНИМАЦИЯ В FLASH И HTML5
АНИМАЦИЯ В FLASH И HTML5АНИМАЦИЯ В FLASH И HTML5
АНИМАЦИЯ В FLASH И HTML5Pavel Tsukanov
 
ХАКЕРЫ И АНТИХАКЕРЫ
ХАКЕРЫ И АНТИХАКЕРЫХАКЕРЫ И АНТИХАКЕРЫ
ХАКЕРЫ И АНТИХАКЕРЫPavel Tsukanov
 
ЗАРАБОТОК В ИНТЕРНЕТЕ.
ЗАРАБОТОК В ИНТЕРНЕТЕ.ЗАРАБОТОК В ИНТЕРНЕТЕ.
ЗАРАБОТОК В ИНТЕРНЕТЕ.Pavel Tsukanov
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
 
Статический анализ кода
Статический анализ кода Статический анализ кода
Статический анализ кода Pavel Tsukanov
 
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже. Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже. Pavel Tsukanov
 

More from Pavel Tsukanov (8)

МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVМАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS
 
АНИМАЦИЯ В FLASH И HTML5
АНИМАЦИЯ В FLASH И HTML5АНИМАЦИЯ В FLASH И HTML5
АНИМАЦИЯ В FLASH И HTML5
 
ХАКЕРЫ И АНТИХАКЕРЫ
ХАКЕРЫ И АНТИХАКЕРЫХАКЕРЫ И АНТИХАКЕРЫ
ХАКЕРЫ И АНТИХАКЕРЫ
 
ЗАРАБОТОК В ИНТЕРНЕТЕ.
ЗАРАБОТОК В ИНТЕРНЕТЕ.ЗАРАБОТОК В ИНТЕРНЕТЕ.
ЗАРАБОТОК В ИНТЕРНЕТЕ.
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Статический анализ кода
Статический анализ кода Статический анализ кода
Статический анализ кода
 
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже. Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
 

РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ

  • 1. РАЗРАБОТКА МОБИЛЬНЫХ САЙТОВ. Цуканов Павел ptsukanov@codereign.net Skype: cpp.tula
  • 2. О чѐм речь? • О том о чѐм вы и подумали – о сайтах, которые вы можете просматривать на мобильных устройствах. • Об истории – WAP, WML, XHTML, XHTML- MP • Нужны ли они? • О будущем – HTML5 • О jQuery Mobile Framework
  • 3. И так история • Экскурс в историю • Всегда интересно узнать что было и к чему пришли. • Много интересных абревиатур – WAP, WML, XHTML-MP • WAP - Средство вытягивания денег 
  • 4.
  • 5. WML Wireless Markup Language (WML), основанный на XML, это язык разметки, предназначенный для устройств, которые реализуют Wireless Application Protocol (WAP) спецификацию, такие как мобильные телефоны. Он обеспечивает навигацию, ввод данных, гиперссылки, текст, изображение и формы, так же, как и HTML
  • 6. WML
  • 7. XHTML XHTML является HTML написанный с синтаксисом XML.Теги в XHTML такие же, как и в HTML. XHTML имеет чистые и строгие структуры, который облегчит обработку документов. Это особенно важно для беспроводных устройств, таких как мобильные телефоны, имеют ограниченные вычислительные мощности. Все основные веб- браузеры поддерживают XHTML.
  • 9. XHTML - Basic XHTML Basic представляет собой упрощенную версию XHTML. Она предназначена для устройств с ограниченной вычислительной мощностью и возможностями, таких как мобильные телефоны, КПК, смарт-часы, пейджеры и т.д. XHTML Basic не содержит XHTML особенностей, которые трудно поддерживать на этих устройствах. Например, каскадные таблицы стилей, фреймы и сценарии не поддерживаются в XHTML Basic. Пример на http://www.w3.org/People/mimasa/test/schemas/x html-basic-sample.xml
  • 10. XHTML MP (Mobile Profile) XHTML Mobile Profile является официальным языком разметки в самой последней версии WAP 2.0. Это определено WAP Forum. WAP Forum создала XHTML Mobile Profile основываясь на XHTML Basic, с добавлением некоторых элементов и атрибутов из полной версии XHTML, таких как <i>, <b>, <small>, <big> и <hr>. XHTML Mobile Profile поддерживает упрощенную версию каскадных таблиц стилей называется WCSS / WAP CSS.
  • 13. HTML5 • 5-ая версия HTML. • До сих пор находится в разработке! • Поддержка сильно зависит от браузера • Проверить свой браузер на готовность к HTML5 можете на http://html5test.com/
  • 14. Откуда дровишки? 115Кбит/с 473,6 Кбит/с 3,6 Mбит/с 600 Mбит/с (в теории) 1 Гбит/с (в теории)
  • 15. Браузеры • Встроенные. Предустановлены изготовителем телефонов. Последние версии подддерживают как минимум XHTML- MP. • Устанавливаемые. Самые известные − Opera Mini, Mobile − Google Chrome − Firefox
  • 16. Джентельментский набор • Смартфон на Android • IPhone, IPad • Windows Phone • Blackberry
  • 17. Так в чѐм же проблема разработать мобильный сайт? • Маленький экран. • Другой метод ввода информации. • ―Толстые пальцы‖. • Проблема низких скоростей и ограничений траффика всѐ ещѐ актуальна.
  • 18. Мобильный сайт, Обычный сайт или приложение? Исследования проведѐнные экспертом по юзабилити Якобом Нельсоном (http://www.useit.com/alertbox/mobile- usability.html) показывают 1. Для мобильных пользователей нужен отдельный сайт. 2. Нужна связь между мобильным и обычным сайтом. 3. Приложения предпочтителнее если ваши услуги ориентированы на мобильное использование
  • 19. Рекомендации • Существуют множество рекомендаций но основные сводятся к следующим приципам − Сокращение функциональности, необходимо устранить вещи, неявляющимися основными на мобильном сайте; − Сокращение содержание, необходимо уменьшить количество слов на основных страницах и переместить вторичную на других страницах − Увеличить элементы интерфейса, для решения проблемы "толстых пальцев".
  • 20. Однако не все с этим согласны • Далеко не всем понравится урезанная версия сайта • Растѐт количество смартфонов, планшетников для которых такие ограничения становятся менее актуальны. В США 25% людей используют мобильные устройства как единственный способ выхода в Интернет. • Однако в других странах преобладает выход в Интернет с низкобюджетных устройств
  • 22. Best practices • http://www.w3.org/TR/mobile-bp • http://mobilewebslinger.com/2012/04/2 0/16-mobile-website-best-practices/ • http://sixrevisions.com/web- development/mobile-web-design-best- practices/ (Содержит ссылки на эмуляторы мобильных устройств).
  • 23. Мои рекомендации • Определится с целевой аудиторией вашего сайта • Если это пользователи с низкобюджетными устройствами, то использовать XHTML-MP • Если хотите больше – HTML5 • Список браузеров и их характеристик можно найти на http://www.quirksmode.org/mobile/
  • 24. Небольшой демо сайт • На http://tuladev.sitesmobile.codereign.net представлен небольшой демо сайт с примерами из текущего доклада. • Можете взять IPad или IPhone и попробовать как это работает. • После запуска сайта вы увидите, возможности HTML5 на мобильных устройствах • Итак по порядку.
  • 27. Viewport на демо сайте • Устанавливает ширину = физической ширине устройства • Без начального масштабирования • С максимальным масштабированием = 2 • А это наиболее часто встречаемая комбинация параметров.
  • 28. Video
  • 29. Video
  • 30. Audio
  • 31. Audio
  • 35. Link Call Phone, Send SMS MMS
  • 40. Javascript • Добавилась поддержка касания • Можно отлавливать такие события как − touchstart − touchend − touchmove − touchcancel • Touch != Mouse • В теории touch должен вызывать только на события касания, а не события мыши.Однако, слишком много вебсайтов используют события мыши, поэтому производители браузеров вынуждены поддерживать их.
  • 41. Тестирование • Нет ничего лучше чем реальное устройство. • Но если его нет - есть эмуляторы. Но они к сожалению не всегда повторяют поведение устройства. • Уже упоминал но повторю ссылку с эмуляторами http://sixrevisions.com/web-development/mobile-web- design-best-practices/ • И http://www.asp.net/Mobile/device-simulators
  • 42. JQuery Mobile http://jquerymobile.com • Apple iOS: iPhone, iPod Touch, iPad (все версии) • Android: все устройства (все версии) • Blackberry • Windows Phone • ОЧЕНЬ внушительный список поддерживаемых браузеров на http://jquerymobile.com/gbs/
  • 43. Ключевые особенности • Построенный на JQuery знакомый синтаксис • Совместимость со всеми основными мобильными платформами — iOS, Android, Blackberry, Palm WebOS, Nokia/Symbian, Windows Mobile, bada, MeeGo и с базовой поддержкой всех устройств которые понимают HTML • Небольшой размер файла (12кб включающий функциональность для всех мобильных) и минимальная зависимость от изображений для увеличения скорости • Автоматическая инициализация с помощью HTML5 date-role атрибутов в разметке HTML, автоматически инициализирует все JQuery Mobile виджеты найденные на странице. • Простое API, рационализирующее процесс поддержки Touch, мыши, и других видов устройств ввода. • Новые модули расширяющие возможности сенсорного управления. • Мощные темы визуализации приложения делают весьма простым построение интерфейсов.
  • 46. JQuery Mobile версия моего примера • Использовать реально легко. • Очень доступная и понятная документация. Все доступные возможности на http://jquerymobile.com/demos/1.1.1/ • Поддержка как стандартных элементов ввода так и своих. • Решена моя головная боль – фиксированный Header/Footer. • Хотя без сюрпризов не обошлось. Framework по умолчанию загружает ссылки через AJAX.
  • 49. Таким образом • Минимум кодирования превращает ваш HTML в мобильный. • Мало того использование AJAX при загрузке страниц уменьшает скорость загрузки и соответственно траффик. • На сайте можно запустить билдер, который позволит создать свою версию Framework с только необходимыми контролами. • На сайте есть неплохая подборка реальных мобильных сайтов на JQuery Mobile.