2011-12-08 16 views
32

Djangoプロジェクトの一般的なRESTful APIソリューションを探しています。最初にWebサイト上でAjaxコールを呼び出し、後でモバイルアプリ、外部アプリなどを使用することにしました。Django RESTful API - django-pistonとdjango-tastypie

広く使用されているように見える2つのモジュールが見つかりました。 django-pistondjango-tastypie

私が読んだところでは、ピストンは古くて、より成熟しているように見えますが、ちょっと古いですよね? タピタイプは比較的新しいものであり、きれいに文書化されています。

どうすればいいですか? django-pistonまたはdjango-tastypie? 重要事項(優先順位順):情報源、文書、安定性、使いやすさの継続的なメンテナンス。

EDIT(2013年7月16日):

は今一年以上後に、我々は明確な勝者を持っています。最初は睾丸に行った。私たちはちょっと好きだった。しかし、半年後には、今度はdjango-rest-frameworkに切り替わり、一度も振り返っていません。

私たちはそれについて最も気に入っ:

  • ニースドキュメント

  • 的なコミュニティ

  • クリーン設計(Djangoのクラスベースのビューの上に構築)のための

  • ブラウズ可能なAPI開発とデバッグ

私たちはAPIに大きく依存していますので、今後のサポートは私たちの主な懸念事項の1つです。私たちはメンテナ(Tom Christie)に会って(オンとオフライン)、彼はプロジェクトに非常に献身的なようです。だから、私たちはdjango-rest-frameworkを使ってとても快適に感じます。

答えて

28

良いリソースはhttp://www.djangopackages.com/grids/g/api/

ジャンゴ-tastypieは確かに今の選択肢を保存です。

個人的には、新しいクラスベースのビューを使用するため、django 1.3を使用する場合はdjango-rest-frameworkをお勧めします。 djangopackages.comの比較ページは、それが良い参加と活動を持っていることを示しています。そして、うわー、それは確かにAPIにnice browsable interfaceを持っています。

+2

私はこれをコメントとして残しておかなければなりません。なぜなら、何らかの理由で*適切な場所に*のリンクを更新しているからです。 Docs:http://django-rest-framework.org/ブラウズ可能なAPIの例:http://restframework.herokuappcom/ –

+0

更新されたリンクをありがとうございます。私はそれらを修正しました。 –

+0

+1:その比較ページは本当に素晴らしいです。ジャンゴ・レストフレームワークが間違いなく正しい選択だと私は思っています。それはgithubでの活動がはるかに多く(まだ積極的に維持されています)、生産の準備が整っている唯一のものです。 – ArtOfWarfare

24

私はこの経験がないが、私はこれでPydannyを信頼:

ジャンゴ・ピストンはかろうじて2年近くのためにサポートされています。それは永遠に であり、複数の問題に対処するためのフォークの数は アラームの原因です。そのため、私はこの時点で私は django-tastypieをお勧めします。それは最新であり、非常に良い 文書を持っており、OAUTHをサポートしており、Djangoの パッケージthunderdome(それはほぼ3倍のポイントを獲得しました!)で2位を獲得しました。もう1つのツール は、 django-tastypieと同じくらい良いDjango Rest Frameworkですが、OAUTHサポートはありません。

ジャンゴ・ピストン・フロントでは、ジョシュア・ギンズバーグが斧を引き継いだので、もう一度動きが見られるはずです。この場合、私は のブログ記事のこのセクションを削除することができます。

ピーダニーズblogから。

+3

Pydannyのブログからの更新:http://pydanny.com/choosing-an-api-framework-for-django.html。要約:django-pistonは死んで、長い生きているtastypieとdjango-rest-frameworkです。 –

18

APIをdjangoピストン、tastypie、django webmachine Django tastypie rocksで実装しました!あなたのAPIがあなたのモデルの近くでモデル化されているときにtastypieが本当に良いと思うのですが、一度外出したいのであれば、少し複雑になります。いくつかの回避策はissuesにあります。他のものはビルディングよりも曲げなければなりません。これはおそらく、まだジャンゴの使用例の90%をカバーしています。

Afaik Webmachineは、人気のあるerlangウェブマシンをモデルにしていますが、最近はあまりアクティブではありません。だから、いくつかの活動を拾っているピストンと、多くの勢いと活動をしている涙腺を残します。ピストンはもう少し柔軟ですが、タピタイプは非常に速く動いています。私の意見では、本当に簡単なAPIがあります。

私のお勧めは、APIのプロトタイプをtastypieですばやく実装し、実行したいことをカバーするかどうかを確認することです。それらを比較する

5

Django REST framework 2.0はanounced in Oct 2012であり、現在はOAuthをサポートしています。私が本当に好きなのはWeb browseable APIです。これはあなたのAPIを開発する際に本当に役に立ちますが、誰かがあなたのAPIを実装しているときにも役に立ちます。 Djangoの管理サイトを使用してモデルの構造とデータを検査するのと似ていますが、その後はAPIのために似ています。また、ドキュメントは非常に良いです。彼らのウェブサイトから

DjangoのRESTフレームワークは、Web APIを構築すること が容易になり、強力で柔軟なツールキットです。

あなたはRESTフレームワークを使用する場合がありますいくつかの理由:

  • ウェブブラウズ可能APIは、開発者のための巨大なユーザビリティの勝利です。
  • OAuth1aとOAuth2を含む認証ポリシー。
  • ORMデータソースとORM以外のデータソースの両方をサポートするシリアル化。
  • さらにカスタマイズが可能です。より強力な機能が必要ない場合は、通常の関数ベースのビューを使用してください。
  • 豊富なドキュメントと優れたコミュニティサポート。

、それがどのように動作するかの簡単なアイデアを得るために彼らのQuickstartガイドをご覧ください。