-
Notifications
You must be signed in to change notification settings - Fork 2
Django REST API research
Веб-cервис (англ. web service) — идентифицируемая веб-адресом программная система со стандартизированными интерфейсами. Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (XML, JSON и т. д.). Веб-служба является единицей модульности при использовании сервис-ориентированной архитектуры приложения.
Rest (сокр. англ. Representational State Transfer, «передача состояния представления») — стиль построения архитектуры распределенного приложения. Данные в REST должны передаваться в виде небольшого количества стандартных форматов (например HTML, XML, JSON). Сетевой протокол (как и HTTP) должен поддерживать кэширование, не должен зависеть от сетевого слоя, не должен сохранять информацию о состоянии между парами «запрос-ответ». Утверждается, что такой подход обеспечивает масштабируемость системы и позволяет ей эволюционировать с новыми требованиями.
По сабжу было найдено множество решений. Некоторые из них:
- Django REST framework и GitHub
- Tastypie и GitHub
- Django-piston (достаточно забавное название)
Список всех известных библиотек для создания API. Исходя из описания возможностей всех представленных решений считаю выбор Django REST framework оптимальным:
- Наличие хорошей документации
- Проект постоянно обновляется (уже поддерживает Django 1.8, а так же python последней версии)
- Наличие стабильной версии (не альфы и не беты, как у остальных пакетов)
- Существует парочка подробных гайдов на русском языке по использованию фреймворка, а также несколько англоязычных