python - tutorial - Django-vs- Grails-vs-?




python+< django (6)

我想知道是否有像Django一樣的易於Web應用程序開發,以及良好的部署,調試和其他工具?

Django是構建內容重的站點的一個非常高效的框架; 我嘗試過的最好的,和一些新鮮的空氣相比,一些爪哇怪物在那裡。 然而,它是用Python編寫的,這意味著在部署/打包,調試,分析器和其他工具方面幾乎沒有真正的支持,這使構建和維護應用程序變得更加容易。

Ruby有類似的問題,儘管我比Ruby 喜歡Ruby,但是我覺得Rails在管理/支持應用程序方面與Django差不多。

有沒有人在這裡嘗試Django和Grails(或其他Web框架)的非平凡項目? 他們是怎麼比較的?


然而,它是用Python編寫的,這意味著在部署/打包,調試,分析器和其他工具方面幾乎沒有真正的支持,這使構建和維護應用程序變得更加容易。

Python有:

  1. 一個很好的交互式調試器 ,它非常好地使用Python REPL
  2. easy_install anv virtualenv進行依賴管理,打包和部署。
  3. 分析功能與其他語言相媲美

所以恕我直言,你不應該擔心這個事情,使用Python和Django,並愉快地生活:-)

幸運的是,最新版本的Django在Jython上運行 ,所以你不需要留下整個Java生態系統。

談到框架,我今年評估:

  1. 主塔 (Python)
  2. webpy (Python)
  3. Symfony (PHP)
  4. CakePHP (PHP)

這些框架都沒有接近Django或Ruby on Rails的力量。 基於我的同事的意見,我可以推薦你kohana框架。 缺點是,它是用PHP編寫的,據我所知,PHP沒有用於調試,分析和打包應用程序的優秀工具。

編輯:這是一個關於Python應用程序 (特別是Django應用程序)的打包和部署的非常好的文章 。 這是Django社區現在的一個熱門話題。


cakephp.org

Cakephp是非常好的,非常接近紅寶石(1.2)。 它在PHP中,在共享主機上工作得很好,很容易實現。

唯一的缺點是文檔有點缺乏,但是你很快就能得到它,並迅速開始做很酷的東西。

我完全推薦cakephp。


就個人而言,我用Django做了一些相當大的項目,但是我只能比較所謂的“montrosities”(Spring,EJB)和真正的低級別的Twisted。

使用解釋型語言的Web框架大多處於初級階段,所有這些框架(主動維護,即每天都在變得越來越好)。


通過“良好的部署”,您是否將它與Java的EAR文件進行比較,從而允許您通過將單個文件上傳到J2EE服務器來部署Web應用程序? (WAR文件較少; EAR文件可以有相關項目的WAR文件)

我不認為Django或者Rails已經到了那個時候了,但是我可能是錯的...... zuber指出了一篇關於Python方面的更多細節的文章。

Capistrano可能會幫助Ruby的一面。

不幸的是,我還沒有真正與Python或Ruby很多,所以我不能幫助分析器或調試器。


你問了一個同時使用Grails和Django的人。 我已經完成了大項目的工作。 這是我的想法:

IDE: Django在Eclipse中工作得非常好,Grails在IntelliJ Idea中工作得非常好。

調試:實際上是一樣的(假設您使用IntelliJ for Grails,Eclipse for Python)。 逐步調試,檢查變量等...從來不需要打印語句。 有時Django的錯誤信息可能是無用的,但Grails的錯誤信息通常很長,很難解析。

時間跑單元測試: Django:2秒。 Grails:20秒(測試本身都運行在幾分之一秒內,這是關於加載框架來運行它們的一部分,剩下的就是這個部分了......正如你所看到的,Grails的加載速度令人沮喪)。

部署: Django:將一個文件複製並粘貼到apache配置中,並重新部署,只需更改代碼並重新加載apache即可。 Grails:創建一個.war文件,在tomcat上部署,沖洗並重複部署。

編程語言: Groovy是完全可怕的。 我比Python更喜歡它。 但我當然沒有抱怨。

插件: Grails:很多破解的插件(可以使用每個Java的lib)。 Django:一些穩定的插件,但足以做你所需要的大部分。

數據庫: Django:使用南方的模式遷移,以及一般直觀的關係。 Grails:沒有模式遷移,默認情況下它會在啟動時刪除數據庫... WTF

用法: Django:初創公司(特別是在政府2.0版),獨立的網絡開發商店。 Grails:企業

希望有所幫助!


grails在啟動時刪除數據庫的說法是完全錯誤的。 它在啟動時的行為是完全可配置的,並且易於配置。 在開發模式下運行應用程序時,我通常使用創建 - 刪除。 我在測試和生產中使用更新。

我也喜歡自舉處理,它允許我在Grails中通過環境預先配置測試用戶,數據等。

我很想看看真正建立和部署了一些商業項目的人對利弊的評論。 做一個非常有趣的閱讀。







frameworks