Rest api. barcamp 2013.

434
-1

Published on

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

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

No Downloads
Views
Total Views
434
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
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. Спасибо! Вопросы?

×