SlideShare ist ein Scribd-Unternehmen logo
1 von 214
Downloaden Sie, um offline zu lesen
Опыт разработки
мобильных приложений
      в Applifto
       Анатолий Шарифулин
    Yet another Conference 2012
www.applifto.ru
       2
Опрос аудитории


#yac2012 #yamobile
                     4
Applifto — не Яндекс,
    но мы тоже делаем
собственные приложения :-)

#yac2012 #yamobile
                     5
Наши приложения




       6
Хорошо знакомо Яндексу? :-)
             7
Это первое и самое
     провокационное
       приложение

#yac2012 #yamobile
                     8
Но сейчас не об этом
        Тогда мы были молоды, только тсс...




#yac2012 #yamobile
                         9
Как только в команде
       больше, чем...

#yac2012 #yamobile
                     10
1 приложение


#yac2012 #yamobile
                     11
1 приложение
   1 версия приложения


#yac2012 #yamobile
                     12
1 приложение
  1 версия приложения
     1 программист

#yac2012 #yamobile
                     13
1 приложение
   1 версия приложения
      1 программист
      1 тестеровщик
#yac2012 #yamobile
                     14
Возникает потребность
  в автоматизации или
  упрощении процесса
       разработки
#yac2012 #yamobile
                     15
Возникает потребность
  в автоматизации или
  упрощении процесса
      тестирования
#yac2012 #yamobile
                     16
Возникает потребность
  в автоматизации или
  упрощении процесса
       публикации
#yac2012 #yamobile
                     17
Возникает потребность
  в автоматизации или
 упрощении получения
       статистики
#yac2012 #yamobile
                     18
Возникает потребность
  в автоматизации или
 упрощении получения
       аналитики
#yac2012 #yamobile
                     19
Возникает потребность
  в автоматизации или
 упрощении получения
       бла-бла-бла
#yac2012 #yamobile
                     20
Чем больше
        пользователей,
          тем выше
       ответственность
            Почти Сент-Экзюпери


#yac2012 #yamobile
                     21
• Качество и стабильность
   • Периодичные обновления приложений
   • Пользовательский фидбек
   • Безопасность приложения
   • ...
#yac2012 #yamobile
                     22
«Разработка» приложений
      превращается

#yac2012 #yamobile
                     23
Кодинг
Кодинг




         ...
Вторая часть айсберга
 1.   Работа со сборками и профилями
 2.   Стандартное серверное API
 3.   Клиент-серверное взаимодействие
 4.   Управление приложениями
 5.   Новые девайсы, версии ОС и приложений
 6.   Безопасность приложений
 7.   Релиз и проверка приложений
 8.   Мотивация пользователей
 9.   Кратко про Android

                      27
1. Работа со сборками
       и профилями
       приложений

#yac2012 #yamobile
                     28
Cпособы установки
       приложения
   • Добавить в iTunes профиль и сборку,
     синхронизировать с девайсом
   • Выложить на сервер по FTP/SFTP,
     отправить письмо со ссылкой
     itms-services://?action=...&url=...

   • Веб-сервис для работы с профилями и
     сборками
#yac2012 #yamobile
                             29
Мы разработали свой
       веб-сервис
         Готовые решения не используем:
             TestFlight, HockeyApp, ...




#yac2012 #yamobile
                       30
31
• Простой и удобный сервис для
     разработчиков и бета-тестеров

   • Загрузка профилей и сборок приложений
   • История всех изменений и быстрый
     доступ к любой версии приложения

   • Свой, бесплатный и быстрый
     (в отличии от готовых решений)

#yac2012 #yamobile
                      32
• Автообновление приложений при
     выходе новой сборки

   • Всего сборок: 949+
   • Количество сборок:
     2010 — 8, 2011 — 526, 2012 — 415+



#yac2012 #yamobile
                     33
Автосборки проектов
      не используем
           Привет, Роман Бусыгин! :-)
          http://events.yandex.ru/talks/4/




#yac2012 #yamobile
                         34
Почему?
  • Один аккаунт разработчика,
    100 устройств — вполне достаточно
  • Приложение подписывается одним
    сертификатом (Dev и Distr), нет такой
    проблемы как в Яндексе
  • Не используем CI server-а,
    1 программист — 1 приложение (реже 2:1)

#yac2012 #yamobile
                      35
Почему?

  • Честно, я подходил несколько раз
    к программистам и спрашивал, нужно ли
    что-нибудь автоматизировать? :-)
  • Если мы были бы Яндексом, то тоже
    использовали автосборки, но пока нет


#yac2012 #yamobile
                      36
Была идея
         использовать
       разные профили
       для приложений:
        Dev и не-Dev
#yac2012 #yamobile
                     37
Есть ограничения:
   • Нужны новые Push-сертификаты
   • Нужно регистрировать отдельные
      «инаппы»
   • Синхронизация через iCloud работает
      для Dev-a
   • ...
#yac2012 #yamobile
                     38
Решили пока
         использовать
        разные иконки:
         Dev и не-Dev
#yac2012 #yamobile
                     39
Зачем?

   • При тестирование видно, что это
     Dev-версия или нет
   • Новые супер-фичи и NDA
   • У Dev-сборок может неожиданно истечь
     сертификат и приложение не будет
     запускаться

#yac2012 #yamobile
                      40
Главное: не забыть
      поменять иконку
      перед релизом :-)

#yac2012 #yamobile
                     41
Вторая часть айсберга
 1.   Работа со сборками и профилями
 2.   Стандартное серверное API
 3.   Клиент-серверное взаимодействие
 4.   Управление приложениями
 5.   Новые девайсы, версии ОС и приложений
 6.   Безопасность приложений
 7.   Релиз и проверка приложений
 8.   Мотивация пользователей
 9.   Кратко про Android

                      42
2. Стандартное
      серверное API для
      всех приложений

#yac2012 #yamobile
                     43
Любое наше
   приложение работает
       с Applifto API

#yac2012 #yamobile
                     44
Applifto API
   • start — базовая информация про устройство
     (тип, модель, версия ОС, локаль, ...) и token,
     построение различных статистик и отправка
     «пушей»



   • stderr
#yac2012 #yamobile
                       45
Applifto API
   • start
   • stderr — отправка всех крешей с
     устройства (CrashReportSender),
     уведомление разработчика по почте,
     веб-интерфейс для просмотра всех крешей


   •s
#yac2012 #yamobile
                      46
Applifto API
   • start
   • stderr
   • feedback — в каждом приложение есть
     форма связи с нами, оперативное
     решение проблем


   •ы
#yac2012 #yamobile
                      47
48
Applifto API
   • start
   • stderr
   • feedback
   • about — страница информации или FAQ
     по приложению, текст меняется из админа
   • verify inapp
#yac2012 #yamobile
                     49
50
Applifto API
   • start
   • stderr
   • feedback
   • about
   • verify inapp — защита от взлома «инаппов»,
     проверка, рекомендованная Apple
#yac2012 #yamobile
                       51
Вторая часть айсберга
 1.   Работа со сборками и профилями
 2.   Стандартное серверное API
 3.   Клиент-серверное взаимодействие
 4.   Управление приложениями
 5.   Новые девайсы, версии ОС и приложений
 6.   Безопасность приложений
 7.   Релиз и проверка приложений
 8.   Мотивация пользователей
 9.   Кратко про Android

                      52
3. Клиент-серверное
       взаимодействие

#yac2012 #yamobile
                     53
Почти все
  приложения работают
   с серверной частью

#yac2012 #yamobile
                     54
Стандартная модель API
     Подписанные запросы (md5 от параметров),
                  api_id и secret




#yac2012 #yamobile
                        55
Стандартная модель API
           Формат данных — JSON,
                иногда Plist




#yac2012 #yamobile
                     56
Стандартная модель API
          Никогда не забываем про gzip!
                (клиент-сервер)




#yac2012 #yamobile
                       57
Удобное тестирование
       методов API
      через браузер
        Без генерации подписи (Dev-режим)




#yac2012 #yamobile
                       58
Обязательно: мониторинг
  клиент-серверного
    взаимодействия
      Легко найти ошибку на любой стороне,
                лишние запросы, ...



#yac2012 #yamobile
                       59
Частая ошибка:
длительная или неверная
 синхронизация данных

#yac2012 #yamobile
                     60
Для анализа данных
     или протокола
 сторонних приложений

#yac2012 #yamobile
                     61
Мы используем
 самописный форвардер
   запросов и ответов

#yac2012 #yamobile
                     62
А вдруг rocket science? :-)


#yac2012 #yamobile
                     63
Иногда совсем
          не «рокет»
      «На коленке» написанная серверная часть,
      безопасность данных вообще отсутствует




#yac2012 #yamobile
                         64
Вторая часть айсберга
 1.   Работа со сборками и профилями
 2.   Стандартное серверное API
 3.   Клиент-серверное взаимодействие
 4.   Управление приложениями
 5.   Новые девайсы, версии ОС и приложений
 6.   Безопасность приложений
 7.   Релиз и проверка приложений
 8.   Мотивация пользователей
 9.   Кратко про Android

                      65
4. Управление
        приложениями

#yac2012 #yamobile
                     66
Единый админ для
      управления всеми
       приложениями

#yac2012 #yamobile
                     67
68
Работа с обратной
          связью

#yac2012 #yamobile
                     69
70
Reviews в App Store
       только бесят
       Колы и единицы vs. пятёрки и восторг
             Нет двусторонней связи




#yac2012 #yamobile
                        71
Очень часто
  пользователи «тупят»
    и ставят «плохие»
         оценки
#yac2012 #yamobile
                     72
Если возникла проблема,
   появился вопрос, ...


#yac2012 #yamobile
                     73
Сообщать нужно
   через обратную связь
      в приложении
       или на сайте
#yac2012 #yamobile
                     74
Во-первых, мы будем
    знать какой девайс,
       версии ОС и
       приложения
#yac2012 #yamobile
                     75
И быстро локализуем
       проблему

#yac2012 #yamobile
                     76
Во-вторых,
     вам точно ответят

#yac2012 #yamobile
                     77
В-третьих,
     Review в App Store
       для пятёрок :-)

#yac2012 #yamobile
                     78
Разбирая запросы в
      обратную связь,

#yac2012 #yamobile
                     79
Легко найти бета-
   тестеров, волонтёров
  и полезные знакомства

#yac2012 #yamobile
                     80
Cтатистика
       по приложениям

#yac2012 #yamobile
                     81
Мини-статистика
       по скачиваниям
         и продажам
          По данным из iTunesConnect




#yac2012 #yamobile
                      82
83
Плюс AppAnnie.com


#yac2012 #yamobile
                     84
Статистика по
  активным* устройствам
  * token устройства для приложения действительный




#yac2012 #yamobile
                         85
86
Плюс Localytics.com


#yac2012 #yamobile
                     87
Подробная статистика
            У «крутых» приложений есть
    собственный админ и расширенная статистика




#yac2012 #yamobile
                        88
Различные графики,
   хит-парады и разрезы
          данных

#yac2012 #yamobile
                     89
90
91
92
Важно: сразу
    продумывайте какая
     статистика нужна
       приложению
#yac2012 #yamobile
                     93
Бонус: если
     приложение часто
       бывает в топе
        «кассовых»,
#yac2012 #yamobile
                     94
То можно оценить
      оборот $ раздела
          в день

#yac2012 #yamobile
                     95
Рассылка
      Push-уведомлений

#yac2012 #yamobile
                     96
Типы «пушей»

   • Открытие приложения
   • Написать в обратную связь
   • Оставить отзыв в App Store
   • Переход на пункт меню или единицу
     контента

#yac2012 #yamobile
                     97
Фильтрация при отправке

   • Всем
   • Только тестовым устройствам
   • Выборочно
    • учитывая локализацию
    • определенной версии ОС и приложения
#yac2012 #yamobile
                     98
Чем чаще отсылаешь
    «пуши», тем число
   активных устройств
         точней
#yac2012 #yamobile
                     99
Не забывать:
        про поддержку
       «тихого режима»
        в приложении
#yac2012 #yamobile
                     100
101
Вторая часть айсберга
 1.   Работа со сборками и профилями
 2.   Стандартное серверное API
 3.   Клиент-серверное взаимодействие
 4.   Управление приложениями
 5.   Новые девайсы, версии ОС и приложений
 6.   Безопасность приложений
 7.   Релиз и проверка приложений
 8.   Мотивация пользователей
 9.   Кратко про Android

                      102
5. Новые девайсы,
         версии ОС и
         приложений

#yac2012 #yamobile
                     103
Каждые полгода
  выходит новый девайс

#yac2012 #yamobile
                     104
Либо нужно увеличивать
 размеры приложений
       в 2 раза

#yac2012 #yamobile
                     105
Либо нужно увеличивать
 размеры приложений
    в 1.127 раза :-)

#yac2012 #yamobile
                     106
Либо исправлять глюки
       На new iPad появился «голубой экран»




#yac2012 #yamobile
                        107
108
Каждый год выходит
    новая версия iOS
    с новыми фичами

#yac2012 #yamobile
                     109
и иногда без обратной
      совместимости

#yac2012 #yamobile
                     110
В iOS 4.3 испортилась
      запись треков,
  добавилось шипение
  Apple без уведомления увеличил размеры буфферов
                    в два раза :-)



#yac2012 #yamobile
                        111
В iOS 5 запись
   полностью перестала
         работать

#yac2012 #yamobile
                     112
#yac2012 #yamobile
                     113
Минимальная
       поддерживаемая
         версия iOS?

#yac2012 #yamobile
                     114
Долго поддерживали
       все версии,
     начиная с 3.1.2

#yac2012 #yamobile
                     115
Чем дальше, тем
      больше костылей

#yac2012 #yamobile
                     116
Большое количество
       комбинаций:
    девайс и версия iOS

#yac2012 #yamobile
                     117
Везде протестировать
    нет возможности,
   о проблемах узнаём
   только после релиза
#yac2012 #yamobile
                     118
По статистике: в
       основном это
    < 7% пользователей

#yac2012 #yamobile
                     119
Так они ещё и колы
         ставят :-)

#yac2012 #yamobile
                     120
В итоге: решили
     поддерживать
последнюю объявленную
 и предыдущую версии
#yac2012 #yamobile
                     121
То есть сейчас
         iOS 5 и выше

#yac2012 #yamobile
                     122
Cледовательно,
     iPhone 3Gs и новее

#yac2012 #yamobile
                     123
Каждый месяц мы
  выпускаем обновления
      приложений

#yac2012 #yamobile
                     124
На самом деле — чаще
      В этом году мы выпустили 33 «апдейта»,
         половина — минорные обновления




#yac2012 #yamobile
                        125
Разработать «апдейт»
        несложно,

#yac2012 #yamobile
                     126
Легко всё разломать
у текущих пользователей

#yac2012 #yamobile
                     127
Цена ошибки — велика
     Исправить получится только после проверки
          приложения, а это от 5—10 дней




#yac2012 #yamobile
                        128
Обновление приложений
  — очень важный и
  сложный процесс!

#yac2012 #yamobile
                     129
Когда версия
 исправляет обновление
  предыдущей версии,

#yac2012 #yamobile
                     130
Это печально...


#yac2012 #yamobile
                     131
Хотя, судя по iOS 6,
     ошибки в новой
      версии — это
      «Apple way» :-)
        При Стиве Джобсе такого не было!


#yac2012 #yamobile
                       132
Раньше тестировали
      приложения все
     Программисты, менеджеры, бета-тестеры, ...




#yac2012 #yamobile
                         133
Это отнимало очень
      много времени
          И совершенно неэффективно!




#yac2012 #yamobile
                      134
Пытались работать
      с бета-тестерами
        Но они очень ленивые и медленные




#yac2012 #yamobile
                       135
В итоге: решились
     на «тестировщика»
  Это было сложное и кардинальное решение для нас :-)




#yac2012 #yamobile
                         136
Если в Яндексе
         работают
      «тестировщикИ»,

#yac2012 #yamobile
                     137
То у нас он один и
     универсальный :-)

#yac2012 #yamobile
                     138
• Он совсем не программист!
   • Тестирует на всех девайсах и
     поддерживаемых версиях ОС

   • Разбирает фидбек от пользователей
   • Есть список тестов и план тестирования
     по каждому приложению

#yac2012 #yamobile
                      139
Версионность


#yac2012 #yamobile
                     141
x.x — мажорный
           «апдейт»
      Важное обновление, новый функционал,
             разработка от 2х недель




#yac2012 #yamobile
                       142
x.x.x — минорный
          «апдейт»
        Исправление ошибок и улучшения,
              разработка 1—5 дней




#yac2012 #yamobile
                      143
x.x.x.x — Dev-версия,
     не для публикации
        Исправление ошибок и улучшения,
        в активной фазе каждые 1—2 дня




#yac2012 #yamobile
                      144
x.x.x.x — Dev-версия,
     не для публикации
        Обработка таких версий на сервере,
     включение дополнительного функционала:




#yac2012 #yamobile
                       145
x.x.x.x — Dev-версия,
     не для публикации
        проверка «инаппов» через sandbox,
         контент для продажи — free, ...




#yac2012 #yamobile
                       146
Вторая часть айсберга
 1.   Работа со сборками и профилями
 2.   Стандартное серверное API
 3.   Клиент-серверное взаимодействие
 4.   Управление приложениями
 5.   Новые девайсы, версии ОС и приложений
 6.   Безопасность приложений
 7.   Релиз и проверка приложений
 8.   Мотивация пользователей
 9.   Кратко про Android

                      147
6. Безопасность
   приложений и борьба
       с «пиратами»

#yac2012 #yamobile
                     148
Раньше мы выпускали
      только платные
       приложения

#yac2012 #yamobile
                     149
Но их стали оперативно
  ломать и выкладывать
      на торренты

#yac2012 #yamobile
                     150
Из собственной
    статистики запусков
      мы обнаружили,

#yac2012 #yamobile
                     151
что пользователей
        больше, чем
       покупателей :-)

#yac2012 #yamobile
                     152
Некоторые «хакеры»
       тщеславны

#yac2012 #yamobile
                     153
#yac2012 #yamobile
                     154
Мы заблокировали
   версии на серверной
         стороне

#yac2012 #yamobile
                     155
#yac2012 #yamobile
                     156
И просили обновиться
     на новые версии

#yac2012 #yamobile
                     157
#yac2012 #yamobile
                     158
Но новые версии
       тоже ломали и
       выкладывали :-)

#yac2012 #yamobile
                     159
Мы перешли
    на Freemium-модель
       Бесплатные приложения с «инаппами»




#yac2012 #yamobile
                       160
Оказывается,
 «инаппы» можно ломать
  и делать бесплатными

#yac2012 #yamobile
                     161
И мы сделали
     проверку запросов
        на сервере
            Как рекомендует Apple




#yac2012 #yamobile
                     162
#yac2012 #yamobile
                     163
Много проблем возникает
     с Jailbreak-ами
       В одном из приложений нам пришлось
              ввести ряд ограничений




#yac2012 #yamobile
                       164
i-FunBox и подобные
        программы

#yac2012 #yamobile
                     165
#yac2012 #yamobile
                     166
Можно перекинуть в
  *.app файлы и они будут
          доступны
        в приложении
    без покупки «инаппа»
   Старый баг одного из приложений, сообщил нам
               об этом сам «хакер» :-)

#yac2012 #yamobile
                        167
Пара общих
        рекомендаций:

#yac2012 #yamobile
                     168
1. Не забивайте на
   шифрование данных,
       как WhatsApp
              http://clck.ru/2DYSI




#yac2012 #yamobile
                       169
2. Не публикуйте
  базы UDID-ов, если вы
   их ещё собираете :-)
              http://clck.ru/2DYSs




#yac2012 #yamobile
                       170
После запрета Apple
    использовать UDID
       мы перешли
   на md5 от MAC-адреса
#yac2012 #yamobile
                     171
Вторая часть айсберга
 1.   Работа со сборками и профилями
 2.   Стандартное серверное API
 3.   Клиент-серверное взаимодействие
 4.   Управление приложениями
 5.   Новые девайсы, версии ОС и приложений
 6.   Безопасность приложений
 7.   Релиз и проверка приложений
 8.   Мотивация пользователей
 9.   Кратко про Android

                      172
7. Релиз и проверка
         приложений

#yac2012 #yamobile
                     173
Последний камень
     преткновения —
   проверка приложения

#yac2012 #yamobile
                     174
Обычно занимает
       от 5 до 10 дней

#yac2012 #yamobile
                     175
Время проверки
   приложения можно
  сократить до 24 часов

#yac2012 #yamobile
                     176
Для этого
      нужно написать
     «слёзное» письмо
  App Store Resource Center
              http://clck.ru/2H5Pk


#yac2012 #yamobile
                       177
178
У нас так
     получилось дважды
    Может быть наши заявки одобрили из-за фразы:
     «We trust in Apple and App Store Review Team» :-)




#yac2012 #yamobile
                            179
Кстати, способ загрузить
 одновременно большое
 количество приложений
       не работает
             http://clck.ru/2H8KS


#yac2012 #yamobile
                      180
#yac2012 #yamobile
                     181
Но иногда приложения
     отклоняют :-)

#yac2012 #yamobile
                     182
Documents vs. Caches
     После выхода iOS 5 несколько приложений
      отклонили из-за неправильной структуры
                 хранения данных




#yac2012 #yamobile
                       183
Нельзя явно заставлять
пользователей оценивыть
 приложение в App Store
      Летнее нововедение в App Store Review




#yac2012 #yamobile
                       184
185
Но мы обошли это
       ограничение
       Теперь мы присылаем пуш с просьбой
             оценить приложение :-)




#yac2012 #yamobile
                       186
Чем чаще выпускаете
       обновления
      приложений,

#yac2012 #yamobile
                     187
Тем раньше узнаёте о
  новых ограничениях в
   App Store Review :-)

#yac2012 #yamobile
                     188
Вторая часть айсберга
 1.   Работа со сборками и профилями
 2.   Стандартное серверное API
 3.   Клиент-серверное взаимодействие
 4.   Управление приложениями
 5.   Новые девайсы, версии ОС и приложений
 6.   Безопасность приложений
 7.   Релиз и проверка приложений
 8.   Мотивация пользователей
 9.   Кратко про Android

                      189
8. Мотивация
     пользователей или
       «белая» магия

#yac2012 #yamobile
                     190
Отлично работает
       следующая
  комбинация действий:

#yac2012 #yamobile
                     191
• Постоянные Push-уведомления
   • Периодичные распродажи
   • Пользователи любят покупать наборы
     типа «All Inclusive»

   • Баннеры-прокачки для контента
     как в приложении App Store

#yac2012 #yamobile
                            192
Ограничение: «инапп»
      не может быть
       бесплатным,

#yac2012 #yamobile
                     193
Решение: на сервере
    можно управлять
    параметром isFree
  для единицы контента
#yac2012 #yamobile
                     194
Вторая часть айсберга
 1.   Работа со сборками и профилями
 2.   Стандартное серверное API
 3.   Клиент-серверное взаимодействие
 4.   Управление приложениями
 5.   Новые девайсы, версии ОС и приложений
 6.   Безопасность приложений
 7.   Релиз и проверка приложений
 8.   Мотивация пользователей
 9.   Кратко про Android

                      195
9. Коротко про
            Android

#yac2012 #yamobile
                     196
Для охвата
     пользователей
Android, конечно, нужен :-)

#yac2012 #yamobile
                     197
Но большинство из
     них не хотят или
    не готовы платить

#yac2012 #yamobile
                     198
Многообразие
    девайсов и размеров
         поражает

#yac2012 #yamobile
                     199
Приложения легко
       декомпилятся

#yac2012 #yamobile
                     200
В общем не-iOS ещё :-)


#yac2012 #yamobile
                     201
При наличии
   iOS-версии Android
 разрабатывается быстро

#yac2012 #yamobile
                     202
Бонусы


#yac2012 #yamobile
                     203
1. При наличии
      успешного опыта
         разработки

#yac2012 #yamobile
                     204
Легко и быстро
      разрабатываются
      вспомогательные
       приложения для
      внутренних нужд
#yac2012 #yamobile
                     205
• Приложение для логистики,
     iPod + сканнер штрих-кодов

   • Мониторинг внутренней статистики
   • Быстрый доступ к данным по компании

#yac2012 #yamobile
                     206
#yac2012 #yamobile
                     207
• Приложение для логистики,
     iPod + сканнер штрих-кодов

   • Мониторинг внутренней статистики
   • Быстрый доступ к данным по компании

#yac2012 #yamobile
                     208
#yac2012 #yamobile
                     209
• Приложение для логистики,
     iPod + сканнер штрих-кодов

   • Мониторинг внутренней статистики
   • Быстрый доступ к данным по компании
     — приложения «для директора» :-)


#yac2012 #yamobile
                     210
2. Запустили переводы
    интересных статей
      про iOS и Apple

#yac2012 #yamobile
                     211
www.applifto.ru/docs
         212
Спасибо
 за внимание!
   Анатолий Шарифулин
        @sharifulin

      Аpplifto Inc.
     www.applifto.ru

#yac2012 #yamobile
                        213
Вопросы?
   Анатолий Шарифулин
        @sharifulin

      Аpplifto Inc.
     www.applifto.ru

#yac2012 #yamobile
                        214

Weitere ähnliche Inhalte

Was ist angesagt?

Автоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотовАвтоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотовSergey Borisov
 
Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Эльвина Сакаева
 
Об автоматическом тестировании бэкенда в Media markt
Об автоматическом тестировании бэкенда в Media marktОб автоматическом тестировании бэкенда в Media markt
Об автоматическом тестировании бэкенда в Media marktIgor Lyubin
 
Невидимый фронт или тестирование digital-проектов
Невидимый фронт или тестирование digital-проектовНевидимый фронт или тестирование digital-проектов
Невидимый фронт или тестирование digital-проектовSmartHead
 
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindingsSelenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindingsCOMAQA.BY
 
Mobile testing. Tips and tricks
Mobile testing. Tips and tricksMobile testing. Tips and tricks
Mobile testing. Tips and tricksSQALab
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Appium для народа
Appium для народаAppium для народа
Appium для народаSQALab
 
Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Igor Khrol
 
Mobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerryMobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerryQA Club Kiev
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qaISsoft
 
Андрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation ToolАндрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation ToolQA Club Minsk
 
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...RIF-Technology
 
Mobile Automation based on Appium
Mobile Automation based on AppiumMobile Automation based on Appium
Mobile Automation based on AppiumAnton Sirota
 
Подходы к тестированию андроид приложений
Подходы к тестированию андроид приложенийПодходы к тестированию андроид приложений
Подходы к тестированию андроид приложенийSQALab
 
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QAFest
 
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...SQALab
 
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестированияАнализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестированияSQALab
 
Разработка мобильных приложений в большой компании. Взгляд изнутри.
Разработка мобильных приложений в большой компании. Взгляд изнутри.Разработка мобильных приложений в большой компании. Взгляд изнутри.
Разработка мобильных приложений в большой компании. Взгляд изнутри.Alexey Ustenko
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...COMAQA.BY
 

Was ist angesagt? (20)

Автоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотовАвтоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотов
 
Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)Особенности тестирования мобильных приложений (Android, iOS)
Особенности тестирования мобильных приложений (Android, iOS)
 
Об автоматическом тестировании бэкенда в Media markt
Об автоматическом тестировании бэкенда в Media marktОб автоматическом тестировании бэкенда в Media markt
Об автоматическом тестировании бэкенда в Media markt
 
Невидимый фронт или тестирование digital-проектов
Невидимый фронт или тестирование digital-проектовНевидимый фронт или тестирование digital-проектов
Невидимый фронт или тестирование digital-проектов
 
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindingsSelenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
 
Mobile testing. Tips and tricks
Mobile testing. Tips and tricksMobile testing. Tips and tricks
Mobile testing. Tips and tricks
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Appium для народа
Appium для народаAppium для народа
Appium для народа
 
Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17
 
Mobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerryMobile testing: Android, iOS, BlackBerry
Mobile testing: Android, iOS, BlackBerry
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
 
Андрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation ToolАндрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation Tool
 
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
 
Mobile Automation based on Appium
Mobile Automation based on AppiumMobile Automation based on Appium
Mobile Automation based on Appium
 
Подходы к тестированию андроид приложений
Подходы к тестированию андроид приложенийПодходы к тестированию андроид приложений
Подходы к тестированию андроид приложений
 
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
 
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
 
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестированияАнализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестирования
 
Разработка мобильных приложений в большой компании. Взгляд изнутри.
Разработка мобильных приложений в большой компании. Взгляд изнутри.Разработка мобильных приложений в большой компании. Взгляд изнутри.
Разработка мобильных приложений в большой компании. Взгляд изнутри.
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 

Andere mochten auch

ПО ситуационного центра
ПО ситуационного центраПО ситуационного центра
ПО ситуационного центраSergey Gorshkov
 
окружающий мир
окружающий мирокружающий мир
окружающий мирlavrenteva
 
гдз по алгебре 11 класс мордкович, 2001 год
гдз по алгебре 11 класс мордкович, 2001 годгдз по алгебре 11 класс мордкович, 2001 год
гдз по алгебре 11 класс мордкович, 2001 годИван Иванов
 
Управление людьми. Как эмоции влияют на характер? Вадим Нарейко
Управление людьми. Как эмоции влияют на характер? Вадим НарейкоУправление людьми. Как эмоции влияют на характер? Вадим Нарейко
Управление людьми. Как эмоции влияют на характер? Вадим НарейкоVadim Nareyko
 
теория.гвоздев.анализ эмоции страха среди учащихся. маоусош №45.
теория.гвоздев.анализ эмоции страха среди учащихся. маоусош №45.теория.гвоздев.анализ эмоции страха среди учащихся. маоусош №45.
теория.гвоздев.анализ эмоции страха среди учащихся. маоусош №45.lesayau
 
окомистин др
окомистин дрокомистин др
окомистин др1ivanr33
 
Технологии продления молодости
Технологии продления молодостиТехнологии продления молодости
Технологии продления молодостиMikhail Kryzhanovskiy
 
эмоции радость
эмоции радостьэмоции радость
эмоции радостьostolga
 
эмоции человека
эмоции человекаэмоции человека
эмоции человекаOlga Demyanova
 
Журнал "Про e-learning" #4
Журнал "Про e-learning" #4Журнал "Про e-learning" #4
Журнал "Про e-learning" #4eLearning center
 
эмоции человека
эмоции человекаэмоции человека
эмоции человекаaf1311
 
чувства и эмоции в жизни человека
чувства и эмоции в жизни человекачувства и эмоции в жизни человека
чувства и эмоции в жизни человекаtenshova
 
Чтобы видеть эмоции
Чтобы видеть эмоцииЧтобы видеть эмоции
Чтобы видеть эмоцииArtur Danielyan
 
Базовые потребности и эмоции человека
Базовые потребности и эмоции человекаБазовые потребности и эмоции человека
Базовые потребности и эмоции человекаSergey Aleksanin
 
Российский e-Wow сервис. Удобство! Сроки! Эмоции!
Российский e-Wow сервис. Удобство! Сроки! Эмоции!Российский e-Wow сервис. Удобство! Сроки! Эмоции!
Российский e-Wow сервис. Удобство! Сроки! Эмоции!Timofey Shikolenkov
 
Негативные эмоции и их последствия
Негативные эмоции и их последствияНегативные эмоции и их последствия
Негативные эмоции и их последствияCATTBA COM
 
психологический портрет личности
психологический портрет личностипсихологический портрет личности
психологический портрет личностиMetOb
 

Andere mochten auch (20)

ПО ситуационного центра
ПО ситуационного центраПО ситуационного центра
ПО ситуационного центра
 
Проверочная работа по обучению грамоте
Проверочная работа по обучению грамотеПроверочная работа по обучению грамоте
Проверочная работа по обучению грамоте
 
окружающий мир
окружающий мирокружающий мир
окружающий мир
 
гдз по алгебре 11 класс мордкович, 2001 год
гдз по алгебре 11 класс мордкович, 2001 годгдз по алгебре 11 класс мордкович, 2001 год
гдз по алгебре 11 класс мордкович, 2001 год
 
Управление людьми. Как эмоции влияют на характер? Вадим Нарейко
Управление людьми. Как эмоции влияют на характер? Вадим НарейкоУправление людьми. Как эмоции влияют на характер? Вадим Нарейко
Управление людьми. Как эмоции влияют на характер? Вадим Нарейко
 
теория.гвоздев.анализ эмоции страха среди учащихся. маоусош №45.
теория.гвоздев.анализ эмоции страха среди учащихся. маоусош №45.теория.гвоздев.анализ эмоции страха среди учащихся. маоусош №45.
теория.гвоздев.анализ эмоции страха среди учащихся. маоусош №45.
 
окомистин др
окомистин дрокомистин др
окомистин др
 
Технологии продления молодости
Технологии продления молодостиТехнологии продления молодости
Технологии продления молодости
 
эмоции радость
эмоции радостьэмоции радость
эмоции радость
 
эмоции человека
эмоции человекаэмоции человека
эмоции человека
 
Журнал "Про e-learning" #4
Журнал "Про e-learning" #4Журнал "Про e-learning" #4
Журнал "Про e-learning" #4
 
эмоции человека
эмоции человекаэмоции человека
эмоции человека
 
Motcsii
MotcsiiMotcsii
Motcsii
 
чувства и эмоции в жизни человека
чувства и эмоции в жизни человекачувства и эмоции в жизни человека
чувства и эмоции в жизни человека
 
Эмоции
ЭмоцииЭмоции
Эмоции
 
Чтобы видеть эмоции
Чтобы видеть эмоцииЧтобы видеть эмоции
Чтобы видеть эмоции
 
Базовые потребности и эмоции человека
Базовые потребности и эмоции человекаБазовые потребности и эмоции человека
Базовые потребности и эмоции человека
 
Российский e-Wow сервис. Удобство! Сроки! Эмоции!
Российский e-Wow сервис. Удобство! Сроки! Эмоции!Российский e-Wow сервис. Удобство! Сроки! Эмоции!
Российский e-Wow сервис. Удобство! Сроки! Эмоции!
 
Негативные эмоции и их последствия
Негативные эмоции и их последствияНегативные эмоции и их последствия
Негативные эмоции и их последствия
 
психологический портрет личности
психологический портрет личностипсихологический портрет личности
психологический портрет личности
 

Ähnlich wie Опыт разработки мобильных приложений в Applifto

Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rusMaxim Shaptala
 
Опыт тестирования API САПР платформы
Опыт тестирования API САПР платформыОпыт тестирования API САПР платформы
Опыт тестирования API САПР платформыSQALab
 
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с Production
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с ProductionThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с Production
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с ProductionVladimir Malinin
 
E2E-тестирование мобильных приложений
E2E-тестирование мобильных приложенийE2E-тестирование мобильных приложений
E2E-тестирование мобильных приложенийMoscowJS
 
Mobile Monday Kiev#1 - How to save time in Mobile Apps Development
Mobile Monday Kiev#1 - How to save time in Mobile Apps DevelopmentMobile Monday Kiev#1 - How to save time in Mobile Apps Development
Mobile Monday Kiev#1 - How to save time in Mobile Apps DevelopmentIntersog
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON
 
Пять вещей, которые нужно знать заказчику
Пять вещей, которые нужно знать заказчикуПять вещей, которые нужно знать заказчику
Пять вещей, которые нужно знать заказчикуSergey Lourie
 
Аналитика мобильных приложений
Аналитика мобильных приложенийАналитика мобильных приложений
Аналитика мобильных приложенийAnatoly Sharifulin
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIMoscowJS
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаRoman Dvornov
 
Rad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продуктаRad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продуктаazamat isaev
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...solit
 
Где водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочкиГде водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочкиOxagile
 
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...e-Legion
 
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.SECON
 
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Ontico
 
Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)Алексей Панфилов
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiAlexander Makarov
 

Ähnlich wie Опыт разработки мобильных приложений в Applifto (20)

Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
Опыт тестирования API САПР платформы
Опыт тестирования API САПР платформыОпыт тестирования API САПР платформы
Опыт тестирования API САПР платформы
 
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с Production
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с ProductionThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с Production
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с Production
 
E2E-тестирование мобильных приложений
E2E-тестирование мобильных приложенийE2E-тестирование мобильных приложений
E2E-тестирование мобильных приложений
 
Mobile Monday Kiev#1 - How to save time in Mobile Apps Development
Mobile Monday Kiev#1 - How to save time in Mobile Apps DevelopmentMobile Monday Kiev#1 - How to save time in Mobile Apps Development
Mobile Monday Kiev#1 - How to save time in Mobile Apps Development
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
 
Пять вещей, которые нужно знать заказчику
Пять вещей, которые нужно знать заказчикуПять вещей, которые нужно знать заказчику
Пять вещей, которые нужно знать заказчику
 
Аналитика мобильных приложений
Аналитика мобильных приложенийАналитика мобильных приложений
Аналитика мобильных приложений
 
Ibm jazz educonferencenau-10-2012
Ibm jazz educonferencenau-10-2012Ibm jazz educonferencenau-10-2012
Ibm jazz educonferencenau-10-2012
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтенда
 
Rad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продуктаRad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продукта
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
 
Где водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочкиГде водится мобильная автоматизация и как научить ее приносить тапочки
Где водится мобильная автоматизация и как научить ее приносить тапочки
 
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
 
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
 
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
 
Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)Как не стать заложником одной платформы (MBLTdev)
Как не стать заложником одной платформы (MBLTdev)
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
 

Mehr von Anatoly Sharifulin

Ещё один способ привлекать и удерживать пользователей в играх
Ещё один способ привлекать и удерживать пользователей в играхЕщё один способ привлекать и удерживать пользователей в играх
Ещё один способ привлекать и удерживать пользователей в играхAnatoly Sharifulin
 
ASO Аудит для приложений и игр
ASO Аудит для приложений и игрASO Аудит для приложений и игр
ASO Аудит для приложений и игрAnatoly Sharifulin
 
ASO для iOS 11 (продвижение In-App Prurchases)
ASO для iOS 11 (продвижение In-App Prurchases)ASO для iOS 11 (продвижение In-App Prurchases)
ASO для iOS 11 (продвижение In-App Prurchases)Anatoly Sharifulin
 
AppFollow митап в Москве
AppFollow митап в МосквеAppFollow митап в Москве
AppFollow митап в МосквеAnatoly Sharifulin
 
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...Anatoly Sharifulin
 
Аналитика приложений конкурентов в Google Play
Аналитика приложений конкурентов в Google PlayАналитика приложений конкурентов в Google Play
Аналитика приложений конкурентов в Google PlayAnatoly Sharifulin
 
Конкурентный анализ мобильных приложений
Конкурентный анализ мобильных приложенийКонкурентный анализ мобильных приложений
Конкурентный анализ мобильных приложенийAnatoly Sharifulin
 
Аналитика приложений конкурентов
Аналитика приложений конкурентовАналитика приложений конкурентов
Аналитика приложений конкурентовAnatoly Sharifulin
 
Аналитика магазинов приложений
Аналитика магазинов приложенийАналитика магазинов приложений
Аналитика магазинов приложенийAnatoly Sharifulin
 
Анализ приложений конкурентов
Анализ приложений конкурентовАнализ приложений конкурентов
Анализ приложений конкурентовAnatoly Sharifulin
 
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»Anatoly Sharifulin
 
Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?Anatoly Sharifulin
 
Основной продукт vs. мобильный на примере Ostrovok.ru
Основной продукт vs. мобильный на примере Ostrovok.ruОсновной продукт vs. мобильный на примере Ostrovok.ru
Основной продукт vs. мобильный на примере Ostrovok.ruAnatoly Sharifulin
 
ASO оптимизация и продвижение мобильных приложений
ASO  оптимизация и продвижение мобильных приложенийASO  оптимизация и продвижение мобильных приложений
ASO оптимизация и продвижение мобильных приложенийAnatoly Sharifulin
 
Удержание пользователя в приложении
Удержание пользователя в приложенииУдержание пользователя в приложении
Удержание пользователя в приложенииAnatoly Sharifulin
 

Mehr von Anatoly Sharifulin (20)

Ещё один способ привлекать и удерживать пользователей в играх
Ещё один способ привлекать и удерживать пользователей в играхЕщё один способ привлекать и удерживать пользователей в играх
Ещё один способ привлекать и удерживать пользователей в играх
 
ASO Аудит для приложений и игр
ASO Аудит для приложений и игрASO Аудит для приложений и игр
ASO Аудит для приложений и игр
 
ASO для iOS 11 (продвижение In-App Prurchases)
ASO для iOS 11 (продвижение In-App Prurchases)ASO для iOS 11 (продвижение In-App Prurchases)
ASO для iOS 11 (продвижение In-App Prurchases)
 
ASO для iOS 11
ASO для iOS 11ASO для iOS 11
ASO для iOS 11
 
AppFollow митап в Москве
AppFollow митап в МосквеAppFollow митап в Москве
AppFollow митап в Москве
 
ASO Best Practices 2016
ASO Best Practices 2016ASO Best Practices 2016
ASO Best Practices 2016
 
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...
То, что русскому — ФРИИ, финну — Startup Sauna. Опыт прохождения акселерации ...
 
Аналитика приложений конкурентов в Google Play
Аналитика приложений конкурентов в Google PlayАналитика приложений конкурентов в Google Play
Аналитика приложений конкурентов в Google Play
 
ASO FAQ
ASO FAQASO FAQ
ASO FAQ
 
ASO: Best Practices 2015
ASO: Best Practices 2015ASO: Best Practices 2015
ASO: Best Practices 2015
 
AppFollow Demo Day ФРИИ
AppFollow Demo Day ФРИИAppFollow Demo Day ФРИИ
AppFollow Demo Day ФРИИ
 
Конкурентный анализ мобильных приложений
Конкурентный анализ мобильных приложенийКонкурентный анализ мобильных приложений
Конкурентный анализ мобильных приложений
 
Аналитика приложений конкурентов
Аналитика приложений конкурентовАналитика приложений конкурентов
Аналитика приложений конкурентов
 
Аналитика магазинов приложений
Аналитика магазинов приложенийАналитика магазинов приложений
Аналитика магазинов приложений
 
Анализ приложений конкурентов
Анализ приложений конкурентовАнализ приложений конкурентов
Анализ приложений конкурентов
 
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»
ASO оптимизация мобильных приложений: «Что такое хорошо и что такое плохо?»
 
Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?
 
Основной продукт vs. мобильный на примере Ostrovok.ru
Основной продукт vs. мобильный на примере Ostrovok.ruОсновной продукт vs. мобильный на примере Ostrovok.ru
Основной продукт vs. мобильный на примере Ostrovok.ru
 
ASO оптимизация и продвижение мобильных приложений
ASO  оптимизация и продвижение мобильных приложенийASO  оптимизация и продвижение мобильных приложений
ASO оптимизация и продвижение мобильных приложений
 
Удержание пользователя в приложении
Удержание пользователя в приложенииУдержание пользователя в приложении
Удержание пользователя в приложении
 

Kürzlich hochgeladen (9)

CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 

Опыт разработки мобильных приложений в Applifto

  • 1. Опыт разработки мобильных приложений в Applifto Анатолий Шарифулин Yet another Conference 2012
  • 3.
  • 5. Applifto — не Яндекс, но мы тоже делаем собственные приложения :-) #yac2012 #yamobile 5
  • 8. Это первое и самое провокационное приложение #yac2012 #yamobile 8
  • 9. Но сейчас не об этом Тогда мы были молоды, только тсс... #yac2012 #yamobile 9
  • 10. Как только в команде больше, чем... #yac2012 #yamobile 10
  • 12. 1 приложение 1 версия приложения #yac2012 #yamobile 12
  • 13. 1 приложение 1 версия приложения 1 программист #yac2012 #yamobile 13
  • 14. 1 приложение 1 версия приложения 1 программист 1 тестеровщик #yac2012 #yamobile 14
  • 15. Возникает потребность в автоматизации или упрощении процесса разработки #yac2012 #yamobile 15
  • 16. Возникает потребность в автоматизации или упрощении процесса тестирования #yac2012 #yamobile 16
  • 17. Возникает потребность в автоматизации или упрощении процесса публикации #yac2012 #yamobile 17
  • 18. Возникает потребность в автоматизации или упрощении получения статистики #yac2012 #yamobile 18
  • 19. Возникает потребность в автоматизации или упрощении получения аналитики #yac2012 #yamobile 19
  • 20. Возникает потребность в автоматизации или упрощении получения бла-бла-бла #yac2012 #yamobile 20
  • 21. Чем больше пользователей, тем выше ответственность Почти Сент-Экзюпери #yac2012 #yamobile 21
  • 22. • Качество и стабильность • Периодичные обновления приложений • Пользовательский фидбек • Безопасность приложения • ... #yac2012 #yamobile 22
  • 23. «Разработка» приложений превращается #yac2012 #yamobile 23
  • 24.
  • 27. Вторая часть айсберга 1. Работа со сборками и профилями 2. Стандартное серверное API 3. Клиент-серверное взаимодействие 4. Управление приложениями 5. Новые девайсы, версии ОС и приложений 6. Безопасность приложений 7. Релиз и проверка приложений 8. Мотивация пользователей 9. Кратко про Android 27
  • 28. 1. Работа со сборками и профилями приложений #yac2012 #yamobile 28
  • 29. Cпособы установки приложения • Добавить в iTunes профиль и сборку, синхронизировать с девайсом • Выложить на сервер по FTP/SFTP, отправить письмо со ссылкой itms-services://?action=...&url=... • Веб-сервис для работы с профилями и сборками #yac2012 #yamobile 29
  • 30. Мы разработали свой веб-сервис Готовые решения не используем: TestFlight, HockeyApp, ... #yac2012 #yamobile 30
  • 31. 31
  • 32. • Простой и удобный сервис для разработчиков и бета-тестеров • Загрузка профилей и сборок приложений • История всех изменений и быстрый доступ к любой версии приложения • Свой, бесплатный и быстрый (в отличии от готовых решений) #yac2012 #yamobile 32
  • 33. • Автообновление приложений при выходе новой сборки • Всего сборок: 949+ • Количество сборок: 2010 — 8, 2011 — 526, 2012 — 415+ #yac2012 #yamobile 33
  • 34. Автосборки проектов не используем Привет, Роман Бусыгин! :-) http://events.yandex.ru/talks/4/ #yac2012 #yamobile 34
  • 35. Почему? • Один аккаунт разработчика, 100 устройств — вполне достаточно • Приложение подписывается одним сертификатом (Dev и Distr), нет такой проблемы как в Яндексе • Не используем CI server-а, 1 программист — 1 приложение (реже 2:1) #yac2012 #yamobile 35
  • 36. Почему? • Честно, я подходил несколько раз к программистам и спрашивал, нужно ли что-нибудь автоматизировать? :-) • Если мы были бы Яндексом, то тоже использовали автосборки, но пока нет #yac2012 #yamobile 36
  • 37. Была идея использовать разные профили для приложений: Dev и не-Dev #yac2012 #yamobile 37
  • 38. Есть ограничения: • Нужны новые Push-сертификаты • Нужно регистрировать отдельные «инаппы» • Синхронизация через iCloud работает для Dev-a • ... #yac2012 #yamobile 38
  • 39. Решили пока использовать разные иконки: Dev и не-Dev #yac2012 #yamobile 39
  • 40. Зачем? • При тестирование видно, что это Dev-версия или нет • Новые супер-фичи и NDA • У Dev-сборок может неожиданно истечь сертификат и приложение не будет запускаться #yac2012 #yamobile 40
  • 41. Главное: не забыть поменять иконку перед релизом :-) #yac2012 #yamobile 41
  • 42. Вторая часть айсберга 1. Работа со сборками и профилями 2. Стандартное серверное API 3. Клиент-серверное взаимодействие 4. Управление приложениями 5. Новые девайсы, версии ОС и приложений 6. Безопасность приложений 7. Релиз и проверка приложений 8. Мотивация пользователей 9. Кратко про Android 42
  • 43. 2. Стандартное серверное API для всех приложений #yac2012 #yamobile 43
  • 44. Любое наше приложение работает с Applifto API #yac2012 #yamobile 44
  • 45. Applifto API • start — базовая информация про устройство (тип, модель, версия ОС, локаль, ...) и token, построение различных статистик и отправка «пушей» • stderr #yac2012 #yamobile 45
  • 46. Applifto API • start • stderr — отправка всех крешей с устройства (CrashReportSender), уведомление разработчика по почте, веб-интерфейс для просмотра всех крешей •s #yac2012 #yamobile 46
  • 47. Applifto API • start • stderr • feedback — в каждом приложение есть форма связи с нами, оперативное решение проблем •ы #yac2012 #yamobile 47
  • 48. 48
  • 49. Applifto API • start • stderr • feedback • about — страница информации или FAQ по приложению, текст меняется из админа • verify inapp #yac2012 #yamobile 49
  • 50. 50
  • 51. Applifto API • start • stderr • feedback • about • verify inapp — защита от взлома «инаппов», проверка, рекомендованная Apple #yac2012 #yamobile 51
  • 52. Вторая часть айсберга 1. Работа со сборками и профилями 2. Стандартное серверное API 3. Клиент-серверное взаимодействие 4. Управление приложениями 5. Новые девайсы, версии ОС и приложений 6. Безопасность приложений 7. Релиз и проверка приложений 8. Мотивация пользователей 9. Кратко про Android 52
  • 53. 3. Клиент-серверное взаимодействие #yac2012 #yamobile 53
  • 54. Почти все приложения работают с серверной частью #yac2012 #yamobile 54
  • 55. Стандартная модель API Подписанные запросы (md5 от параметров), api_id и secret #yac2012 #yamobile 55
  • 56. Стандартная модель API Формат данных — JSON, иногда Plist #yac2012 #yamobile 56
  • 57. Стандартная модель API Никогда не забываем про gzip! (клиент-сервер) #yac2012 #yamobile 57
  • 58. Удобное тестирование методов API через браузер Без генерации подписи (Dev-режим) #yac2012 #yamobile 58
  • 59. Обязательно: мониторинг клиент-серверного взаимодействия Легко найти ошибку на любой стороне, лишние запросы, ... #yac2012 #yamobile 59
  • 60. Частая ошибка: длительная или неверная синхронизация данных #yac2012 #yamobile 60
  • 61. Для анализа данных или протокола сторонних приложений #yac2012 #yamobile 61
  • 62. Мы используем самописный форвардер запросов и ответов #yac2012 #yamobile 62
  • 63. А вдруг rocket science? :-) #yac2012 #yamobile 63
  • 64. Иногда совсем не «рокет» «На коленке» написанная серверная часть, безопасность данных вообще отсутствует #yac2012 #yamobile 64
  • 65. Вторая часть айсберга 1. Работа со сборками и профилями 2. Стандартное серверное API 3. Клиент-серверное взаимодействие 4. Управление приложениями 5. Новые девайсы, версии ОС и приложений 6. Безопасность приложений 7. Релиз и проверка приложений 8. Мотивация пользователей 9. Кратко про Android 65
  • 66. 4. Управление приложениями #yac2012 #yamobile 66
  • 67. Единый админ для управления всеми приложениями #yac2012 #yamobile 67
  • 68. 68
  • 69. Работа с обратной связью #yac2012 #yamobile 69
  • 70. 70
  • 71. Reviews в App Store только бесят Колы и единицы vs. пятёрки и восторг Нет двусторонней связи #yac2012 #yamobile 71
  • 72. Очень часто пользователи «тупят» и ставят «плохие» оценки #yac2012 #yamobile 72
  • 73. Если возникла проблема, появился вопрос, ... #yac2012 #yamobile 73
  • 74. Сообщать нужно через обратную связь в приложении или на сайте #yac2012 #yamobile 74
  • 75. Во-первых, мы будем знать какой девайс, версии ОС и приложения #yac2012 #yamobile 75
  • 76. И быстро локализуем проблему #yac2012 #yamobile 76
  • 77. Во-вторых, вам точно ответят #yac2012 #yamobile 77
  • 78. В-третьих, Review в App Store для пятёрок :-) #yac2012 #yamobile 78
  • 79. Разбирая запросы в обратную связь, #yac2012 #yamobile 79
  • 80. Легко найти бета- тестеров, волонтёров и полезные знакомства #yac2012 #yamobile 80
  • 81. Cтатистика по приложениям #yac2012 #yamobile 81
  • 82. Мини-статистика по скачиваниям и продажам По данным из iTunesConnect #yac2012 #yamobile 82
  • 83. 83
  • 85. Статистика по активным* устройствам * token устройства для приложения действительный #yac2012 #yamobile 85
  • 86. 86
  • 88. Подробная статистика У «крутых» приложений есть собственный админ и расширенная статистика #yac2012 #yamobile 88
  • 89. Различные графики, хит-парады и разрезы данных #yac2012 #yamobile 89
  • 90. 90
  • 91. 91
  • 92. 92
  • 93. Важно: сразу продумывайте какая статистика нужна приложению #yac2012 #yamobile 93
  • 94. Бонус: если приложение часто бывает в топе «кассовых», #yac2012 #yamobile 94
  • 95. То можно оценить оборот $ раздела в день #yac2012 #yamobile 95
  • 96. Рассылка Push-уведомлений #yac2012 #yamobile 96
  • 97. Типы «пушей» • Открытие приложения • Написать в обратную связь • Оставить отзыв в App Store • Переход на пункт меню или единицу контента #yac2012 #yamobile 97
  • 98. Фильтрация при отправке • Всем • Только тестовым устройствам • Выборочно • учитывая локализацию • определенной версии ОС и приложения #yac2012 #yamobile 98
  • 99. Чем чаще отсылаешь «пуши», тем число активных устройств точней #yac2012 #yamobile 99
  • 100. Не забывать: про поддержку «тихого режима» в приложении #yac2012 #yamobile 100
  • 101. 101
  • 102. Вторая часть айсберга 1. Работа со сборками и профилями 2. Стандартное серверное API 3. Клиент-серверное взаимодействие 4. Управление приложениями 5. Новые девайсы, версии ОС и приложений 6. Безопасность приложений 7. Релиз и проверка приложений 8. Мотивация пользователей 9. Кратко про Android 102
  • 103. 5. Новые девайсы, версии ОС и приложений #yac2012 #yamobile 103
  • 104. Каждые полгода выходит новый девайс #yac2012 #yamobile 104
  • 105. Либо нужно увеличивать размеры приложений в 2 раза #yac2012 #yamobile 105
  • 106. Либо нужно увеличивать размеры приложений в 1.127 раза :-) #yac2012 #yamobile 106
  • 107. Либо исправлять глюки На new iPad появился «голубой экран» #yac2012 #yamobile 107
  • 108. 108
  • 109. Каждый год выходит новая версия iOS с новыми фичами #yac2012 #yamobile 109
  • 110. и иногда без обратной совместимости #yac2012 #yamobile 110
  • 111. В iOS 4.3 испортилась запись треков, добавилось шипение Apple без уведомления увеличил размеры буфферов в два раза :-) #yac2012 #yamobile 111
  • 112. В iOS 5 запись полностью перестала работать #yac2012 #yamobile 112
  • 114. Минимальная поддерживаемая версия iOS? #yac2012 #yamobile 114
  • 115. Долго поддерживали все версии, начиная с 3.1.2 #yac2012 #yamobile 115
  • 116. Чем дальше, тем больше костылей #yac2012 #yamobile 116
  • 117. Большое количество комбинаций: девайс и версия iOS #yac2012 #yamobile 117
  • 118. Везде протестировать нет возможности, о проблемах узнаём только после релиза #yac2012 #yamobile 118
  • 119. По статистике: в основном это < 7% пользователей #yac2012 #yamobile 119
  • 120. Так они ещё и колы ставят :-) #yac2012 #yamobile 120
  • 121. В итоге: решили поддерживать последнюю объявленную и предыдущую версии #yac2012 #yamobile 121
  • 122. То есть сейчас iOS 5 и выше #yac2012 #yamobile 122
  • 123. Cледовательно, iPhone 3Gs и новее #yac2012 #yamobile 123
  • 124. Каждый месяц мы выпускаем обновления приложений #yac2012 #yamobile 124
  • 125. На самом деле — чаще В этом году мы выпустили 33 «апдейта», половина — минорные обновления #yac2012 #yamobile 125
  • 126. Разработать «апдейт» несложно, #yac2012 #yamobile 126
  • 127. Легко всё разломать у текущих пользователей #yac2012 #yamobile 127
  • 128. Цена ошибки — велика Исправить получится только после проверки приложения, а это от 5—10 дней #yac2012 #yamobile 128
  • 129. Обновление приложений — очень важный и сложный процесс! #yac2012 #yamobile 129
  • 130. Когда версия исправляет обновление предыдущей версии, #yac2012 #yamobile 130
  • 132. Хотя, судя по iOS 6, ошибки в новой версии — это «Apple way» :-) При Стиве Джобсе такого не было! #yac2012 #yamobile 132
  • 133. Раньше тестировали приложения все Программисты, менеджеры, бета-тестеры, ... #yac2012 #yamobile 133
  • 134. Это отнимало очень много времени И совершенно неэффективно! #yac2012 #yamobile 134
  • 135. Пытались работать с бета-тестерами Но они очень ленивые и медленные #yac2012 #yamobile 135
  • 136. В итоге: решились на «тестировщика» Это было сложное и кардинальное решение для нас :-) #yac2012 #yamobile 136
  • 137. Если в Яндексе работают «тестировщикИ», #yac2012 #yamobile 137
  • 138. То у нас он один и универсальный :-) #yac2012 #yamobile 138
  • 139. • Он совсем не программист! • Тестирует на всех девайсах и поддерживаемых версиях ОС • Разбирает фидбек от пользователей • Есть список тестов и план тестирования по каждому приложению #yac2012 #yamobile 139
  • 140.
  • 142. x.x — мажорный «апдейт» Важное обновление, новый функционал, разработка от 2х недель #yac2012 #yamobile 142
  • 143. x.x.x — минорный «апдейт» Исправление ошибок и улучшения, разработка 1—5 дней #yac2012 #yamobile 143
  • 144. x.x.x.x — Dev-версия, не для публикации Исправление ошибок и улучшения, в активной фазе каждые 1—2 дня #yac2012 #yamobile 144
  • 145. x.x.x.x — Dev-версия, не для публикации Обработка таких версий на сервере, включение дополнительного функционала: #yac2012 #yamobile 145
  • 146. x.x.x.x — Dev-версия, не для публикации проверка «инаппов» через sandbox, контент для продажи — free, ... #yac2012 #yamobile 146
  • 147. Вторая часть айсберга 1. Работа со сборками и профилями 2. Стандартное серверное API 3. Клиент-серверное взаимодействие 4. Управление приложениями 5. Новые девайсы, версии ОС и приложений 6. Безопасность приложений 7. Релиз и проверка приложений 8. Мотивация пользователей 9. Кратко про Android 147
  • 148. 6. Безопасность приложений и борьба с «пиратами» #yac2012 #yamobile 148
  • 149. Раньше мы выпускали только платные приложения #yac2012 #yamobile 149
  • 150. Но их стали оперативно ломать и выкладывать на торренты #yac2012 #yamobile 150
  • 151. Из собственной статистики запусков мы обнаружили, #yac2012 #yamobile 151
  • 152. что пользователей больше, чем покупателей :-) #yac2012 #yamobile 152
  • 153. Некоторые «хакеры» тщеславны #yac2012 #yamobile 153
  • 155. Мы заблокировали версии на серверной стороне #yac2012 #yamobile 155
  • 157. И просили обновиться на новые версии #yac2012 #yamobile 157
  • 159. Но новые версии тоже ломали и выкладывали :-) #yac2012 #yamobile 159
  • 160. Мы перешли на Freemium-модель Бесплатные приложения с «инаппами» #yac2012 #yamobile 160
  • 161. Оказывается, «инаппы» можно ломать и делать бесплатными #yac2012 #yamobile 161
  • 162. И мы сделали проверку запросов на сервере Как рекомендует Apple #yac2012 #yamobile 162
  • 164. Много проблем возникает с Jailbreak-ами В одном из приложений нам пришлось ввести ряд ограничений #yac2012 #yamobile 164
  • 165. i-FunBox и подобные программы #yac2012 #yamobile 165
  • 167. Можно перекинуть в *.app файлы и они будут доступны в приложении без покупки «инаппа» Старый баг одного из приложений, сообщил нам об этом сам «хакер» :-) #yac2012 #yamobile 167
  • 168. Пара общих рекомендаций: #yac2012 #yamobile 168
  • 169. 1. Не забивайте на шифрование данных, как WhatsApp http://clck.ru/2DYSI #yac2012 #yamobile 169
  • 170. 2. Не публикуйте базы UDID-ов, если вы их ещё собираете :-) http://clck.ru/2DYSs #yac2012 #yamobile 170
  • 171. После запрета Apple использовать UDID мы перешли на md5 от MAC-адреса #yac2012 #yamobile 171
  • 172. Вторая часть айсберга 1. Работа со сборками и профилями 2. Стандартное серверное API 3. Клиент-серверное взаимодействие 4. Управление приложениями 5. Новые девайсы, версии ОС и приложений 6. Безопасность приложений 7. Релиз и проверка приложений 8. Мотивация пользователей 9. Кратко про Android 172
  • 173. 7. Релиз и проверка приложений #yac2012 #yamobile 173
  • 174. Последний камень преткновения — проверка приложения #yac2012 #yamobile 174
  • 175. Обычно занимает от 5 до 10 дней #yac2012 #yamobile 175
  • 176. Время проверки приложения можно сократить до 24 часов #yac2012 #yamobile 176
  • 177. Для этого нужно написать «слёзное» письмо App Store Resource Center http://clck.ru/2H5Pk #yac2012 #yamobile 177
  • 178. 178
  • 179. У нас так получилось дважды Может быть наши заявки одобрили из-за фразы: «We trust in Apple and App Store Review Team» :-) #yac2012 #yamobile 179
  • 180. Кстати, способ загрузить одновременно большое количество приложений не работает http://clck.ru/2H8KS #yac2012 #yamobile 180
  • 182. Но иногда приложения отклоняют :-) #yac2012 #yamobile 182
  • 183. Documents vs. Caches После выхода iOS 5 несколько приложений отклонили из-за неправильной структуры хранения данных #yac2012 #yamobile 183
  • 184. Нельзя явно заставлять пользователей оценивыть приложение в App Store Летнее нововедение в App Store Review #yac2012 #yamobile 184
  • 185. 185
  • 186. Но мы обошли это ограничение Теперь мы присылаем пуш с просьбой оценить приложение :-) #yac2012 #yamobile 186
  • 187. Чем чаще выпускаете обновления приложений, #yac2012 #yamobile 187
  • 188. Тем раньше узнаёте о новых ограничениях в App Store Review :-) #yac2012 #yamobile 188
  • 189. Вторая часть айсберга 1. Работа со сборками и профилями 2. Стандартное серверное API 3. Клиент-серверное взаимодействие 4. Управление приложениями 5. Новые девайсы, версии ОС и приложений 6. Безопасность приложений 7. Релиз и проверка приложений 8. Мотивация пользователей 9. Кратко про Android 189
  • 190. 8. Мотивация пользователей или «белая» магия #yac2012 #yamobile 190
  • 191. Отлично работает следующая комбинация действий: #yac2012 #yamobile 191
  • 192. • Постоянные Push-уведомления • Периодичные распродажи • Пользователи любят покупать наборы типа «All Inclusive» • Баннеры-прокачки для контента как в приложении App Store #yac2012 #yamobile 192
  • 193. Ограничение: «инапп» не может быть бесплатным, #yac2012 #yamobile 193
  • 194. Решение: на сервере можно управлять параметром isFree для единицы контента #yac2012 #yamobile 194
  • 195. Вторая часть айсберга 1. Работа со сборками и профилями 2. Стандартное серверное API 3. Клиент-серверное взаимодействие 4. Управление приложениями 5. Новые девайсы, версии ОС и приложений 6. Безопасность приложений 7. Релиз и проверка приложений 8. Мотивация пользователей 9. Кратко про Android 195
  • 196. 9. Коротко про Android #yac2012 #yamobile 196
  • 197. Для охвата пользователей Android, конечно, нужен :-) #yac2012 #yamobile 197
  • 198. Но большинство из них не хотят или не готовы платить #yac2012 #yamobile 198
  • 199. Многообразие девайсов и размеров поражает #yac2012 #yamobile 199
  • 200. Приложения легко декомпилятся #yac2012 #yamobile 200
  • 201. В общем не-iOS ещё :-) #yac2012 #yamobile 201
  • 202. При наличии iOS-версии Android разрабатывается быстро #yac2012 #yamobile 202
  • 204. 1. При наличии успешного опыта разработки #yac2012 #yamobile 204
  • 205. Легко и быстро разрабатываются вспомогательные приложения для внутренних нужд #yac2012 #yamobile 205
  • 206. • Приложение для логистики, iPod + сканнер штрих-кодов • Мониторинг внутренней статистики • Быстрый доступ к данным по компании #yac2012 #yamobile 206
  • 208. • Приложение для логистики, iPod + сканнер штрих-кодов • Мониторинг внутренней статистики • Быстрый доступ к данным по компании #yac2012 #yamobile 208
  • 210. • Приложение для логистики, iPod + сканнер штрих-кодов • Мониторинг внутренней статистики • Быстрый доступ к данным по компании — приложения «для директора» :-) #yac2012 #yamobile 210
  • 211. 2. Запустили переводы интересных статей про iOS и Apple #yac2012 #yamobile 211
  • 213. Спасибо за внимание! Анатолий Шарифулин @sharifulin Аpplifto Inc. www.applifto.ru #yac2012 #yamobile 213
  • 214. Вопросы? Анатолий Шарифулин @sharifulin Аpplifto Inc. www.applifto.ru #yac2012 #yamobile 214