SlideShare uma empresa Scribd logo
1 de 16
Мобильные SDK
Расширяем
функциональность
мобильных приложений



Всеволод Биллевич,
Aviasales.ru
SDK мобильного сервиса
Мы все используем сторонние SDK в своей работе.
Зачем?
-Не надо изобретать велосипед.




- Можем использовать контент сторонних сервисов.
SDK мобильного сервиса
Идеи для расширения функциональности приложений:
1)Список покупок, встроенный в приложение с рецептами.
2)Модуль объявлений, встроенный в контентное приложение.
3)Продажа билетов, бронирование отелей в событийном или
контентном приложении.
4)…
В чём профит?
Для разработчика SDK:
1)Дополнительный канал распространения
2)Повышение продаж
Задумайтесь о собственном
SDK, если:
1) У вас качественное и удобное приложение,
которое работает без багов


2) Есть хотя бы десяток приложений,
в которых можно было бы использовать ваш SDK.
В чём профит?
Для разработчика, который использует SDK:
1)Экономия времени и денег при расширении
функциональности.
2)Повышение удобства приложения и, как следствие, его
рейтинга.
3)Можно заработать!
Как это работает у нас
1. Партнерская программа успешно работает в вебе:
вебмастера устанавливают на своих сайтах поисковую форму
Aviasales. Вебмастер получает процент от покупок с этой
формы.
2. В мобильное приложение встраивается форма с помощью
SDK. Отображение результатов происходит также внутри
этого приложения.
Как разрабатывался
Aviasales SDK
1) Берем наше готовое приложение за основу, выкидываем
всё лишнее.
2) Составляем список методов, которые будем
реализовывать.
3) Пишем подробную документацию к каждому методу, на что
следует обратить внимание.
4) Планируем и пишем код.
5) На основе методов создаем шаблоны, которые можно
использовать «из коробки».
Низкий и высокий уровни
SDK
1) Можно взять готовые шаблоны.
2) Можно реализовать свои экраны на основе доступных
   методов.
Подход к реализации
   методов SDK
                 Метод получения данных из SDK


         Запрос данных из кэша   Формирование и
                                 отправка запроса на
                                 сервер
запрос                                                 ответ


                       Получение и
                       обработка ответа
Сборка и использование
статической библиотеки
1. Создаём проект Cocoa Touch Static Library.
Сборка и использование
статической библиотеки
2. Добавляем необходимый код.




3. Пишем Unit-тесты.
Сборка и использование
статической библиотеки
4. Собираем библиотеку: Product - Build.
Сборка и использование
статической библиотеки
5. Добавляем библиотеку в новый проект.
Сборка и использование
статической библиотеки
6. Используем код библиотеки в проекте.
Вопросы?


Всеволод Биллевич,
Aviasales.ru
seva.billevich@aviasales.ru
skype: vsevolod.billevich

Mais conteúdo relacionado

Destaque

Живые приложения с Rx
Живые приложения с RxЖивые приложения с Rx
Живые приложения с RxGoSharp
 
Универсальный сигнатурный анализ кода на C#, Java, PHP
Универсальный сигнатурный анализ кода на C#, Java, PHPУниверсальный сигнатурный анализ кода на C#, Java, PHP
Универсальный сигнатурный анализ кода на C#, Java, PHPИван Кочуркин
 
#MBLTdev: Kotlin для Android, или лёгкий способ перестать программировать на ...
#MBLTdev: Kotlin для Android, или лёгкий способ перестать программировать на ...#MBLTdev: Kotlin для Android, или лёгкий способ перестать программировать на ...
#MBLTdev: Kotlin для Android, или лёгкий способ перестать программировать на ...e-Legion
 
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...CocoaHeads
 
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)Dmytro Zharii
 
Средства автоматизации тестирования десктопных приложений. Сравнительный анализ
Средства автоматизации тестирования десктопных приложений. Сравнительный анализСредства автоматизации тестирования десктопных приложений. Сравнительный анализ
Средства автоматизации тестирования десктопных приложений. Сравнительный анализCOMAQA.BY
 
Многопоточное программирование на C#, путевые заметки
Многопоточное программирование на C#, путевые заметкиМногопоточное программирование на C#, путевые заметки
Многопоточное программирование на C#, путевые заметкиDotNetConf
 
Anemic Domain Model - антипаттерн или SOLID?
Anemic Domain Model - антипаттерн или SOLID?Anemic Domain Model - антипаттерн или SOLID?
Anemic Domain Model - антипаттерн или SOLID?GoSharp
 
МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6Dima Dzuba
 
От идеи к продукту
От идеи к продуктуОт идеи к продукту
От идеи к продуктуArtem Vorontsov
 
Enterprise2.0 Web2.0 Trends
Enterprise2.0 Web2.0 TrendsEnterprise2.0 Web2.0 Trends
Enterprise2.0 Web2.0 TrendsShyam Veerina
 
Очереди и блокировки
Очереди и блокировкиОчереди и блокировки
Очереди и блокировкиAlexandre Kalendarev
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаGoSharp
 
Как это работает: DLR
Как это работает: DLRКак это работает: DLR
Как это работает: DLRMikhail Shcherbakov
 
An introduction to architecture and architects
An introduction to architecture and architectsAn introduction to architecture and architects
An introduction to architecture and architectswweinmeyer79
 
Non functional requirements framework
Non functional requirements frameworkNon functional requirements framework
Non functional requirements frameworkwweinmeyer79
 
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...Ontico
 
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Ontico
 

Destaque (20)

Живые приложения с Rx
Живые приложения с RxЖивые приложения с Rx
Живые приложения с Rx
 
Универсальный сигнатурный анализ кода на C#, Java, PHP
Универсальный сигнатурный анализ кода на C#, Java, PHPУниверсальный сигнатурный анализ кода на C#, Java, PHP
Универсальный сигнатурный анализ кода на C#, Java, PHP
 
#MBLTdev: Kotlin для Android, или лёгкий способ перестать программировать на ...
#MBLTdev: Kotlin для Android, или лёгкий способ перестать программировать на ...#MBLTdev: Kotlin для Android, или лёгкий способ перестать программировать на ...
#MBLTdev: Kotlin для Android, или лёгкий способ перестать программировать на ...
 
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
 
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
 
Средства автоматизации тестирования десктопных приложений. Сравнительный анализ
Средства автоматизации тестирования десктопных приложений. Сравнительный анализСредства автоматизации тестирования десктопных приложений. Сравнительный анализ
Средства автоматизации тестирования десктопных приложений. Сравнительный анализ
 
Многопоточное программирование на C#, путевые заметки
Многопоточное программирование на C#, путевые заметкиМногопоточное программирование на C#, путевые заметки
Многопоточное программирование на C#, путевые заметки
 
Anemic Domain Model - антипаттерн или SOLID?
Anemic Domain Model - антипаттерн или SOLID?Anemic Domain Model - антипаттерн или SOLID?
Anemic Domain Model - антипаттерн или SOLID?
 
МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6
 
От идеи к продукту
От идеи к продуктуОт идеи к продукту
От идеи к продукту
 
Enterprise2.0 Web2.0 Trends
Enterprise2.0 Web2.0 TrendsEnterprise2.0 Web2.0 Trends
Enterprise2.0 Web2.0 Trends
 
Очереди и блокировки
Очереди и блокировкиОчереди и блокировки
Очереди и блокировки
 
Рецепты RabbitMQ
Рецепты RabbitMQ Рецепты RabbitMQ
Рецепты RabbitMQ
 
http://finlabportal.ru
http://finlabportal.ruhttp://finlabportal.ru
http://finlabportal.ru
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчика
 
Как это работает: DLR
Как это работает: DLRКак это работает: DLR
Как это работает: DLR
 
An introduction to architecture and architects
An introduction to architecture and architectsAn introduction to architecture and architects
An introduction to architecture and architects
 
Non functional requirements framework
Non functional requirements frameworkNon functional requirements framework
Non functional requirements framework
 
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
 
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
 

Semelhante a CodeFest 2013. Биллевич В. — SDK мобильного сервиса. Добавление новой функциональности в приложение

Backend as a service Scorocode for mobile, web and desktop apps
Backend as a service Scorocode for mobile, web and desktop appsBackend as a service Scorocode for mobile, web and desktop apps
Backend as a service Scorocode for mobile, web and desktop appsMichael Epikhin
 
Краткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCoreКраткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCoreTatyanazaxarova
 
Денис Паясь
Денис ПаясьДенис Паясь
Денис ПаясьCodeFest
 
AppClick || Презентация для разработчика
AppClick || Презентация для разработчикаAppClick || Презентация для разработчика
AppClick || Презентация для разработчикаDmitry C
 
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8Новые возможности IBM WebSphere Portal v8 и IBM WCM v8
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8Anatoly Kireev
 
Netbeans Desktop Applications
Netbeans Desktop ApplicationsNetbeans Desktop Applications
Netbeans Desktop Applicationsscassau
 
Преимущества использования Viva64
Преимущества использования Viva64Преимущества использования Viva64
Преимущества использования Viva64Tatyanazaxarova
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NETMedia Gorod
 
Мобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной командыМобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной командыVladimir Merkushev
 
Создание интернет-магазина
Создание интернет-магазинаСоздание интернет-магазина
Создание интернет-магазинаNetpeak
 
Разработка и внедрение PHP SDK myTarget
Разработка и внедрение PHP SDK myTargetРазработка и внедрение PHP SDK myTarget
Разработка и внедрение PHP SDK myTargetSocialKey Ads
 
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)Егор Тютюников
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven developmentTestableapple
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиковMedia Gorod
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Ontico
 
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...borovoystudio
 
Модульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETМодульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETDev2Dev
 
Модульная структура
Модульная структураМодульная структура
Модульная структураDenis Tsvettsih
 

Semelhante a CodeFest 2013. Биллевич В. — SDK мобильного сервиса. Добавление новой функциональности в приложение (20)

Backend as a service Scorocode for mobile, web and desktop apps
Backend as a service Scorocode for mobile, web and desktop appsBackend as a service Scorocode for mobile, web and desktop apps
Backend as a service Scorocode for mobile, web and desktop apps
 
Краткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCoreКраткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCore
 
Денис Паясь
Денис ПаясьДенис Паясь
Денис Паясь
 
AppClick || Презентация для разработчика
AppClick || Презентация для разработчикаAppClick || Презентация для разработчика
AppClick || Презентация для разработчика
 
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8Новые возможности IBM WebSphere Portal v8 и IBM WCM v8
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8
 
Netbeans Desktop Applications
Netbeans Desktop ApplicationsNetbeans Desktop Applications
Netbeans Desktop Applications
 
Преимущества использования Viva64
Преимущества использования Viva64Преимущества использования Viva64
Преимущества использования Viva64
 
NET Forge - START
NET Forge - STARTNET Forge - START
NET Forge - START
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET
 
Битрикс-Framework
Битрикс-FrameworkБитрикс-Framework
Битрикс-Framework
 
Мобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной командыМобилизация в Колёсах: от аутсорса до собственной команды
Мобилизация в Колёсах: от аутсорса до собственной команды
 
Создание интернет-магазина
Создание интернет-магазинаСоздание интернет-магазина
Создание интернет-магазина
 
Разработка и внедрение PHP SDK myTarget
Разработка и внедрение PHP SDK myTargetРазработка и внедрение PHP SDK myTarget
Разработка и внедрение PHP SDK myTarget
 
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven development
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиков
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)
 
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
 
Модульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETМодульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NET
 
Модульная структура
Модульная структураМодульная структура
Модульная структура
 

Mais de CodeFest

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита ПрокоповCodeFest
 
Денис Баталов
Денис БаталовДенис Баталов
Денис БаталовCodeFest
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена ГальцинаCodeFest
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр КалашниковCodeFest
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина ИвановаCodeFest
 
Marko Berković
Marko BerkovićMarko Berković
Marko BerkovićCodeFest
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис КортуновCodeFest
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр ЗиминCodeFest
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей КрапивенскийCodeFest
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей ИгнатовCodeFest
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай КрапивныйCodeFest
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим СмирновCodeFest
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин ОсиповCodeFest
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим ПугачевCodeFest
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene GroeschkeCodeFest
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван БондаренкоCodeFest
 
Mete Atamel
Mete AtamelMete Atamel
Mete AtamelCodeFest
 

Mais de CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
 
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 

CodeFest 2013. Биллевич В. — SDK мобильного сервиса. Добавление новой функциональности в приложение