Rest api. barcamp 2013.
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Rest api. barcamp 2013.

on

  • 577 views

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

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

Statistics

Views

Total Views
577
Views on SlideShare
574
Embed Views
3

Actions

Likes
1
Downloads
2
Comments
0

1 Embed 3

http://localhost 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Rest api. barcamp 2013. Presentation Transcript

  • 1. REST API в мобильной разработке Эдиль Крацких Султан Иманходжаев
  • 2. Серверная сторона вопроса Python http://python.org/ MySQL http://mysql.com/ Nginx http://nginx.org/ uwsgi http://projects.unbit.it/uwsgi/
  • 3. Python background Django https://www.djangoproject.com/ Tastypie http://tastypieapi.org/ Django Rest Framework http://django-rest-framework.org/
  • 4. API versioning & deprecation policy
  • 5. API documentation tool, API definition step ● Mashape https://www.mashape.com/ ● Apiary http://apiary.io/
  • 6. API documented view
  • 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/
  • 16. Спасибо! Вопросы?