﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-ZhangJinglin</title><link>http://www.blogjava.net/zhangjinglin/</link><description>即使生活有一千个理由让你哭泣，你也应该有一千零一个理由让自己微笑</description><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 10:00:08 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 10:00:08 GMT</pubDate><ttl>60</ttl><item><title>Ruby on Rails 与 Grails 之比较(一)：简介</title><link>http://www.blogjava.net/zhangjinglin/archive/2007/04/18/111641.html</link><dc:creator>ZhangJinglin </dc:creator><author>ZhangJinglin </author><pubDate>Wed, 18 Apr 2007 07:01:00 GMT</pubDate><guid>http://www.blogjava.net/zhangjinglin/archive/2007/04/18/111641.html</guid><wfw:comment>http://www.blogjava.net/zhangjinglin/comments/111641.html</wfw:comment><comments>http://www.blogjava.net/zhangjinglin/archive/2007/04/18/111641.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangjinglin/comments/commentRss/111641.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangjinglin/services/trackbacks/111641.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span>最近一段时间，</span><span>Ruby on Rails</span><span>（以下简称</span><span>ROR</span><span>）在</span><span>Java</span><span>社区中越来越升温，所有的</span><span>Java</span><span>程序员都为这一敏捷的开发框架感到惊奇，惊奇</span><span>ROR</span><span>所带来的惊人的开发效率。</span><span>ROR</span><span>的主页上这样描述：&#8220;</span><span>Ruby on Rails</span><span>是一个开源框架，致力于编程的乐趣和生产效率，让你通过习惯优于配置（</span><span>COC</span><span>，</span><span>Convention over Configuration</span><span>）来编写优美的代码&#8221;。非常棒，通过对</span><span>ROR</span><span>的了解，</span><span>Java</span><span>程序员发现编写程序充满了乐趣和生产效率的提高。但随之而来的就是，</span><span>ROR</span><span>基于</span><span>Ruby</span><span>语言，一种全新的动态脚本语言，它和</span><span>Java</span><span>没有任何关系，当</span><span>Java</span><span>程序员度过了最初的美妙感受后，不得不深入了解</span><span>Ruby</span><span>语言。而且，</span><span>ROR</span><span>的运行效率现在还没法和成熟的</span><span>Java EE</span><span>相比较，更不用说成千上万的公司在</span><span>Java</span><span>平台所做出来的投入如何继承了。<br></span>
<p><span>我们可以把目光放得更远些，</span><span>Groovy</span><span>和</span><span>Grails</span><span>就进入了我们的视线。<br></span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Groovy</span><span>是一种动态脚本语言，关键是它是基于</span><span>Java</span><span>的动态脚本语言，这就足以让所有的</span><span>Java</span><span>程序员感到兴奋了。</span><span>Grails</span><span>是基于</span><span>Groovy</span><span>的类似于</span><span>Rails</span><span>的实现，原本叫做</span><span>Groovy on Rails</span><span>，因为商标的问题，称作</span><span>Grails</span><span>。&#8220;</span><span>Grails</span><span>并不是</span><span>Rails</span><span>的克隆，它的目标是为</span><span>Java</span><span>程序员提供一个熟悉的类似</span><span>Rails</span><span>的开发环境，使</span><span>Java</span><span>程序员可以利用已有的知识进入动态框架，以避免带来巨大的跳跃。比如在</span><span>Grails</span><span>中提供了</span><span>Java</span><span>程序员非常熟悉的拦截器（</span><span>interceptors</span><span>）、标记库（</span><span>tag lib</span><span>）、</span><span>Groovy Server Page</span><span>（</span><span>GSP</span><span>）等等&#8221;。</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 让我们深入看以下</span><span>Grails</span><span>到底是什么。</span><span>Grails</span><span>在底层是基于开源的</span><span>Hibernate</span><span>、</span><span>Spring</span><span>、</span><span>SiteMesh</span><span>的封装，利用</span><span>Hibernate</span><span>实现</span><span>ORM</span><span>，利用</span><span>Spring</span><span>实现</span><span>MVC</span><span>，利用</span><span>SiteMesh</span><span>实现页面的布局。</span><span>Java</span><span>程序员看到这些技术应该是最熟悉不过的，而且可以确保的是，这些技术是久经考验和经过生产验证的。</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果我们有了基于</span><span>Java</span><span>的动态脚本语言，又有了类似</span><span>Rails</span><span>的敏捷开发框架，而且这个框架又是基于久经考验的底层框架之上，我们为什么不投入</span><span>Grails</span><span>的怀抱呢。</span></p>
<img src ="http://www.blogjava.net/zhangjinglin/aggbug/111641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangjinglin/" target="_blank">ZhangJinglin </a> 2007-04-18 15:01 <a href="http://www.blogjava.net/zhangjinglin/archive/2007/04/18/111641.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>混乱中生存</title><link>http://www.blogjava.net/zhangjinglin/archive/2007/04/18/111596.html</link><dc:creator>ZhangJinglin </dc:creator><author>ZhangJinglin </author><pubDate>Wed, 18 Apr 2007 05:57:00 GMT</pubDate><guid>http://www.blogjava.net/zhangjinglin/archive/2007/04/18/111596.html</guid><wfw:comment>http://www.blogjava.net/zhangjinglin/comments/111596.html</wfw:comment><comments>http://www.blogjava.net/zhangjinglin/archive/2007/04/18/111596.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhangjinglin/comments/commentRss/111596.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhangjinglin/services/trackbacks/111596.html</trackback:ping><description><![CDATA[<p>今天Java明天.NET，这样生活是不是混乱？<br>一年多的.NET生活，看来今年又要进入JavaEE的世界，郁闷。<br>RoR看起来不错，用起来也不错，可是一旦使用了Grails，才发现这才是真正的Java的Agile Development。<br>同期的两个项目，一个C/S一个B/S，一个WinForm，一个准备Grails，混乱的世界中怎样才能生存。</p>
<img src ="http://www.blogjava.net/zhangjinglin/aggbug/111596.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhangjinglin/" target="_blank">ZhangJinglin </a> 2007-04-18 13:57 <a href="http://www.blogjava.net/zhangjinglin/archive/2007/04/18/111596.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>