当前位置:  开发笔记 > 编程语言 > 正文

Django -vs- Grails -vs-?

如何解决《Django-vs-Grails-vs-?》经验,为你挑选了4个好方法。

我想知道是否有类似Django的简易网页应用程序开发与良好的部署,调试和其他工具相结合?

Django是一个非常高效的框架,用于构建内容密集的站点; 与一些Java怪物相比,我尝试过的最好的和新鲜空气.然而,它是用Python编写的,这意味着在部署/打包,调试,分析器和其他工具方面几乎没有真正的支持,这使得构建和维护应用程序变得更加容易.

Ruby有类似的问题,虽然我比Ruby 喜欢Ruby ,但我得到的印象是,在管理/支持应用程序时,Rails与Django大致相同.

有没有人在这里尝试过Django和Grails(或其他Web框架)的非平凡项目?他们是如何比较的?



1> hendrixski..:

你问过一个同时使用Grails和Django的人.我已经完成了大项目的工作.这是我的想法:

IDE: Django在Eclipse中运行得非常好,Grails在IntelliJ Idea中运行得非常好.

调试: 几乎相同(假设您使用IntelliJ for Grails,Eclipse使用Python).步骤调试,检查变量等......永远不需要打印语句.有时django错误消息可能没用,但Grails错误消息通常很冗长且难以解析.

是时候进行单元测试了: django:2秒.Grails:20秒(测试本身都在几分之一秒内完成,这是关于加载框架以运行它们的部分,其余部分......正如你所看到的,Grails的加载速度令人沮丧).

部署: Django:将一个文件复制并粘贴到apache配置中,然后重新部署,只需更改代码并重新加载apache即可.Grails:创建.war文件,在tomcat上部署,冲洗并重复以重新部署.

编程语言: Groovy非常棒.我喜欢它,比Python更受欢迎.但我当然没有抱怨.

插件: Grails:许多破碎的插件(并且可以使用每个java lib).Django:一些稳定的插件,但足以完成你需要的大部分工作.

数据库: Django:使用South的模式迁移,以及通常直观的关系.Grails:没有模式迁移,默认情况下它会在启动时删除数据库... WTF

用法: Django:初创公司(特别是在Gov 2.0领域),独立的网络开发商店.Grails:企业

希望有所帮助!


只是为我的帖子添加一些更新:对于Django中的插件,从Pinax开始.它是集成插件的唯一真正存储库.使用grails有一个命令,可以列出所有插件并安装你想要的东西.
Grails db migration插件,http://grails-plugins.github.com/grails-database-migration/docs/manual/guide/1%20Introduction%20to%20the%20Database%20Migration%20Plugin.html
当grails有很多很多时,也应该特别比较Grails vs Django核心中存在的IMHO错误数量.从同一个grails环境中多次运行单元测试这样非常简单的东西就会被破坏,加载和运行它们需要永恒.除非你正在构建一些微不足道的东西,否则使用grails的学习曲线远远超过django.有了像Spring和Hibernate这样的怪物,对于那些以前没有使用过怪物的人来说,学习grails非常陡峭.

2> zuber..:

然而,它是用Python编写的,这意味着在部署/打包,调试,分析器和其他工具方面几乎没有真正的支持,这使得构建和维护应用程序变得更加容易.

Python有:

    一个很棒的交互式调试器,可以很好地利用Python REPL.

    easy_install anv virtualenv用于依赖管理,打包和部署.

    与其他语言相比的分析功能

所以恕我直言,你不应该担心这些事情,使用Python和Django,并愉快地生活:-)

幸运的是,最新版本的Django在Jython上运行,所以你不需要抛弃整个Java生态系统.

说到框架,我今年进行了评估:

    挂架(Python)

    webpy(Python)

    Symfony(PHP)

    CakePHP(PHP)

这些框架都没有接近Django或Ruby on Rails的强大功能.基于我的同事意见,我可以推荐你kohana框架.缺点是,它是用PHP编写的,据我所知,PHP没有出色的工具来调试,分析和打包应用程序.

编辑:这是一篇关于Python应用程序(特别是Django应用程序)的打包和部署的非常好的文章.这是Django社区的一个热门话题.



3> 小智..:

Grails的.

Grails看起来像Rails(Ruby),但它使用比java更简单的groovy.它使用java技术,你可以毫无困难地使用任何java lib.

我也选择Grails而不是简单,并且有很多java lib(例如jasper report,jawr等),我很高兴现在他们加入SpringSource,这使得他们的基础扎实.


Groovy并不比Java"简单".这样的陈述意味着你没有在语言中挖得足够远,以实现其全部潜力和复杂性.

4> 小智..:

grails在启动时删除数据库的说法完全错误.它在启动时的行为是完全可配置的,易于配置.我通常在开发模式下运行应用程序时使用create-drop.我在测试和生产中运行时使用更新.

我也喜欢自举处理,它允许我通过Grails中的环境预先配置测试用户,数据等.

我很乐意看到有人真正建立并部署了一些商业项目评论利弊.是一个非常有趣的读物.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有