SlideShare uma empresa Scribd logo
1 de 18
О разработке приложений для разных
 мобильных платформ
  Виктор Кузьмин
  Руководитель разработки компании AlterGeo
О разработке приложений для разных
мобильных платформ
AlterGeo: сайт, мобильный сайт, приложения для
iPhone, Android, WP7, Bada
Введение: зачем приложение нужно нам



    Геопозиционирование

    Геотаргетинг

    Постоянное участие в сервисе

    Различная аудитория у платформ

    Новые инструменты
    взаимодействия
Введение: зачем приложение нужно пользователю



    Поиск мест

    Социальные фишки

    Отметки и отзывы

    Получение скидок и медалей
Введение: специфика проекта




    Поддержка веб-сервиса
    Аутсорс
    Взаимодействие с партнерами
    Частая выкатка
    Agile-цикл разработки
Что мы хотим в результате



    Красивая обертка для пользователя

    Единый стиль дизайна на всех платформах

    Функционал, недоступный с сервера

    Простота тестирования и стабильность работы
Архитектура проекта: серверная часть


    Amazon

    PHP + MySQL + nginx + Memcache + Sphinx

    Redis для работы с notifications

    GET запросы, единая точка входа

    JSON или XML на входе и выходе

    Горизонтальное масштабирование
Ключевые моменты: версионность




    Передача версии в запросе

    Версионность документации

    Стимул обновить приложение
Ключевые моменты: клиентский веб



    Получение ответа в виде html

    Обработка событий через приложение

    Широкое использование ссылок
     altergeo://

    Отправка запросов к API через js
Ключевые моменты: разделение процессов




    Выкатка API

    Выкатка версий в маркет

    Выкатка функционала
Ключевые моменты: кэширование


   Кэш файлов (JS, CSS)

   Кэш списков, выборок, объектов

   Кэш изображений

   Client DB

   Сброс кэширования – версия и eToken
Ключевые моменты: JS



    jQuery – тяжелый

    Работа с селекторами

    Помните про webKit! (iOS, Android, Bada)

    iScroll
Тестирование




    Общий пул test case

    Selenium

    Эмулятор
Проблемы



   Единообразие html и приложения

   Срыв сроков по аутсорсу

   Координация команд разработчиков

   Минимизация трафика
Утверждение


Выкатка раз в три недели на каждую платформу в
соответствии со спринтом.

    Android Market – легко и просто

    AppStore – неделя

    Windows Phone Marketplace – 4-6 дней
Сбор статистики и отзывов




    0.6% пользователей пишут отзыв

    Отзывы читать очень, очень полезно
Полезные ссылки



 http://altergeo.ru/download :)

 http://code.google.com/p/robotium/ – Robotium

 http://flurry.com – Flurry

 http://cubiq.org/iscroll – iScroll

 http://redis.io/ – Redis

 http://www.json.ru/files/mobile_internet_in_russia.pdf –
 статистика по мобильному интернету
Спасибо за внимание!


    http://altergeo.ru
     @AlterGeo_ru

Mais conteúdo relacionado

Mais procurados

ПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решенийПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решений
Виктор Золотов
 
Adrime Presentation for Agencies v.2
Adrime Presentation for Agencies v.2Adrime Presentation for Agencies v.2
Adrime Presentation for Agencies v.2
weborama_rus
 
Application insights for visual studio online
Application insights for visual studio onlineApplication insights for visual studio online
Application insights for visual studio online
Oleg Chorny
 

Mais procurados (20)

Dot.net building scalable java script application using react and typescript,...
Dot.net building scalable java script application using react and typescript,...Dot.net building scalable java script application using react and typescript,...
Dot.net building scalable java script application using react and typescript,...
 
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестированияАнализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестирования
 
Clean architecture on Android
Clean architecture on AndroidClean architecture on Android
Clean architecture on Android
 
Как и зачем мы тестируем UI
Как и зачем мы тестируем UIКак и зачем мы тестируем UI
Как и зачем мы тестируем UI
 
AppClick || Презентация для разработчика
AppClick || Презентация для разработчикаAppClick || Презентация для разработчика
AppClick || Презентация для разработчика
 
Azure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребностиAzure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребности
 
SCRUMopen Developer Max Kolodezniy
SCRUMopen Developer Max KolodezniySCRUMopen Developer Max Kolodezniy
SCRUMopen Developer Max Kolodezniy
 
Azure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольAzure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контроль
 
Azure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестированиеAzure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестирование
 
AngularJS basics & theory
AngularJS basics & theoryAngularJS basics & theory
AngularJS basics & theory
 
Презентация прототипа GUI Machine: Система подтверждения подписи должностных лиц
Презентация прототипа GUI Machine: Система подтверждения подписи должностных лицПрезентация прототипа GUI Machine: Система подтверждения подписи должностных лиц
Презентация прототипа GUI Machine: Система подтверждения подписи должностных лиц
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
 
Версионирование требований. Бейзлайны
Версионирование требований. БейзлайныВерсионирование требований. Бейзлайны
Версионирование требований. Бейзлайны
 
Создаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
Создаем масштабируемое корпоративное JavaScript-приложение, Влад ПлотникСоздаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
Создаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
 
Service oriented architecture, Oracle Service Bus
Service oriented architecture, Oracle Service BusService oriented architecture, Oracle Service Bus
Service oriented architecture, Oracle Service Bus
 
Особенности тестирования веб приложение
Особенности тестирования веб приложениеОсобенности тестирования веб приложение
Особенности тестирования веб приложение
 
Людмила Гулик, ( Project and Process Management Consultant, PhD at DA-14 Soft...
Людмила Гулик, ( Project and Process Management Consultant, PhD at DA-14 Soft...Людмила Гулик, ( Project and Process Management Consultant, PhD at DA-14 Soft...
Людмила Гулик, ( Project and Process Management Consultant, PhD at DA-14 Soft...
 
ПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решенийПартФорум DIRECTUM 2013 - разработка прикладных решений
ПартФорум DIRECTUM 2013 - разработка прикладных решений
 
Adrime Presentation for Agencies v.2
Adrime Presentation for Agencies v.2Adrime Presentation for Agencies v.2
Adrime Presentation for Agencies v.2
 
Application insights for visual studio online
Application insights for visual studio onlineApplication insights for visual studio online
Application insights for visual studio online
 

Destaque (6)

1a kno how on direct democracy & referendum
1a kno how on direct democracy & referendum1a kno how on direct democracy & referendum
1a kno how on direct democracy & referendum
 
Hidden History - Slavery in American Colonies, Black and White
Hidden History - Slavery in American Colonies, Black and WhiteHidden History - Slavery in American Colonies, Black and White
Hidden History - Slavery in American Colonies, Black and White
 
Mai
MaiMai
Mai
 
т00266 рама с модулем в сборе wd
т00266 рама с модулем в сборе wdт00266 рама с модулем в сборе wd
т00266 рама с модулем в сборе wd
 
Prisoners of The American Revolution
Prisoners of The American RevolutionPrisoners of The American Revolution
Prisoners of The American Revolution
 
Diapositivas (1)
Diapositivas (1)Diapositivas (1)
Diapositivas (1)
 

Semelhante a DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под несколько мобильных платформ" Виктор Кузьмин (AlterGeo)

API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
Ontico
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
GoIT
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET
Media Gorod
 
Эффективная архитектура мобильной автоматизации
Эффективная архитектура мобильной автоматизации Эффективная архитектура мобильной автоматизации
Эффективная архитектура мобильной автоматизации
ISsoft
 
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft
 

Semelhante a DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под несколько мобильных платформ" Виктор Кузьмин (AlterGeo) (20)

Appery.io Ukraine_2016
Appery.io Ukraine_2016Appery.io Ukraine_2016
Appery.io Ukraine_2016
 
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
 
Continuous integration testing of mobile SDK
Continuous integration testing of mobile SDKContinuous integration testing of mobile SDK
Continuous integration testing of mobile SDK
 
Agile & .net
Agile & .netAgile & .net
Agile & .net
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
 
Artsofte for b2 b
Artsofte for b2 b Artsofte for b2 b
Artsofte for b2 b
 
Архитектурные решения при создании облачного сервиса на Asp.Net
Архитектурные решения при создании облачного сервиса на Asp.NetАрхитектурные решения при создании облачного сервиса на Asp.Net
Архитектурные решения при создании облачного сервиса на Asp.Net
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET
 
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
 
Автоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюАвтоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решению
 
Qualium Systems – Introduction
Qualium Systems – IntroductionQualium Systems – Introduction
Qualium Systems – Introduction
 
Эффективная архитектура мобильной автоматизации
Эффективная архитектура мобильной автоматизации Эффективная архитектура мобильной автоматизации
Эффективная архитектура мобильной автоматизации
 
Автоматизированное тестирование мобильных приложений
Автоматизированное тестирование мобильных приложенийАвтоматизированное тестирование мобильных приложений
Автоматизированное тестирование мобильных приложений
 
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
 
JET BI - Мобильные решения для Бизнеса
JET BI - Мобильные решения для БизнесаJET BI - Мобильные решения для Бизнеса
JET BI - Мобильные решения для Бизнеса
 
Azure Mobile Backend
Azure Mobile BackendAzure Mobile Backend
Azure Mobile Backend
 
AZadonsky Mobile Applications Development
AZadonsky Mobile Applications DevelopmentAZadonsky Mobile Applications Development
AZadonsky Mobile Applications Development
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
 

Mais de it-people

«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
it-people
 
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
it-people
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
it-people
 
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
it-people
 
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
it-people
 
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
it-people
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
it-people
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
it-people
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
it-people
 
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
it-people
 
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
it-people
 
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
it-people
 
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
it-people
 

Mais de it-people (20)

«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
 
«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub
 
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
 
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
 
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
 
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
 
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
 
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
 
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
 
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
 
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
 
«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologies«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologies
 
«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндекс«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндекс
 
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
 
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
 
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
 

DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под несколько мобильных платформ" Виктор Кузьмин (AlterGeo)

  • 1. О разработке приложений для разных мобильных платформ Виктор Кузьмин Руководитель разработки компании AlterGeo О разработке приложений для разных мобильных платформ
  • 2. AlterGeo: сайт, мобильный сайт, приложения для iPhone, Android, WP7, Bada
  • 3. Введение: зачем приложение нужно нам Геопозиционирование Геотаргетинг Постоянное участие в сервисе Различная аудитория у платформ Новые инструменты взаимодействия
  • 4. Введение: зачем приложение нужно пользователю Поиск мест Социальные фишки Отметки и отзывы Получение скидок и медалей
  • 5. Введение: специфика проекта Поддержка веб-сервиса Аутсорс Взаимодействие с партнерами Частая выкатка Agile-цикл разработки
  • 6. Что мы хотим в результате Красивая обертка для пользователя Единый стиль дизайна на всех платформах Функционал, недоступный с сервера Простота тестирования и стабильность работы
  • 7. Архитектура проекта: серверная часть Amazon PHP + MySQL + nginx + Memcache + Sphinx Redis для работы с notifications GET запросы, единая точка входа JSON или XML на входе и выходе Горизонтальное масштабирование
  • 8. Ключевые моменты: версионность Передача версии в запросе Версионность документации Стимул обновить приложение
  • 9. Ключевые моменты: клиентский веб Получение ответа в виде html Обработка событий через приложение Широкое использование ссылок altergeo:// Отправка запросов к API через js
  • 10. Ключевые моменты: разделение процессов Выкатка API Выкатка версий в маркет Выкатка функционала
  • 11. Ключевые моменты: кэширование Кэш файлов (JS, CSS) Кэш списков, выборок, объектов Кэш изображений Client DB Сброс кэширования – версия и eToken
  • 12. Ключевые моменты: JS jQuery – тяжелый Работа с селекторами Помните про webKit! (iOS, Android, Bada) iScroll
  • 13. Тестирование Общий пул test case Selenium Эмулятор
  • 14. Проблемы Единообразие html и приложения Срыв сроков по аутсорсу Координация команд разработчиков Минимизация трафика
  • 15. Утверждение Выкатка раз в три недели на каждую платформу в соответствии со спринтом. Android Market – легко и просто AppStore – неделя Windows Phone Marketplace – 4-6 дней
  • 16. Сбор статистики и отзывов 0.6% пользователей пишут отзыв Отзывы читать очень, очень полезно
  • 17. Полезные ссылки http://altergeo.ru/download :) http://code.google.com/p/robotium/ – Robotium http://flurry.com – Flurry http://cubiq.org/iscroll – iScroll http://redis.io/ – Redis http://www.json.ru/files/mobile_internet_in_russia.pdf – статистика по мобильному интернету
  • 18. Спасибо за внимание! http://altergeo.ru @AlterGeo_ru