2012-03-30 35 views
1

我對「web應用程序」的含義略有困惑。即Django將自己定位爲「Web應用程序」開發的「Web框架」,與Pyramid的描述非常相似。我正在尋找的是一個具有瀏覽器界面但非常數據庫驅動的應用程序的框架。簡而言之:這是一個應該處理交易和訂閱的系統。這些交易通過網絡界面進行註冊。後端由這些訂閱/事務的XML/JSON訂閱源以及用於生成統計信息和報告的管理界面組成。非常類似於票務/票房系統。 現在:從Django/Pyramid開始,儘管他們更關注於創建「網站」而不是(可擴展的)輸入/輸出「應用程序」,這是一個很好的決定。有沒有我更擅長使用的Python框架,還是他們非常適合我描述的那種軟件? 任何幫助將不勝感激!Python框架:網站/ CMS與應用程序?

回答

3

我不知道金字塔寫了這麼我會回答Django的一部分的時候,雖然我可以想像的答案適用於金字塔以及網站和Web應用程序之間的區別是相當模糊的。

Django是適合於網站和Web應用程序:您可以爲您當地的圖書館內容豐富的網站,以及有很多的互動功能全的Web應用程序。 Django只是簡單地創建Web系統的後端。網站和網絡應用程序都使用數據庫,進行緩存並可以與表單交互。

這只是網站通常只是通知用戶(大部分網站在那裏),或與他人(如論壇)的交互。一個Web應用程序最好用一些例子來描述,比如webmail,管理界面,Google Docs等;它可以代替桌面應用程序。

從技術的角度來看,有沒有明確的事情,從Web應用程序分離的網站的世界,它只是一個你與你的web框架創造什麼的問題。

要回答你的問題,Django非常適合創建一個數據庫驅動的Web應用程序,因爲它支持多個數據庫,緩存,自動創建和處理表單等。我可以想象金字塔也適合,但我可以沒有回答。探索你的選擇很好。

+0

金字塔比Django更低級和簡潔 - 人們可以想象,Django可以在金字塔之上運行。兩者之間的區別在於一方提供了更多的控制權,另一方面提供了更多的便利。 – 2013-02-14 21:49:12

1

我認爲,在這一點上,你可能要多想想你的應用程序,而不是框架的整體架構。 對於實施例

  1. 單層 - 只需一個簡單的web應用程序,使用簡單的文件或對象存儲
  2. 兩層 - 的webapp +關係數據庫。 web應用程序包含使用MVC原則
  3. 核心企業的三級表示邏輯+商業邏輯 - 的webapp +中間層+關係型數據庫。在此設置下,中間層將基本包含所有業務處理邏輯。 webapp的是,不只是一個表現層

一旦你決定的架構,你就可以開始考慮要使用架構的組件的每個哪個框架。

我相信這種方式的進展會減少混淆,並會給人以清晰的想法。