12

私はコンピューター プログラマーとして訓練を受けていますが、しばらくの間 Web 開発から離れていました。私は、さまざまな Python Web 開発フレームワークに関する背景調査を少し行っています。Django、Grok/Zope 3、および Pylons はすべて優れた堅実なフレームワークですが、それらを使用するバックグラウンドがほとんどないことを理解しています。各フレームワークのアプローチの違いと、他のフレームワークと比較した場合のどこが優れているかを誰かに説明してもらえますか?

私の具体的な使用例は、さまざまなユーザー提供情報に基づいてユーザーに製品を推奨する Web アプリケーションの構築です。したがって、基本的なプロファイル、製品の好み、ユーザー間の社会的関係を確立しようとする形で、かなりの量のユーザー入力が必要になります。また、ラベル付けされた機能を備えた製品をシステムにアップロードするスタッフをサポートする必要があり、ユーザーと照合することもできます。

最後の点として、Plone の一部は、非技術者が製品や製品の説明をアップロードするためのインターフェースを提供するのに役立ちますか? Ploneのピースは借りやすいですか? 人々がアイテムを説明するためのメタデータと一緒に販売/推奨のためにアイテムをアップロードする方法を持つという点で、車輪を再発明する必要はないように思えます。助けてくれてありがとう。

4

3 に答える 3

14

あなたのバックグラウンドと要件に基づいて、Django に基づくhttp://pinaxproject.com/のようなものを使用することをお勧めします。

Pyramid (Pylons の後継) は非常に低レベルのフレームワークであり、ライブラリを選択するか、すべてのアプリケーション コードを自分で作成する必要があります。経験豊富な人にとって、これは理にかなっており、コードを完全に制御できます。しかし、ゼロから始めて利用可能なライブラリに慣れていない場合は、少しハードルが高くなります。

Django と Grok はどちらも高レベルのフレームワークであり、Django がより一般的な選択肢です。オブジェクト データベースや URL トラバーサルの使用にまだ慣れていない場合は、Grok を習得するのに時間がかかります。

Plone はあなたのユースケースには適していません。これはコンテンツ管理システムであり、一般的な Web フレームワークではありません。使用するライブラリのうち、別のコンテキストで再利用できるものはほとんどなく、UI はまったくありません。パーソナライズされたコンテンツで魅力的なユーザー エクスペリエンスを提供したい場合、Plone は適していません。それを処理するように構築されていません。

免責事項: 私は Plone と Zope 2 / Zope Toolkit のリリース マネージャーであり、Pyramid を使用していますが、Django は使用していません。

于 2011-05-01T15:27:51.797 に答える
4

Dolmen プロジェクトは、Grok の上に構築された CMS です。非常にシンプルですが、それを使用する人はほとんどいません。Grok を使用すると、GUI を再利用できる可能性があります。

しかしハンノが言ったように、Grok は Django よりも習得に時間がかかります。また、Django には Grok よりもはるかに多くのユーザーがいます。

Grok を使用する利点は、ZCML を記述したり、代わりにデコレータを使用したりすることなく、Zope コンポーネント アーキテクチャから利益を得ることができることです。

Pyramid/Pylons を使用すると、非常に単純なフレームワークだけが得られます。これは分離されたフレームワークであるため、任意のテンプレート エンジン (Mako、Genshi、Jinja、Cheetah) を自由に使用でき、sqlalchemy、zodb、mongoDb などを自由に選択でき、URL も自由に選択できます。マッピング スキーム (トラバーサルと django スタイルのマッピング、または両方の組み合わせ)。必要に応じて、ここで ZCA を使用することもできます。まず第一に、これは非常に混乱したり冗長になったりする可能性があります。

Django は一種のモノリシック フレームワークであり、1 つの方法で作業を行うことができます。そのため、習得が容易であり、非常に優れたオプションです。しかし、私の経験では、Django の標準から逸脱したい場合があり、多くのものにパッチを適用しない限り、それを行うことはできません。

また、Zope3 に関しては、BlueBreamのコピーをダウンロードして、それがどのように機能するかを確認することをお勧めします。

于 2011-05-02T06:56:32.627 に答える
-1

Plone ユーザーとして、Plone でコンテンツ オブジェクトを作成するのは難しいと言えます。それを行う方法に関するドキュメントはあまりなく、複雑です。簡単にするためにUMLと特殊なPlone製品を使用することを推奨する人もいますが、それはさらに別の依存関係をもたらします.

あなたの「製品」(Plone製品と同じではない)はおそらくPloneではコンテンツオブジェクトとして表現され、自分で書く必要があるため、コンテンツオブジェクトの問題について言及します。

Plone は、ユーザーと編集者がニュース記事、プレス リリース、写真などの形式でテキストを入力して承認する場合に最適です。そのようなユース ケースの場合、そのようなものに対して定義済みのコンテンツ オブジェクトがあるため、自分でそれらを記述する必要はありません。

--ジョナサン・マーク

于 2011-05-01T21:11:59.493 に答える