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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Rest api. barcamp 2013.

  • 293 views
Published

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

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

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
293
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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. Спасибо! Вопросы?