2009-09-30 4 views
7

djangoよりも優れているgrokのスマッシング(punを意図した)機能は何ですか? 私のプロジェクトがgrok + zopeを必要とするかどうか、またはちょうどdjangoを使って開発することができますか?grok対djangoの比較

答えて

7

Zopeは最初のオブジェクト公開フレームワークevahとZopeコミュニティでした正しいことをすることで長い経験を持っています。 Zope 2が最初の試みであり、Zope 3が次の試みであり、Grok、BFG、Boboを含む第3世代のWebフレームワークになっています。

Grokは大量であり、ベースをインストールしたときには来ない(さらに、必要なモジュールの数を減らしているため、フットプリントが小さくなる)ようになっています。 BFGとBoboは別の方法をとっており、最小限のフレームワークですが、Zope ToolkitとZopeのすべての機能に簡単にアクセスできます。

また、DjangoはZope2と同じ間違いの多くをしていますが、Python Webフレームワークが使用することを期待しているため、この議論の多くは5年後には間に合わないと思います。 WSGI + WebOb + Repoze + Deliverance + Buildoutをベースにしています。しかし、それでも私はZope Component ArchitectureとZODBを使うことができるフレームワークのために行くつもりですが、それはZopeコミュニティだけでなく、Turbogearsも含めています。そして、おそらくそれはDjangoを含むでしょう。誰が知っているのですか?:-)

Plone(CMSが必要な場合)、GrokまたはBFG開発者の関与、タスクと予算の複雑さなど)。もちろんこれは、Zopeの技術に関する私の大きな経験とDjangoでの私の小さな経験に左右されますが、主にGrokとBFGでZTKとZODBを使用できるためです。

YMMVなど、blahblah。 Brandonsは、Zopeのコンポーネントアーキテクチャで話す

2

私は、フレームワークの中には、他のものよりも「良い」、あるいは特定の状況では「必要」となるような「機能」があるとは考えていません。むしろ、DjangoとGrok(またはPylons、またはTurbogears)の違いは、実際にアプローチの1つです。 Grokのアプローチを好みに合わせるか、他のものを好むかもしれません。私はあなたが他の人の誰にもできないことをあなたが達成することができることはたくさんあるとは思わない。

+1

私に印象づける何ジャンゴに関してGROK +のZopeのサイズです。だから私は不思議です。それがそこにある何かを必要とするなら、私は知らないのですか? –

+0

それからDjangoのために書いてください - それはオープンソースです。 –

5

Grokは基本的にすべてのzopeのパワーを使いやすいパッケージにしています。だから、あなたは本当のpythonオブジェクトデータベースのすべての贅沢を得ます(ただし、SQLバックエンドを使用することはできます)。そして私はあなたに、いわゆる "zopeコンポーネントアーキテクチャ"のアダプタ/ユーティリティ/ビューについて知っていると仮定します。それらは堅牢なアプリケーションを作成することができます。後でそれを選択的にカスタマイズする必要がある場合は特に便利です。セキュリティは伝統的にzope(そしてgrok)の強力なポイントです。開発と展開は、卵(とビルドアウト)で完全に処理されます。私の経験上、これは堅牢で信頼性が高く、再現性があり、快適な方法です。

後で多くの選択的なカスタマイズを必要とせずにストレートSQLテーブルで動作できるアプリケーションをお持ちの場合は、djangoに問題はありません。あなたは自分自身で多くのセキュリティを行う必要がありますので、それは鋭い目を必要とします。その背後にはフレームワーク(ORMとURLマッパー)がはるかに少ないので、あなたのPythonはもっと「純粋でシンプル」な感じになります。これはまた、自分でもっとやる必要があることを意味します。

grokの一部を選択的に使用することからあなたを止めることから何もありません:例えば、http://pypi.python.org/pypi/grokcore.componentは非常に核心です。かなりよく隔離されているので、Zopeスタック全体を購入することなく使用できます。私はかなりあなたがdjangoでそれを使用できると確信しています。 grokcore/zopeコンポーネントは単なるpythonコードです。これにより、アダプタ/インタフェース/ユーティリティが得られます。あなたが作っているものは分からないので、実験しなければなりません。

zopeのZODBオブジェクトデータベースを試してみることをお勧めします。良いORM(そしてdjangoはかなり良いです)は、SQLデータベースから苦痛を取り除くのに大いに役立ちますが、実際のオブジェクトデータベースは単なる贅沢です:-)