浏览 1118 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-05-25
最近用Grails做了一个网站项目,很多时候确实提高了开发速度,但Grails本身存在很多不好的地方:
1、没有良好的IDE开发工具支持,目前最好的开发工具就是idea,可是idea的plugin对于utf-8编码的groovy文件支持很不好,只要工程设置了编码是utf-8,如果groovy文件里有中文,那么就会出现无法编译。 2、controller分包,当项目做大了的时候会发现把整个项目的controller都放到一个包下面很不好维护,于是你就需要对controller分包,可是分包后如果各个包下出现有同名的controller的时候,Grails无法处理,它会默认把最后加裁的那个controller为标准,前面的就覆盖掉了,就算是你在UrlMapping.groovy里进行配置也配置不了,如果能够在controller里能够象struts2一样给controller指定一个唯一的名字就好。 3、domain的关系映射,这其实归根应该算到hibernate及orm的问题,如果我的领域模型很多,关系很我的时候,这种关系极其麻烦,尤其是对于保存一个领域对象的时候,如果出现一对多的关系的时候,我要保存从表对象时,必须把主表对象查出来给从表对象。如:User –> Message是一对多的关系,当我要保存Message的时候,必须根据用户id找到User对象,然后把User对象付给Message的user属性,这样极为影响性能,增加了不必要的数据库查询。 4、如果对域模型分包之后,那么当在写HQL语句查询的时候要写上完整的包名,这个好象以前在hibernate里是不需要的。 不过总体来说Grails这样的敏捷开发框架还是优点多于缺点。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2008-05-25
试过netbeans么?可以试试、值得试试。
|
|
| 返回顶楼 | |
|
时间:2008-05-26
分包是个大问题,我也感觉到了,还不知道怎么搞比较好!
还有个问题,它的项目默认都是在某一个目录下的,如果我想部署到根目录不知道怎么搞! 目前还在试用,熟悉了准备投入开发! |
|
| 返回顶楼 | |
|
时间:2008-05-26
一直有点疑惑,rails这种方式,都是“自动”映射controller,一出现package的概念,rails到哪个package下去找?特别是在不同的package下有相同名称的controller时。如果让mapping之类的东西支持package映射,貌似会增加复杂性,好像ROR也是不能“分包”的吧?
|
|
| 返回顶楼 | |
|
时间:2008-05-26
其实象Grails这样基于spring/hibernate的架构,分包应该是完全可以做到,期待下一个版本能够解决这个问题。
|
|
| 返回顶楼 | |
|
时间:2008-05-27
分包的问题就是导致我不选用在项目中最主要原因。
|
|
| 返回顶楼 | |
|
时间:2008-05-28
这种玩玩得技术,还有人拿来做项目?什么项目,介绍一下
|
|
| 返回顶楼 | |
|
时间:2008-05-29
复杂的后台管理系统完全可以用grails来搞.
至于其他的,效率问题还是需要考虑的. williamy的说法很有问题. 当初也有人说rails这种东西是玩具. |
|
| 返回顶楼 | |
|
时间:2008-06-01
williamy 写道 这种玩玩得技术,还有人拿来做项目?什么项目,介绍一下
可不能这样说,Grails其实跟用spring/hibernate差不了多远。 |
|
| 返回顶楼 | |
|
时间:2008-06-07
Arden 写道 最近用Grails做了一个网站项目,很多时候确实提高了开发速度,但Grails本身存在很多不好的地方:
1、没有良好的IDE开发工具支持,目前最好的开发工具就是idea,可是idea的plugin对于utf-8编码的groovy文件支持很不好,只要工程设置了编码是utf-8,如果groovy文件里有中文,那么就会出现无法编译。 2、controller分包,当项目做大了的时候会发现把整个项目的controller都放到一个包下面很不好维护,于是你就需要对controller分包,可是分包后如果各个包下出现有同名的controller的时候,Grails无法处理,它会默认把最后加裁的那个controller为标准,前面的就覆盖掉了,就算是你在UrlMapping.groovy里进行配置也配置不了,如果能够在controller里能够象struts2一样给controller指定一个唯一的名字就好。 3、domain的关系映射,这其实归根应该算到hibernate及orm的问题,如果我的领域模型很多,关系很我的时候,这种关系极其麻烦,尤其是对于保存一个领域对象的时候,如果出现一对多的关系的时候,我要保存从表对象时,必须把主表对象查出来给从表对象。如:User –> Message是一对多的关系,当我要保存Message的时候,必须根据用户id找到User对象,然后把User对象付给Message的user属性,这样极为影响性能,增加了不必要的数据库查询。 4、如果对域模型分包之后,那么当在写HQL语句查询的时候要写上完整的包名,这个好象以前在hibernate里是不需要的。 不过总体来说Grails这样的敏捷开发框架还是优点多于缺点。 对于3,可以构造一个new User(id),不用去查找一个user出来,再保存Message吧 btw:你用grails做的网站性能怎样?我也想用它来做一个网站,不过用grails测试时总感觉页面打开比其他语言慢很多阿,介绍一下经验吧 |
|
| 返回顶楼 | |










