2

嘗試使用Joomla或Drupal來設計除了小冊子軟件或博客網站之外的任何內容是否切實可行?這些模塊/擴展框架是否足夠靈活用於設計具有大量數據輸入和報告功能的Web應用程序,或者您是否更好地使用MVC框架,ASP.NET或簡單的金屬PHP來設計它?使用CMS設計Web應用程序

假設您要設計一個主要用於輸入數據和報告數據的Web應用程序。例如:你想爲擁有賽馬的人設計一個網站。

  • 主要數據錄入涉及用戶輸入的 物理屬性和種族記錄 他們所有的馬匹。

  • 報告可用於根據數據庫中所有馬匹的物理屬性和比賽記錄查找統計數據和其他指標:用戶和其他人已輸入的內容。

在CMS中這樣做的原因或好處是什麼?

回答

5

我一直用專有的CMS來做這件事。我敢肯定,這可以編寫任何類型的插件/子系統爲Drupal等

優點:

  • 希望熟悉MVC的代碼庫,你得到的東西出了門快的。
  • 因爲您已經在CMS環境中,因此在需要時可與網站免費集成。否則,您必須在自定義Web應用程序之上實現基本的CMS功能。
  • 與底層CMS的依賴關係。您可以從更新中受益,如新功能,安全修復,性能優化等

缺點:

  • 揹着CMS的「權重」。也許它有你永遠不會使用的表格,對象和子系統。
  • 較大的代碼庫。對於現在必須瞭解CMS和業務邏輯的維護人員來說,學習曲線更陡峭。
  • 與底層CMS的依賴關係。至少你的控制器(也可能是持久層)將被綁定到CMS的方式。儘量保持模型和業務邏輯獨立於CMS'es MVC框架。
+0

與更多的鍋爐板框架(比如前面提到的MVC)相比,它是否乏味?我覺得它應該是。 – Merritt 2009-08-22 19:16:35

+0

一個CMS引擎通常比一個普通的MVC引擎更重,因爲CMS應該已經包含一個MVC(希望)。 – cherouvim 2009-08-23 05:32:21

+0

真的,我寧願它是另一種方式:頂部帶有CMS框架的MVC框架。 – Merritt 2009-09-03 22:15:52

4

如果CMS的模塊化/可擴展性足以讓您可以編寫自己的擴展而沒有太多限制,我肯定會走這條路線。想想一些你需要實現的「非核心」任務:

  • 用戶管理(登錄,忘記密碼處理,用戶頁面等) - CMS通常附帶'準備使用')
  • 模板(CMS通常會提供一個完善的模板引擎)
  • '環繞'頁面(除了核心表單/報告頁面,您可能會有相當多的數量那很容易創建/使用CMS管理)
  • 安全性(一個好的CMS會爲您提供了很多與安全相關的API來緩解防範SQL注入,XSS和其他安全問題,例如在表單生成&其他頁面處理)
  • 數據庫抽象(一個好的CMS應該爲你提供)
  • 基於URL的調度(你有w螞蟻自己管理自己的URL空間?)

大量工作使用Drupal最近,我可以說,這是非常適合像這樣的東西(除了缺乏一定的有關數據庫抽象,因爲它目前只支持MySQL和PostgreSQL)。

您可以設置一個標準的網站相當快,並通過創建一個完成所有的數據收集的一個或多個自定義模塊和報表需要的任務集中你的定製開發上的核心任務。

其缺點當然是學習曲線 - 您應該將CMS看作是一個像其他任何框架一樣的框架,它會在學習內部和外部的過程中付出代價。