Djangoプロジェクト用の一般的なRESTfulAPIソリューションを探しています。最初はWebサイトでのAjax呼び出しにAPIを使用し、後でモバイルアプリや外部アプリなどに使用します。 。
広く使われているように見える2つのモジュールを見つけました。 Django-piston および Django-tastypie
私が読んだことから、ピストンはより古く、したがってより成熟しているように見えますが、おそらく少し時代遅れですか?! tastypieは比較的新しく、適切に文書化されていますが。
一緒に行くのに最適なものは何ですか? Django-pistonまたはDjango-tastypie?私たちにとって重要(優先順位順):ソースの継続的なメンテナンス、ドキュメント、安定性、使いやすさ。
編集(2013年7月16日):
1年以上経った今、私たちは明確な勝者を持っています。最初はtastypieで行きました。私たちはちょっと好きだった。しかし、半年かそこら後、私たちはその時の次の Django-rest-framework に切り替え、決して振り返りませんでした。
私たちがそれについて最も好きなこと:
素敵なドキュメント
アクティブなコミュニティ
すっきりとしたデザイン(Djangoのクラスベースのビューに基づいて構築)
開発とデバッグのための閲覧可能なAPI
私たちはAPIに大きく依存しているため、(将来の)サポートが私たちの主な関心事の1つです。メンテナのトム・クリスティー(オンラインとオフライン)に会いましたが、彼はプロジェクトに非常に熱心に取り組んでいるようです。そのため、Django-rest-frameworkを使用するのは非常に快適です。
それらを比較するための良いリソースは http://www.djangopackages.com/grids/g/api/
Django-tastypieは確かに今のところ保存の選択肢です。
個人的には、 Django-rest-framework を使用する場合は、新しいクラスベースのビューを使用するため、Django 1.3を使用することをお勧めします。djangopackages.comの比較ページに表示されます。それは良い参加と活動を持っていますそして、すごい、それは確かにAPIへの 素敵な閲覧可能なインターフェース を持っています。
私はこれについての経験はありませんが、これについてはPydannyを信頼しています。
Django-pistonは、ほぼ2年間ほとんどサポートされていません。それは永遠であり、複数の問題に対処するためのフォークの数は警告の原因です。そのため、現時点では、Django-tastypieをお勧めします。最新で、非常に優れたドキュメントがあり、OAUTHをサポートし、Djangoパッケージサンダードームで2位を獲得しました(ポイント数はほぼ3倍になりました!)。考慮すべきもう1つのツールは次のとおりです。 Django Rest Framework。これはDjango-tastypieと同じくらい優れていますが、OAUTHサポートがありません。
Django-ピストンの前線では、Joshua Ginsbergが手綱を引き継いでおり、うまくいけば、再び何らかの動きが見られるはずです。その場合、ブログ投稿のこのセクションを削除することができます。
ピダニーの ブログ から。
Django Piston、tastypie and Django webmachine Django tastypie rocks!でAPIを実装したことはありますが、tastypieはAPIがモデルの近くでモデル化されている場合は非常に優れていますが、箱から出して移動したい場合は、実行するのが少し複雑になります。いくつかの回避策があります 問題 、他の場合は実行する必要があります構築よりも曲げを行います。おそらく、Djangoのユースケースの90%をカバーします。
Afaik Webmachineは、人気のあるerlang Webmachineをモデルにしていますが、最近はあまり活動していません。そのため、活動を活発にしているピストンと、勢いと活動が活発なおいしいパイが残ります。ピストンはもう少し柔軟性がありますが、tastypieは非常に速く動いており、私の意見では非常に簡単なAPIを備えています。
私の推奨事項は、APIのプロトタイプをtastypieにすばやく実装し、それがあなたのやりたいことをカバーしているかどうかを確認することです。
Django RESTフレームワーク 2.0は 2012年10月に発表 でしたが、現在は OAuth をサポートしています。 Webブラウズ可能API が本当に好きです。これは、APIを開発するときだけでなく、誰かがAPIを実装するときにも非常に役立ちます。Django adminを使用するのと同じようなものです。モデルの構造とデータを検査するためのサイトですが、APIのためのサイトです。ドキュメントも非常に優れています。
彼らのウェブサイトから:
Django RESTフレームワークは、WebAPIの構築を容易にする強力で柔軟なツールキットです。
RESTフレームワークを使用したい理由:
- Webブラウズ可能APIは、開発者にとって大きなユーザビリティの勝利です。
- すぐに使用できるOAuth1aおよびOAuth2を含む認証ポリシー。
- ORMデータソースと非ORMデータソースの両方をサポートするシリアル化。
- ずっとカスタマイズ可能-より強力な機能が必要ない場合は、通常の関数ベースのビューを使用するだけです。
- 広範なドキュメントと優れたコミュニティサポート。
彼らの クイックスタート ガイドをチェックして、それがどのように機能するかを簡単に理解してください。