锁定老帖子 主题:现在用grails来做项目是不是太激进
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-10-15
这样的系统用GRAILS做确实不错。。
|
|
返回顶楼 | |
发表时间:2008-10-15
我就喜欢java,我至今没明白groovy的意义,用脚本语言写东西怎么可能比用传统的快,不见现在多少网站有javascript错。 一直认为发明groovy得有那个空不如做点java的模板或者代码生成器之类,早就造福全人类了。或者你想包也没问题,你还用java包装就是了,把api弄简化点,这样别人也好有选择性得用,非要另起炉灶有多大意思。
就比如我觉得 int a = b 这种写法不好,我非要发明个语言 允许你直接a=b, 编译的时候自动把 a= b 这种写法给转成int a = b 再跑,可以是可以,但这个就属于吃饱了撑的。实际中大家都用IDE,你少几个字多两行代码根本就跟开发速度无关,相反稳定性准确性大大影响开发速度。 所以我不相信脚本语言会提高开发速度。j2ee看起来层次多,但是在熟手手里瞬间就搭好一个框架了。并不会有多少重复性代码。那些配置阿什么的都放在那里,没必要的时候不用改,但是真有必要了还是可能会修改的,你把他一股脑全给封了,万一有特殊情况怎么搞。所以这玩艺不见得有java稳定灵活。 直接论省事的话,你用过纯jsp没有,其实那个也是飞快的,所以我的看法就是另搞个语言就是撑的没那个空学 |
|
返回顶楼 | |
发表时间:2008-10-15
shiren1118 写道 murainwood 写道 Hibernate很复杂,Grails把Hibernate包起来了,这点很人不放心啊.
Gorm1.0出来了,也许你就不会这么想了,快独立出来了 好东西,有些是java难以实现的 Gorm1.0难道不再包装Hibernate了?自己搞一套持久层? 那估计激进得没人敢用了. |
|
返回顶楼 | |
发表时间:2008-10-16
black_zerg 写道 我就喜欢java,我至今没明白groovy的意义,用脚本语言写东西怎么可能比用传统的快,不见现在多少网站有javascript错。 一直认为发明groovy得有那个空不如做点java的模板或者代码生成器之类,早就造福全人类了。或者你想包也没问题,你还用java包装就是了,把api弄简化点,这样别人也好有选择性得用,非要另起炉灶有多大意思。
就比如我觉得 int a = b 这种写法不好,我非要发明个语言 允许你直接a=b, 编译的时候自动把 a= b 这种写法给转成int a = b 再跑,可以是可以,但这个就属于吃饱了撑的。实际中大家都用IDE,你少几个字多两行代码根本就跟开发速度无关,相反稳定性准确性大大影响开发速度。 所以我不相信脚本语言会提高开发速度。j2ee看起来层次多,但是在熟手手里瞬间就搭好一个框架了。并不会有多少重复性代码。那些配置阿什么的都放在那里,没必要的时候不用改,但是真有必要了还是可能会修改的,你把他一股脑全给封了,万一有特殊情况怎么搞。所以这玩艺不见得有java稳定灵活。 直接论省事的话,你用过纯jsp没有,其实那个也是飞快的,所以我的看法就是另搞个语言就是撑的没那个空学 又见脑残,没用过就别出来丢人现眼 |
|
返回顶楼 | |
发表时间:2008-10-16
qubic 写道 black_zerg 写道 我就喜欢java,我至今没明白groovy的意义,用脚本语言写东西怎么可能比用传统的快,不见现在多少网站有javascript错。 一直认为发明groovy得有那个空不如做点java的模板或者代码生成器之类,早就造福全人类了。或者你想包也没问题,你还用java包装就是了,把api弄简化点,这样别人也好有选择性得用,非要另起炉灶有多大意思。
就比如我觉得 int a = b 这种写法不好,我非要发明个语言 允许你直接a=b, 编译的时候自动把 a= b 这种写法给转成int a = b 再跑,可以是可以,但这个就属于吃饱了撑的。实际中大家都用IDE,你少几个字多两行代码根本就跟开发速度无关,相反稳定性准确性大大影响开发速度。 所以我不相信脚本语言会提高开发速度。j2ee看起来层次多,但是在熟手手里瞬间就搭好一个框架了。并不会有多少重复性代码。那些配置阿什么的都放在那里,没必要的时候不用改,但是真有必要了还是可能会修改的,你把他一股脑全给封了,万一有特殊情况怎么搞。所以这玩艺不见得有java稳定灵活。 直接论省事的话,你用过纯jsp没有,其实那个也是飞快的,所以我的看法就是另搞个语言就是撑的没那个空学 又见脑残,没用过就别出来丢人现眼 呵呵呵,原谅一下那家伙吧~~ |
|
返回顶楼 | |
发表时间:2008-10-16
要看看GROOVY的优点可以看看,如果要生成下面的XML内容,java和GROOVY版本,就知道groovy的好处多多。
要生成的XML: <todos> <todo id="1"> <name>Buy Beginning Groovy and Grails</name> <note>Purchase book from Amazon.com for all co-workers.</note> </todo> </todos> JAVA代码如下: /** * Example of generating simple XML in Java. */ public class GenerateXML { public static void main (String[] args)throws ParserConfigurationException, TransformerException { DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document doc = builder.newDocument(); Element todos = doc.createElement("todos"); doc.appendChild(todos); Element task = doc.createElement("todo"); task.setAttribute("id", "1"); todos.appendChild(task); Element name = doc.createElement("name"); name.setTextContent("Buy Beginning Groovy and Grails"); task.appendChild(name); Element note = doc.createElement("note"); note.setTextContent("Purchase book from Amazon.com for all co-workers."); task.appendChild(note); // generate pretty printed XML document TransformerFactory tranFactory = TransformerFactory.newInstance(); Transformer transformer = tranFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); Source src = new DOMSource(doc); Result dest = new StreamResult(System.out); transformer.transform(src, dest); } } 再来看看GROOVY是如何更简单,更明白的做这同样的事情: def writer = new StringWriter() def builder = new groovy.xml.MarkupBuilder(writer) builder.setDoubleQuotes(true) builder.todos { todo (id:"1") { name "Buy Beginning Groovy and Grails" note "Purchase book from Amazon.com for all co-workers." } } println writer.toString() 这就是GROOVY的优势,不仅仅是代码量明显减少,更重要的是代码的可读性更高,所以以后维护起来更方便,因为容易看的明白。 Groovy good! Grails also good! 用用GROOVY/GRAILS吧,不会失望的。 |
|
返回顶楼 | |
发表时间:2008-10-16
robbin 写道 我不喜欢Grails的一个比较重要的原因是:Grails不是一个完全自己造轮子的框架!事实上Grails的底层封装了Hibernate/Spring,因此本质上程序运行还是依赖Hibernate/Spring。这就会带来一个问题:当你深入开发、调试代码的时候,无法回避Hibernate/Spring。那么这种隔了一层的做法在某些需要深入定制的地方会给你带来很大的麻烦。
corbe 写道 照robbin的说法,Jruby on rails也是不行的。因为Jruby on rails底层也依赖的不少其它的Java类库。
roobin跟corbe講的是不同的,一個講架構,另一個講底層來反博, 底層bug只有版本升級才會修正,可是架構卻可自行解決在ruby for rails 一書中有談到,想要發揮rails就必須深入了解Ruby,相信JavaEye改了 不少Rbuy lib吧,其實在開發J2EE項目時就發現spring存有bug,總是 自已修正,站在roobin的立場會有這樣想法也是正確,但是Lz如果是做 小項目應該不容易發生這樣的問題,這些小問題都可以在Grails郵件找到 解決,還有Grails雖然封裝了Hibernate/Spring,就算要修正Hibernate/Spring 應該也可以。 不過ORM,IOC為什麼不使用Groovy特性發揮最大的功能,為 什麼要用Hibernate/Spring,而且Hibernate/Spring又不是 Grails管的,以後會如何是Grails可以控管的嗎? 想要發揮rails就必須深入了解Ruby,所以修正沒問題。 想要發揮Grails就必須深入了解Groovy,所以修正沒問題。 小項目就放心去做吧。 |
|
返回顶楼 | |
发表时间:2008-10-16
引用 不過ORM,IOC為什麼不使用Groovy特性發揮最大的功能,為什麼要用Hibernate/Spring
这一点本人同意dan的观点,虽有些遗憾,但GRAILS不失为一个优秀的WEB开发框架。 |
|
返回顶楼 | |
发表时间:2008-10-16
robbin 写道 我不喜欢Grails的一个比较重要的原因是:Grails不是一个完全自己造轮子的框架!事实上Grails的底层封装了Hibernate/Spring,因此本质上程序运行还是依赖Hibernate/Spring。这就会带来一个问题:当你深入开发、调试代码的时候,无法回避Hibernate/Spring。那么这种隔了一层的做法在某些需要深入定制的地方会给你带来很大的麻烦。
robbin这点理解的是不对的,grails是尽量不需要用户配置,但也拥抱配置,可以自定义spring/hibernate,这个我在项目中都运用过了。 |
|
返回顶楼 | |
发表时间:2008-10-16
murainwood 写道 Hibernate很复杂,Grails把Hibernate包起来了,这点很人不放心啊.
那你可以自己定义hibernate。 |
|
返回顶楼 | |