SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
REST API
в мобильной разработке
Эдиль Крацких
Султан Иманходжаев
Серверная сторона вопроса
Python http://python.org/
MySQL http://mysql.com/
Nginx http://nginx.org/
uwsgi http://projects.unbit.it/uwsgi/
Python background
Django
https://www.djangoproject.com/
Tastypie
http://tastypieapi.org/
Django Rest Framework
http://django-rest-framework.org/
API versioning
& deprecation policy
API documentation tool,
API definition step
● Mashape https://www.mashape.com/
● Apiary http://apiary.io/
API documented view
1. Использовать ApiKey для
взаимодействия с сервисом,
2. Социальная авторизация
(Facebook, Twitter, использовать
access_token для получения
ApiKey)
3. Tastypie лимиты, кастомные
схемы для гибких прав доступа
Безопасность и API
Социальная авторизация
Для авторизации через мобильные
клиенты
● можно использовать
access_token, полученный
при авторизации,
● затем access_token
использовать для получения
ApiKey для последующего
взаимодействия с сервисом,
● можно выполнить
стандартный логин через
форму и возвращать ApiKey
Использование лимитов в Tastypie
Лимиты позволяют создавать гибкую
систему прав доступа к API
REST API на клиенте. Зачем?
● Тесная интеграция с ОС
● Можно работать в
бэкграунде
● Быстрей, чем мобильный
сайт
● User Experience
● Пользователи всегда
предпочитают приложение
сайту
Частые проблемы
● Кажущаяся простота
● Ограниченные ресурсы
устройств
● Хранение результата в памяти
○ Большой расход памяти
○ Расход сетевого трафика
● Выполнение запросов в
основном потоке
● Выбор формата данных (JSON,
XML, binary)
Common workflow
REST request
● Подготовка HTTP запроса
● Выполнение HTTP запроса
● Обработка HTTP ответа
Производительность
● Формат данных: binary, JSON, XML
● GZIP
Отслеживать состояние запроса
iOS. Основные фреймворки
●
○ Легкая и быстрая
○ Хорошая модульная структура
○ Построена поверх NSOperation
●
○ Построена поверх AFNetworking
○ Интеграция с CoreData
○ Object Mapping
○ CoreData Seeding
Android.
Основные фреймворки
● Android Asynchronous Http
Client
○ Легкая и простая
○ Автоматическое конвертироваие
ответа в JSON объект
● Volley
○ Легкая быстрая, новая
○ Используется Google во всех
своих приложениях
○ Умеет отменять запросы
● GSON
Ссылки
● AFNetworking http:
//afnetworking.com
● RESTKit http://restkit.org
● Volley https://android.googlesource.
com/platform/frameworks/volley/
● Android Asynchronous
Http Client http://loopj.
com/android-async-http/
● GSON http://code.google.
com/p/google-gson/
Спасибо!
Вопросы?

Más contenido relacionado

Similar a Rest api. barcamp 2013.

Cocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений СафроновCocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений Сафронов
Yandex
 
«Идентификация, аутентификация, авторизация – встроенные функции приложений и...
«Идентификация, аутентификация, авторизация – встроенные функции приложений и...«Идентификация, аутентификация, авторизация – встроенные функции приложений и...
«Идентификация, аутентификация, авторизация – встроенные функции приложений и...
Mail.ru Group
 

Similar a Rest api. barcamp 2013. (20)

Mobile automation with Appium
Mobile automation with AppiumMobile automation with Appium
Mobile automation with Appium
 
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
 
FastAPI_Introduction.pptx
FastAPI_Introduction.pptxFastAPI_Introduction.pptx
FastAPI_Introduction.pptx
 
Android - 15 - Social
Android - 15 - SocialAndroid - 15 - Social
Android - 15 - Social
 
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
 
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
 
Azure Mobile Backend
Azure Mobile BackendAzure Mobile Backend
Azure Mobile Backend
 
Cgevent 2012
Cgevent 2012Cgevent 2012
Cgevent 2012
 
Yii rit 2010
Yii rit 2010Yii rit 2010
Yii rit 2010
 
Cocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений СафроновCocaine: погружение в облака — Евгений Сафронов
Cocaine: погружение в облака — Евгений Сафронов
 
Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"
 
Программируемость корпоративной сети с Cisco APIC-EM
Программируемость корпоративной сети с Cisco APIC-EMПрограммируемость корпоративной сети с Cisco APIC-EM
Программируемость корпоративной сети с Cisco APIC-EM
 
Аналитика мобильных приложений
Аналитика мобильных приложенийАналитика мобильных приложений
Аналитика мобильных приложений
 
«Идентификация, аутентификация, авторизация – встроенные функции приложений и...
«Идентификация, аутентификация, авторизация – встроенные функции приложений и...«Идентификация, аутентификация, авторизация – встроенные функции приложений и...
«Идентификация, аутентификация, авторизация – встроенные функции приложений и...
 
QaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикадQaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикад
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
 
Автоматизированное тестирование UI в мобильных OC
Автоматизированное тестирование UI в мобильных OCАвтоматизированное тестирование UI в мобильных OC
Автоматизированное тестирование UI в мобильных OC
 
Blitz Identity Provider
Blitz Identity ProviderBlitz Identity Provider
Blitz Identity Provider
 
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
 

Último

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
Хроники кибер-безопасника
 
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
Хроники кибер-безопасника
 
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
Хроники кибер-безопасника
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ 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
Хроники кибер-безопасника
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ 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...
Ирония безопасности
 

Último (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
 
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
 
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
 
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
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ 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
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ 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...
 
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
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
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...
 

Rest api. barcamp 2013.

  • 1. REST API в мобильной разработке Эдиль Крацких Султан Иманходжаев
  • 2. Серверная сторона вопроса Python http://python.org/ MySQL http://mysql.com/ Nginx http://nginx.org/ uwsgi http://projects.unbit.it/uwsgi/
  • 5. API documentation tool, API definition step ● Mashape https://www.mashape.com/ ● Apiary http://apiary.io/
  • 7. 1. Использовать ApiKey для взаимодействия с сервисом, 2. Социальная авторизация (Facebook, Twitter, использовать access_token для получения ApiKey) 3. Tastypie лимиты, кастомные схемы для гибких прав доступа Безопасность и API
  • 8. Социальная авторизация Для авторизации через мобильные клиенты ● можно использовать access_token, полученный при авторизации, ● затем access_token использовать для получения ApiKey для последующего взаимодействия с сервисом, ● можно выполнить стандартный логин через форму и возвращать ApiKey
  • 9. Использование лимитов в Tastypie Лимиты позволяют создавать гибкую систему прав доступа к API
  • 10. REST API на клиенте. Зачем? ● Тесная интеграция с ОС ● Можно работать в бэкграунде ● Быстрей, чем мобильный сайт ● User Experience ● Пользователи всегда предпочитают приложение сайту
  • 11. Частые проблемы ● Кажущаяся простота ● Ограниченные ресурсы устройств ● Хранение результата в памяти ○ Большой расход памяти ○ Расход сетевого трафика ● Выполнение запросов в основном потоке ● Выбор формата данных (JSON, XML, binary)
  • 12. Common workflow REST request ● Подготовка HTTP запроса ● Выполнение HTTP запроса ● Обработка HTTP ответа Производительность ● Формат данных: binary, JSON, XML ● GZIP Отслеживать состояние запроса
  • 13. iOS. Основные фреймворки ● ○ Легкая и быстрая ○ Хорошая модульная структура ○ Построена поверх NSOperation ● ○ Построена поверх AFNetworking ○ Интеграция с CoreData ○ Object Mapping ○ CoreData Seeding
  • 14. Android. Основные фреймворки ● Android Asynchronous Http Client ○ Легкая и простая ○ Автоматическое конвертироваие ответа в JSON объект ● Volley ○ Легкая быстрая, новая ○ Используется Google во всех своих приложениях ○ Умеет отменять запросы ● GSON
  • 15. Ссылки ● AFNetworking http: //afnetworking.com ● RESTKit http://restkit.org ● Volley https://android.googlesource. com/platform/frameworks/volley/ ● Android Asynchronous Http Client http://loopj. com/android-async-http/ ● GSON http://code.google. com/p/google-gson/