2012-03-30 11 views
1

私は、「Webアプリケーション」が何を意味しているのか多少混乱しています。私。 DjangoはPyramidの記述とよく似た、 "Webアプリケーション"の開発のための "Webフレームワーク"として位置付けられています。私が探しているのは、ブラウザインタフェースを備えていて、データベース駆動型のアプリケーションのフレームワークです。つまり、トランザクションとサブスクリプションを処理するシステムです。これらのトランザクションは、Webインタフェースを介して登録されます。バックエンドは、これらのサブスクリプション/トランザクションのXML/JSONフィードと、統計とレポートを生成するための管理インタフェースで構成されています。発券/ボックスオフィスシステムによく似ています。 今、Django/Pyramidのようなもので始めるのが良いかどうかは、(スケーラブルな)入出力 "アプリケーション"ではなく "ウェブサイト"の作成にもっと焦点を当てているように見えます。私が使っている方が良い、または私が記述している種類のソフトウェアに完全に適しているPythonフレームワークはありますか? ご協力いただければ幸いです!Pythonフレームワーク:Webサイト/ CMSとアプリケーション?

答えて

3

私はPyramidを書いている時点では分かりませんので、私はPyramidに適用する答えとWebアプリケーションとWebアプリケーションの区別はあいまいですが、私はDjangoの部分に答えます。

Djangoはウェブサイトとウェブアプリケーションの両方に適しています。あなたのローカルライブラリ用の有益なウェブサイトと多くのインタラクティブ機能を備えたオールインワンWebアプリケーションを作成できます。 DjangoはWebシステムのバックエンドの作成を容易にします。 WebサイトとWebアプリケーションはどちらもデータベースを使用し、キャッシュを持ち、フォームとの対話部分を持つことができます。

ウェブサイトは通常、ユーザー(ほとんどのサイト)または他のユーザー(フォーラムなど)とのやりとりのためのものです。 Webアプリケーションは、Webメール、管理インタフェース、Googleドキュメントなどのいくつかの例で最もよく説明されています。それはデスクトップアプリケーションの代替として機能します。

技術的な観点から言えば、ウェブアプリケーションの世界とウェブアプリケーションの世界を区別する明確な点はありません。それは、あなたのウェブフレームワークで作成することの単なる問題です。

あなたの質問に答えるために、Djangoは複数のデータベース、キャッシュ、自動作成、フォームの処理などをサポートするデータベース駆動型のWebアプリケーションを作成するのに非常に適しています。ピラミッドも同様に適していると思いますそれには答えません。あなたの選択肢を探索することは良いことです。

+0

ピラミッドは、Djangoよりもはるかに低レベルで、フリルではありません。ピラミッドの上を走るためにDjangoを移植することができます。 2つの違いは、より多くのコントロールを提供する一方、もう1つはより多くの利便性を提供することです。 –

1

私はこの時点で、フレームワークではなくアプリケーションの全体的なアーキテクチャーについてもっと考えたいと思うかもしれません。単純なWebアプリケーション、単純なファイルまたはオブジェクトストレージ

  • 2層使用して - - のWebapp +リレーショナルデータベースを例

    1. シングルティアについては。 Webアプリケーションには、MVC原則を使用したプレゼンテーションロジック+ビジネスロジックが含まれています。Webapp + Middle Tier +リレーションシップデータベース。この設定では、中間層には基本的にビジネスロジック&がすべて含まれます。 [Webアプリケーションは、あなたがアーキテクチャを決定したら、あなたはその後、アーキテクチャの構成要素のに使用するフレームワークについて考え始めることができ、その後、単にプレゼンテーション層

    です。

    私はこのように進歩することはあまり混乱せず、思考の明快さをもたらすと信じています。