2011-03-16 133 views
6

爲了開發一個可輕鬆擴展的Web應用程序,提供生產穩定性,易於部署並允許快速開發週期,您會推薦哪些點在選擇其中一個或另一個框架之前,我使用Java和Tomcat,或Django和Apache/Mod_WSGI?在Web應用程序中選擇Django-Apache和Java-Tomcat

一些優點和缺點,我可以立即看到,

  • Tomcat的應用程序易於部署 - 刪除一個WAR文件,你就大功告成了。 Django的應用似乎需要更多的扯皮
  • Django的ORM似乎比Hibernate的好多了(不知道是否創建.egg文件,並在拖放會工作呢?) - 生成的模型直接與Hibernate的手動配置文件
  • Python作爲一種語言開發速度更快,並且比Java更簡潔。 (當然,這是一個相對較高層次的討論)。

我看過Disqus關於縮放Django的幻燈片,我毫不懷疑它可以做到。但是擴展Django應用比擴展Java/Tomcat更難嗎?

我對Java和Python以及上面提到的框架都很熟悉,並且歸結爲那些已經使用過或者(或者兩者)規模的反饋。

謝謝!

+0

爲什麼選擇投票? – viksit 2011-03-16 05:31:30

+0

關於Hibernate手動配置文件的觀點並不完整。您還可以使用註釋實現ORM映射。 – mindas 2011-03-16 09:51:58

+0

但是註釋仍然需要手動輸入正確的?如果我有一張帶有4列的表格,Django會檢查數據庫並生成一個非常好的骨架類佈局。有了Hibernate,這需要由用戶來完成。如我錯了請糾正我? – viksit 2011-03-16 19:04:47

回答

2

我選擇Python與Django,因爲它在部署中更好。你不需要建立戰爭。你只在服務器上覆制文件,就這些。
Django易於擴展和生產穩定。見this

如果您更喜歡Java看看Grails。但它有兩個缺點:建立戰爭和大量的內存使用(200 MB沒有用戶)。

5

這裏是我的經驗:

  • Django的阿帕奇適合在內存16MBs,而Java的Tomcat的要求遠不止於此。
  • Python中的編碼速度要快得多,這是事實。另一方面,在Java中,您有編譯時檢查,分析器和調試器,可幫助您提高應用程序的穩定性。
  • 如果您計劃進行繁重的計算或需要複雜的數據結構,Java的編譯技術將提供您所需的速度。
  • 使用高級重構工具(如Java)在嚴格面向對象的環境中維護大型項目更容易。
  • 然後再用Python進行編碼要快得多。
3

值得注意的是,Python代碼can be extended with C/C++ code。因此,如果需要在需要速度或複雜數據結構的情況下使用本機代碼,那麼Django應用程序實際上可以比它們的Java等價物更快。

顯然,我的投票是針對Django的。

+0

雖然值得注意的是,這可能會使跨平臺支持變得更加困難,因爲安裝c擴展比純python模塊更難......最後,我檢查了這是一個針對谷歌應用引擎的交易斷路器 – Alex 2013-05-27 02:00:38

+2

Java可以執行C/C++調用。 http://docs.oracle.com/javase/6/docs/technotes/guides/jni/ – Cedmundo 2014-02-19 14:54:16

+0

如果用Numpy/Scipy完成大量計算,那麼我認爲可移植性遠遠大於Java。 IMO Python軟件包比Java軟件包更容易安裝,Numpy速度非常快。 – 2016-12-19 19:12:25

相關問題