В данный момент, вместе с одним очень крупным пабликом в VK, делаю сервис связанный с тематикой этого паблика, в первую очередь как мобильные приложения. В силу того что я в первую очередь javascript разработчик и делать нужно быстро я выбрал PhoneGap как платформу для реализации первых версий приложений. Но внезапно выплало большое количество проблем.

Основные проблемы:

  1. Нету swipe эвентов из коробки
  2. Проблемы со скролами внутри разных блоков.
  3. Демки, такие как jQtouch, врут про кроссплатформенность.

Проблема со скролами

Это очень странная проблема, присутсвующая в iOS < 6, и во всех текущих андроидах. В общем вы можете иметь только один дефолтный скролл вебкита - в body, overflow: auto и scroll не работает. Эту проблему обходят в основном одним способом - с помощью плагина iScroll который, как оказалось, весьма дерьмого качества и его автор знатный быдлокодер. Скролы реализуются в нем с помощью анимаций js + css3. Известная проблема - в андроиде css анимации очень плохо работают! Глитчат, дергаются и в общем можно сказать нормально не работает. Решается это путем добавления translateZ(0) в цсс. Но после этого iScroll начинает работать очень плохо, хотя работать начинает плавно. В iOS такой проблемы нету, уже гораздо лучше, например приложение Untappd работает без тормозов на Ipod Touch 3g и нету ощущения ненативности. В общем если вы хотите скролл в меню, в главной или просто хотите что бы была плашка title сверху вам надо очень сильно извратиться.

jQtouch и товарищи

В силу активного использование анимаций на css работают хорошо только в iOS, в андроид у них даже не подставляется translateZ для того чтобы хотя бы работало.

Свайпы

В принципе это не такая проблема, реализовываются эти события достаточно просто, как именно расскажу в следующей записи.

Return button