Подтвердить что ты не робот

API Django RESTful - django-piston против django-tastypie

Мы ищем общее решение API RESTful для нашего проекта Django. Сначала мы будем использовать API для вызовов Ajax на веб-сайте, а затем для мобильных приложений, внешних приложений и т.д.

Я нашел два модуля, которые, как представляется, широко используются. django-piston и django-tastypie

Из того, что я читаю, поршень кажется старше и, следовательно, более зрелым, но, может быть, немного устаревшим?! Хотя tastypie является относительно новым и красиво документированным.

С чем лучше всего поехать? django-piston или django-tastypie? Важно для нас (заказывается по приоритету): Непрерывное обслуживание источника, документация, стабильность, простота использования.

EDIT (2013 Jul 16):

Теперь через год у нас есть явный победитель. Сначала мы пошли с tastypie. Который нам понравился. Но через полгода мы переключились на предстоящий django-rest-framework и никогда не оглядывались назад.

Что нам больше всего нравится:

  • Хорошая документация

  • Активное сообщество

  • Очистить дизайн (основываться на представлениях класса на основе django)

  • Доступный для просмотра API для разработки и отладки

Мы полагаемся на API, поэтому поддержка (в будущем) является одной из наших основных проблем. Мы встретили сопровождающего - Тома Кристи - (и в автономном режиме), и он, похоже, очень привержен проекту. Поэтому мы чувствуем себя очень комфортно, используя django-rest-framework.

4b9b3361

Ответ 1

Хорошим ресурсом для их сравнения является http://www.djangopackages.com/grids/g/api/

Django-tastypie уверен, что сейчас выбор сохраняется.

Лично я защищал бы взгляд на django-rest-framework, если вы используете django 1.3, потому что он использует новые представления, основанные на классе. Страница сравнения djangopackages.com показывает, что она имеет хорошее участие и активность. И, вау, он уверен в хорошем просматриваемом интерфейсе API.

Ответ 2

У меня нет опыта с этим, но я доверяю Pydanny в этом:

django-piston почти не поддерживался почти два года. То есть вечность, а количество вилок для решения нескольких проблем - это вызывают тревогу. Из-за этого в этом месте в это время я рекомендуем django-tastypie. Это актуально, очень хорошо документация, поддерживает OAUTH и заняла второе место в Django Пакеты thunderdome (он получил почти 3 раза больше очков!). Еще один инструмент для рассмотрения является Django Rest Framework, которая так же хороша, как и django-tastypie, но не имеет поддержки OAUTH.

На фронте джанго-поршня Джошуа Гинсберг взял на себя поводья и мы должны надеяться увидеть некоторое движение снова. В этом случае я буду в состоянии удалить этот раздел сообщения в блоге.

из Pydanny blog.

Ответ 3

Внедрение API с django Piston, tastypie и django webmachine Django tastypie rock! Сказав это, я думаю, что, хотя tastypie действительно хорош, когда ваш API моделируется рядом с вашими моделями, немного сложнее сделать что-то, как только вы захотите выйти из коробки. Существуют временные решения для некоторых issues, а другим вы должны делать больше изгибов, чем строить. Вероятно, он будет покрывать 90% случаев использования джанго.

Afaik Webmachine была смоделирована после популярной веб-машины erlang, но в последнее время она не очень активна. Так что листья поршня, который подхватывает некоторую активность, и tastypie, который имеет большой импульс и активность. Поршень немного более гибкий, но tastypie движется очень быстро и, на мой взгляд, имеет очень простой API.

Моя рекомендация заключалась в том, чтобы быстро реализовать прототип API в tastypie и посмотреть, покрывает ли он то, что вы хотите сделать.

Ответ 4

Django REST framework 2.0 был анонсирован в октябре 2012 г. и теперь поддерживает OAuth из коробки. Мне действительно нравится Web browseable API, что очень полезно при разработке вашего API, а также когда кто-то реализует ваш API. Это похоже на использование админ-сайта Django для проверки структуры и данных ваших моделей, но затем для вашего API. Кроме того, документация очень хорошая.

На своем веб-сайте:

Django REST framework - мощный и гибкий инструментарий, который делает его легко создавать веб-интерфейсы API.

Некоторые причины, по которым вы можете использовать структуру REST:

  • API для веб-поиска - это огромная победа в использовании для ваших разработчиков.
  • Политики аутентификации, включая OAuth1a и OAuth2, из коробки.
  • Сериализация, которая поддерживает источники данных ORM и non-ORM.
  • Настраивается полностью вниз - просто используйте регулярные представления на основе функций, если вам не нужны более мощные функции.
  • Расширенная документация и отличная поддержка сообщества.

Ознакомьтесь с их Quickstart, чтобы получить краткое представление о том, как это работает.