REST API
в мобильной разработке
Эдиль Крацких
Султан Иманходжаев
Серверная сторона вопроса
Python http://python.org/
MySQL http://mysql.com/
Nginx http://nginx.org/
uwsgi http://projects....
Python background
Django
https://www.djangoproject.com/
Tastypie
http://tastypieapi.org/
Django Rest Framework
http://djan...
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_to...
Социальная авторизация
Для авторизации через мобильные
клиенты
● можно использовать
access_token, полученный
при авторизац...
Использование лимитов в Tastypie
Лимиты позволяют создавать гибкую
систему прав доступа к API
REST API на клиенте. Зачем?
● Тесная интеграция с ОС
● Можно работать в
бэкграунде
● Быстрей, чем мобильный
сайт
● User Ex...
Частые проблемы
● Кажущаяся простота
● Ограниченные ресурсы
устройств
● Хранение результата в памяти
○ Большой расход памя...
Common workflow
REST request
● Подготовка HTTP запроса
● Выполнение HTTP запроса
● Обработка HTTP ответа
Производительност...
iOS. Основные фреймворки
●
○ Легкая и быстрая
○ Хорошая модульная структура
○ Построена поверх NSOperation
●
○ Построена п...
Android.
Основные фреймворки
● Android Asynchronous Http
Client
○ Легкая и простая
○ Автоматическое конвертироваие
ответа ...
Ссылки
● AFNetworking http:
//afnetworking.com
● RESTKit http://restkit.org
● Volley https://android.googlesource.
com/pla...
Спасибо!
Вопросы?
Upcoming SlideShare
Loading in …5
×

Rest api. barcamp 2013.

687 views

Published on

Краткий обзор инструментов разработки сервисов и мобильных клиентов к ним

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
687
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Rest api. barcamp 2013.

  1. 1. REST API в мобильной разработке Эдиль Крацких Султан Иманходжаев
  2. 2. Серверная сторона вопроса Python http://python.org/ MySQL http://mysql.com/ Nginx http://nginx.org/ uwsgi http://projects.unbit.it/uwsgi/
  3. 3. Python background Django https://www.djangoproject.com/ Tastypie http://tastypieapi.org/ Django Rest Framework http://django-rest-framework.org/
  4. 4. API versioning & deprecation policy
  5. 5. API documentation tool, API definition step ● Mashape https://www.mashape.com/ ● Apiary http://apiary.io/
  6. 6. API documented view
  7. 7. 1. Использовать ApiKey для взаимодействия с сервисом, 2. Социальная авторизация (Facebook, Twitter, использовать access_token для получения ApiKey) 3. Tastypie лимиты, кастомные схемы для гибких прав доступа Безопасность и API
  8. 8. Социальная авторизация Для авторизации через мобильные клиенты ● можно использовать access_token, полученный при авторизации, ● затем access_token использовать для получения ApiKey для последующего взаимодействия с сервисом, ● можно выполнить стандартный логин через форму и возвращать ApiKey
  9. 9. Использование лимитов в Tastypie Лимиты позволяют создавать гибкую систему прав доступа к API
  10. 10. REST API на клиенте. Зачем? ● Тесная интеграция с ОС ● Можно работать в бэкграунде ● Быстрей, чем мобильный сайт ● User Experience ● Пользователи всегда предпочитают приложение сайту
  11. 11. Частые проблемы ● Кажущаяся простота ● Ограниченные ресурсы устройств ● Хранение результата в памяти ○ Большой расход памяти ○ Расход сетевого трафика ● Выполнение запросов в основном потоке ● Выбор формата данных (JSON, XML, binary)
  12. 12. Common workflow REST request ● Подготовка HTTP запроса ● Выполнение HTTP запроса ● Обработка HTTP ответа Производительность ● Формат данных: binary, JSON, XML ● GZIP Отслеживать состояние запроса
  13. 13. iOS. Основные фреймворки ● ○ Легкая и быстрая ○ Хорошая модульная структура ○ Построена поверх NSOperation ● ○ Построена поверх AFNetworking ○ Интеграция с CoreData ○ Object Mapping ○ CoreData Seeding
  14. 14. Android. Основные фреймворки ● Android Asynchronous Http Client ○ Легкая и простая ○ Автоматическое конвертироваие ответа в JSON объект ● Volley ○ Легкая быстрая, новая ○ Используется Google во всех своих приложениях ○ Умеет отменять запросы ● GSON
  15. 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/
  16. 16. Спасибо! Вопросы?

×