在很长的一段时间,我已经放弃了对Grails的研究。最近开始和项目中采用Grails开发过的开发人员讨论心得的时候,我发现Grails虽然文档比较整齐,但是从规模和社区支持而言它还是远远低于Ruby社区的。 当初Grails的起源就是希望在JVM上实现类似于ROR的框架。虽然在Grails之前,出现过Trails之类的框架,但是因为静态语言的局限性,他们的发展总是不尽人意。Grails的优势在于它使用的是动态语言Groovy,同时集成了各种流行的框架。性能上由于编译的原因,也比一般的ROR程序快一些。但从根本上而言,他还是死死的把自己绑在了Java这条船上。 从ROR来说,它的基础Ruby更为 ...
任何一个系统在被评价的时候,性能总是会被谈论到。 GRAILS作为ROR的GROOVY移植,在性能方面也是会和ROR放在一起来做比较。和ROR一样,GROOVY在开发环境下运行是相当缓慢的。所以GRAILS官方在性能优化的FAQ里面明确提到需要在运行开发环境时通过设置JVM的内存堆的参数(-Xmx512M)来提高性能。 可见,只要提高可用的内存数量,就可以大大提升性能。由于在开发环境中,GRAILS默认使用hsqldb的内存数据库,系统对内存的需求就更为巨大。尤其在表的字段和数量随着应用的复杂程度而不断增加的时候,系统的运行速度会变慢到无可忍受的地步。 所以,从性能的方面而言,如果让系统在开发 ...
一个生于2005年以后的网站,如果没有AJAX的元素在里面,只能说这个站点已经out了。作为一个在AJAX大行其道的年代里诞生的快速开发框架,GRAILS对AJAX应用开发的支持那是相当的到位。至少,在我看来,除了updater有时候跳到其它地方去,其他的简直是完美。 首先,GRAILS定义了一系列的tags从而使AJAX应用变得简单。这些AJAX相关的Tag,名称中都包含有remote这个单词。他们包括:formRemote,remoteField,remoteFunction,remoteLink。GRAILS默认在main.gsp里加载了prototype的js库,因此只要我们新作的g ...
作为一个非牛非鸟还算普普通通的开发人员而言,如果离开IDE,就会觉得生活变得很枯燥。 GRAILS有着很好的IDE支持,这一点在GRAILS的官方网站上有详细的记载。这里我就我用过的两种IDE发表一下个人意见。 Eclipse作为当前java社区使用最为广泛的IDE却在Groovy和Grails的支持中作的很一般。在我们使用Grails 0.6的过程中,Eclipse虽然可以通过扩展命令实现对Grails命令的支持,却在命令结束的时候没有办法自动关闭JVM,结果是比手工启动Grails更为麻烦。不过,IDE由于对出错的信息有高亮显示,所以在出错的时候进行错误分析还是比控制台更有优势。就Gro ...
2008-02-25

GRAILS ID

ID在任何环境中都占有重要的地位,比如说我们每个人都有个ID,这就是身份证号码。当然,也有人有两个身份证,这些人是异类,在程序中凡是有两个ID的东西也一样。GRAILS中的ID的作用相对于其他系统的ID则更为巨大。domain默认为一个domain对象产生一个ID,同时命令行生成的画面也将ID作为params的一个重要的参数来传递。如果我们放弃使用ID,我们在GRAILS程序的开发中也不会好受,这就是所有framework带给我们的缺点。当你无法改变一个东西的时候,你就得学会适应。如果你暂时转不过这个弯,或许我下面谈到的内容会让你的思想得到解脱。GRAILS是一个整合了多种框架的应用程序框架, ...
每种东西都有它适合的土壤。按照风水的观点,就是环境决定了一个人的发展。 作为新兴的GRAILS,他也有它的生存土壤,这个生存土壤是有它本身的特性所决定的。 关于优点,我这里不想再过于多说,因为只要是介绍GRAILS的文章里面都有,把一个现饭再炒来炒去不是我的风格。 我在这里直接指出其缺点。GRAILS的最致命的缺点就在于它的domain。 以我现在用的RC3版本为例,该版本的domain现在还不支持在domain文件夹下追加package。只有直接在domain目录下定义的class才会自动被GORM所识别。所以像目前这种快速开发的话,50个domain就是项目的上限。超过50个domain的 ...
出差回来的时候,公司交给我一个任务,负责监督所有项目的执行情况。在这些系统中,有一个项目是公司内部的开发任务,没有什么熟练的PG来做,只有几个刚入行的所谓的菜鸟。 在和菜鸟几天的接触中,形形色色的低级错误不断涌现在我的面前。在我感叹一切皆有可能的时候,我也在思考是不是当前使用的纯java加少量的struts1的框架对这帮菜鸟而言太过于高深,甚至有点像葵花宝典一样让他们不得不丢掉命根子。 当然作为我个人而言,我是从来不会选择struts1这个框架的。在我的心目中,过于繁琐的xml配置和大量的冗余代码已经宣布了这个框架的失败。这种失败现在已经体现出来,因为struts2几乎就和struts ...
belmount
搜索本博客
博客分类
最近加入圈子
存档
最新评论