SlideShare a Scribd company logo
Создание кросс-платформенных
   приложений – правильное
  использование touch-events
Зачем кроссплатформенные приложения?
Инструменты
Примеры
gestures
Javascript обработка
function startup() {
  var el = document.getElementById(“scrollDiv”);
  el.addEventListener("touchstart", handleStart, false);
  el.addEventListener("touchend", handleEnd, false);
  el.addEventListener("touchcancel", handleCancel, false);
  el.addEventListener("touchmove", handleMove, false);
}
Подводные камни
Мультитач




function handleStart(evt) {
  …
  var touches = evt.originalEvent.targetTouches;
  var totalTouches = touches.length;
  …
}
Направление движения
var direction = true;
If(Math.abs(endcoords.pageX - startcoords.pageX)
// true / false
   > Math.abs(endcoords.pageY - startcoords.pageY)) {
function handleStart(evt) {
  …
   direction = false;
  var touches = event.originalEvent.targetTouches;
  var startcoords = endcoords = touches[0];
} else {
  // pageX / pageY
  …
    direction = true;
}
function handleMove(evt) {
}
  …
  var touches = event.originalEvent.targetTouches;
  var endcoords = touches[0];
  …
}
Click vs. Tap

                        handleStart:
                        obj = evt.target



handleEnd:

Math.abs(endcoors.pageX – startcoords.pageX) < 10

obj.click()
Бесполезная прокрутка




  If(scrollable.scrollHeight > scrollDiv.offsetHeight()
Rubber banding
handleEnd:

Вверху – 0
Внизу – MaxScroll

MaxScroll =
Высота
прокручиваемой
области - Высота
видимого окна
Готовые решения
Все!
• Сейчас ваши вопросы…



                  Контакты
• http://mobila.name/

More Related Content

More from Mikhail Larchanka

Смарт-контракты в блокчейне TON
Смарт-контракты в блокчейне TONСмарт-контракты в блокчейне TON
Смарт-контракты в блокчейне TON
Mikhail Larchanka
 
Cloud with Telegram - TgCloud
Cloud with Telegram - TgCloudCloud with Telegram - TgCloud
Cloud with Telegram - TgCloud
Mikhail Larchanka
 
Web Audio API: brief introduction
Web Audio API: brief introductionWeb Audio API: brief introduction
Web Audio API: brief introduction
Mikhail Larchanka
 
Isomorphic React Apps Testing
Isomorphic React Apps TestingIsomorphic React Apps Testing
Isomorphic React Apps Testing
Mikhail Larchanka
 
Web App Hidden Menu Positioning
Web App Hidden Menu PositioningWeb App Hidden Menu Positioning
Web App Hidden Menu Positioning
Mikhail Larchanka
 
Куда катится этот веб?
Куда катится этот веб?Куда катится этот веб?
Куда катится этот веб?
Mikhail Larchanka
 
Выбор фреймворка для проекта, или зачем мы изобрели велосипед
Выбор фреймворка для проекта, или зачем мы изобрели велосипедВыбор фреймворка для проекта, или зачем мы изобрели велосипед
Выбор фреймворка для проекта, или зачем мы изобрели велосипед
Mikhail Larchanka
 
Распространение информации: тенденции и тренды
Распространение информации: тенденции и трендыРаспространение информации: тенденции и тренды
Распространение информации: тенденции и трендыMikhail Larchanka
 
Mobile web sites
Mobile web sitesMobile web sites
Mobile web sites
Mikhail Larchanka
 

More from Mikhail Larchanka (10)

Смарт-контракты в блокчейне TON
Смарт-контракты в блокчейне TONСмарт-контракты в блокчейне TON
Смарт-контракты в блокчейне TON
 
Cloud with Telegram - TgCloud
Cloud with Telegram - TgCloudCloud with Telegram - TgCloud
Cloud with Telegram - TgCloud
 
Web Audio API: brief introduction
Web Audio API: brief introductionWeb Audio API: brief introduction
Web Audio API: brief introduction
 
Isomorphic React Apps Testing
Isomorphic React Apps TestingIsomorphic React Apps Testing
Isomorphic React Apps Testing
 
Web App Hidden Menu Positioning
Web App Hidden Menu PositioningWeb App Hidden Menu Positioning
Web App Hidden Menu Positioning
 
Куда катится этот веб?
Куда катится этот веб?Куда катится этот веб?
Куда катится этот веб?
 
Выбор фреймворка для проекта, или зачем мы изобрели велосипед
Выбор фреймворка для проекта, или зачем мы изобрели велосипедВыбор фреймворка для проекта, или зачем мы изобрели велосипед
Выбор фреймворка для проекта, или зачем мы изобрели велосипед
 
Распространение информации: тенденции и тренды
Распространение информации: тенденции и трендыРаспространение информации: тенденции и тренды
Распространение информации: тенденции и тренды
 
O
OO
O
 
Mobile web sites
Mobile web sitesMobile web sites
Mobile web sites
 

Velcom android-mobile-optimized-larchanka

Editor's Notes

  1. О кросс-платформенный гибридных приложениях:ЗачемКак
  2. 1BBColympicsWikipediaMyte2Visit bruges8-puzzlezNikon Sports3Elvito Radio Waves – streams UK radioHangman gamePhotoRoute London
  3. Gestures – все те действия, которые можно совершать пальцами на экране смартфонаFlipSwipePinchSpreadTap/ClickScroll
  4. Как в javascriptотловить ивенты и обработать ихeventListenerfunctions
  5. MultitouchПроверять и менять действия
  6. Направления движения пальцев- Определения простых направлений – вертикальных и горизонтальных
  7. Медленное срабатываниеclick event
  8. Прыгающее окно