`
yanhua
  • 浏览: 88910 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Grails is a breath of fresh air for Java developers

阅读更多
最近http://www.indicthreads.com/对Grails的创始人Graeme Rocher 做了一次访谈,其中谈及了Grails和RoR以及对动态语言的看法,从中可以看出开发者对Grails这个框架的立场和定位。

Graeme Rocher 说RoR中有一些他很不喜欢东西,比如说RHTML,但他也承认RoR确实是个好东西,当初要不是为了兼顾那些使用了Hibernate和Spring的老系统,他也早就用上RoR了。

Graeme Rocher对动态语言持一种比较保守的态度,他认为动态语言的确非常好,不过只适合简单的或中等复杂度的应用,在大型项目中完全使用动态语言--不管是Groovy还是Ruby--来开发是十分愚蠢的。和DHH的激进不同,Graeme Rocher似乎表现的更加中庸,他认为Grails应该在静态语言和JAVA之间找到一种平衡,我觉得他的这种态度最终会影响到Grails的开发和架构,不知这是福还是祸。

Graeme Rocher一再强调了Grails对java程序员来说是非常容易使用的,因为它使用的是语法和java非常相似的Groovy,并且Grails是基于Spring、Hibernate、SiteMesh等流行的java框架之上的,这样不仅容易掌握而且还易于与java集成。他最后认为Grails被广泛采用的主要障碍来自于管理层而不是java程序员。

http://www.indicthreads.com/interviews/1098/grails_web_framework_java_developers_1.html

从这次访谈来看,总体感觉Graeme Rocher是一个比较冷静的人,这对开发Grails这种全新的框架来说是个优点还是不足呢?不知您怎么看?
分享到:
评论
12 楼 山风小子 2007-07-16  
To geszJava:
Grails将在0.6中集成Spring WebFlow,并支持SiteMesh的applyDecrator等。。。太多惊喜,令人兴奋不已
11 楼 geszJava 2007-07-16  
个人觉得转到rails上,java方面的技术积累差不多就没了.不合算.Ror在我们公司也使用,不过很多地方不得不调用perl脚本.而且有时候实在找不到库了,某些地方还是不得不使用Java,感觉Ror是个残缺的解决方案.我喜欢项目当中少些语言,这样维护起来比较方便.

引用

Grails只能使用JSP Tag作为view层实现,简直就是历史的倒退,基本上凡是强制使用JSP Tag的Java Web框架,我无一例外的反感(webwork是一个例外,webwork可以自由切换view层实现)。

RoR的rhtml模板在局部页面重用,页面装饰,动态切换页面这些方面做的极好,超越了目前我所了解的所有Java Web框架,至于页面嵌入ruby代码,这是一个有没有心理障碍的问题

用过一段时间grails0.2,当然是去年的事情了,从那时候起grails好像就支持gsp标签了吧.gsp标签是个很不错的东西,不信可以去看他的文档.页面上嵌代码? 个人觉得只要不太过分依赖模板代码就好了.否则一个比较复杂的页面,美工可能抓狂的.体验过一段时间ror,ror并不那么童话,也有这样那样的问题.相比之下,我还是喜欢grails,事实上grails的速度目前已经比ror快了.rails能达到的速度,grails也可以达到.一年前选择grails很儿戏或说需要勇气呵呵,但是今年选择grails1.0(估计年底把)便很英明.

grails的明天会很美好.
10 楼 紧急下潜 2007-04-03  
Allen 写道
现在参与的一个项目中,J2EE中UI的实现难度遭到了具有.NET经验同事们的一致狂批……

.NET怎么了,ASP.NET不也是一堆一堆的tag吗?只不过人家的VS.NET在UI上做的而已
9 楼 agile_boy 2007-04-02  
就我做过的项目来说,grails比webwork要便捷多了,ror没有用过,没有发言权,倒是Django想去尝试一下,主要是脚本语言的喜好
8 楼 andyandyandy 2007-04-02  
看来一定要研究研究ror了,快跟不上形势了
7 楼 robbin 2007-04-02  
yanhua 写道
引用
在Rails中,web页面是通过混合了HTML和ruby代码的.rhtml文件(就像是Java和HTML混合在.jsp文件中)来实现的。不同之处在于,.rhtml文件是在运行期被翻译的,而不是像.jsp页面那样要先编译成servlet。对于Rails来说,这种机制使得在web容器之外为web页面生成HTML变得容易。实际上,web服务器都不需要运行。

这种产生HTML的便利和灵活性意味着Rails的测试框架仅仅需要为.rhtml文件内的ruby scriptlet设定值,生成HTML,然后解析HTML成一个测试能够访问的格式。

Robert C. Martin在用户界面测试系列之一中提到RoR的rhtml使用户界面变的简单可行,这一点要比Grails要好,Grails还是很难脱离容器测试用户界面的。

http://blog.csdn.net/rmartin/archive/2007/01/30/1497556.aspx


用rails提供的超强工具assert_select去测试view,只有一个字“爽”
6 楼 yanhua 2007-04-02  
引用
在Rails中,web页面是通过混合了HTML和ruby代码的.rhtml文件(就像是Java和HTML混合在.jsp文件中)来实现的。不同之处在于,.rhtml文件是在运行期被翻译的,而不是像.jsp页面那样要先编译成servlet。对于Rails来说,这种机制使得在web容器之外为web页面生成HTML变得容易。实际上,web服务器都不需要运行。

这种产生HTML的便利和灵活性意味着Rails的测试框架仅仅需要为.rhtml文件内的ruby scriptlet设定值,生成HTML,然后解析HTML成一个测试能够访问的格式。

Robert C. Martin在用户界面测试系列之一中提到RoR的rhtml使用户界面变的简单可行,这一点要比Grails要好,Grails还是很难脱离容器测试用户界面的。

http://blog.csdn.net/rmartin/archive/2007/01/30/1497556.aspx
5 楼 yanhua 2007-03-31  
可是Sun似乎并没有吸取教训,在JSF中依然使用JSP TAG,尽管JSF柔韧的设计可以实现和Tapestry相似的方式,现在很多用JSF的人不得不再加一个Facelet……今天看新闻说JSF2.0可能抛弃JSP TAG,这算的上是一个好消息了。不过Grails中的TAG似乎没有JSP中的TAG那么讨厌……
4 楼 ahuaxuan 2007-03-31  
jsp的tag确实不是个好东西,但是这也只是技术进步到现在才确定的时,jsp tag出来的时候那也算是不错的技术(就当时的环境来说),但是现在还是这么多人用它(包括我),我觉得我们很多人是太保守了,事实上现在根本没有使用它的理由了,如果是struts或webwork,我们可以用velocity或freemarker,如果是wicket或tapestry就彻底的是html了,为什么还要用jsp和jsptag呢,第一次编译又慢,而且在portal上页面大了还没法编译,非得切页面,恶心啊
3 楼 yanhua 2007-03-31  
David is obviously speaking from his experiences in building 37 signals' applications which are well suited to simplicity and CRUD operations, but the reality is there are many different use cases. Some of which are too complex to be suited to a dynamic language.
对于DHH所说的java应该是Web开发的聚光灯下退出的观点,Graeme Rocher发表了上述的言论,其实何止是DHH,我们每一个人对于RoR和Java的看法都受到自己的知识面、实践经验以及所从事的领域的影响--用Java做企业应用的开发者大都觉得RoR不可能对Java造成太大的威胁,或许真正的对手有可能是.Net,而从事公众互联网的人深入了解了RoR后都像是打了强心剂般的兴奋。从Graeme Rocher的言论来看,Grails不会成为RoR的竞争对手,也不会一统Java框架,那对我们来说,花上一天的时间学习一下Groovy和Grails,把它们做为工具箱里一个备选的工具,应该也是一个不错的选择。
2 楼 Allen 2007-03-30  
现在参与的一个项目中,J2EE中UI的实现难度遭到了具有.NET经验同事们的一致狂批……
1 楼 robbin 2007-03-30  
Grails的革新和RoR相比,非常不彻底,很多地方兼容Java习惯的痕迹很明显,所以使用起来,远远没有RoR快速和方便;Grails和传统Java编程相比,毕竟是动态脚本语言,因此又不具备传统的编译器检查的好处。总之,就是Grails这种中庸的态度导致Grails从快速开发角度既不如RoR,从类型安全的角度又丧失了Java静态类型的好处。

另外,虽然Grails作者因为rhtml可以嵌入ruby代码,所以对rhtml不爽,但是我更不爽JSP Tag。可以这样说,JSP Tag是Java有史以来web编程发展历史上的最大败笔。jsp tag导致了难以进行页面局部重用,难以动态切换页面实现,这对于类似博客网站的应用来说,相当致命。对于页面局部重用,即使是freemarker都提供了很简单的宏扩展功能,而jsp tag则不得不被迫用Java编程自定义tag,至于博客切换模板,那根本就是没门,但是对于freemarker来说,实现很简单。

Grails只能使用JSP Tag作为view层实现,简直就是历史的倒退,基本上凡是强制使用JSP Tag的Java Web框架,我无一例外的反感(webwork是一个例外,webwork可以自由切换view层实现)。

RoR的rhtml模板在局部页面重用,页面装饰,动态切换页面这些方面做的极好,超越了目前我所了解的所有Java Web框架,至于页面嵌入ruby代码,这是一个有没有心理障碍的问题。

相关推荐

    grails开发指南第二版

    This includes a large number of Java developers who have been enticed by the productivity gains seen with frameworks such as Ruby on Rails, JRuby on Rails, etc. The Web and its environment is a ...

    Java程序员使用Grails的十大优势

    ### Java程序员使用Grails的十大优势 #### 1. 易于学习 Grails框架以其易学性著称,尤其对于已经熟悉Java的开发者来说,它提供了一个无缝过渡的平台。由于Grails基于Groovy语言,该语言的设计理念是与Java高度兼容...

    Grails Grails Grails

    Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式,允许开发者快速构建...

    转: Eclipse下Grails开发环境搭建步骤

    你可以访问Eclipse官网下载最新的Eclipse IDE for Java Developers版本。 然后,为了在Eclipse中更方便地开发Grails项目,我们需要安装Grails插件。有几种方法可以做到这一点: 1. 使用Eclipse的内置Marketplace:...

    Grails : A Quick-Start Guide

    Java web development is notoriously tedious, but help is on the way: Grails. Using the principle of convention-over-configuration and the dynamic Groovy programming language, Grails takes the pain out...

    Grails权威指南 Grails权威指南

    《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...

    Eclipse下搭建Grails项目

    【Grails项目搭建详解】 Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. *...

    Grails权威指南.pdf

    - **Grails as a Java Library**:Grails应用可以作为Java项目的库使用,暴露服务接口。 7. **其他高级主题**: - **Testing**:书中会讲解单元测试、集成测试和功能测试的最佳实践。 - **Security**:如Spring ...

    Groovy和Grails配置方法

    Groovy和Grails都是基于Java平台的,因此首先需要安装Java。本文档中的版本为JDK 1.6.10,可以从以下地址下载: - 下载地址:`...

    grails-用户手册

    Grails,作为一个基于Groovy语言的开源Web应用框架,深受开发者喜爱,它简化了Java开发的复杂性,提供了强大的MVC(Model-View-Controller)架构,以及丰富的插件系统。这份用户手册将帮助你深入理解和高效使用...

    grails 1.0.4

    Grails尽量为更多现有的Java项目创建一个全面的框架(不仅局限于视图处理),这和当前一些Java框架提供给用户的一种AnemicAPI形成了明显的对比。Grails的出现并不是偶然的,而是随着Web应用的日趋复杂及Web2.0和Ajax...

    Grails1.1中文文档(CHM)

    Grails1.1最新 中文 文档 当今的Java Web开发技术显得过于复杂,相对于它本身的需要来说。现在主流的Java Web框架也是异常复杂,...与那些框架不同的是,Grails是构建在现有的像Spring、Hibernate这样的Java技术之上。

    the definitive guide to grails 2

    Grails框架基于Groovy语言,是一种高度动态、敏捷的Java应用开发框架,它简化了Web应用程序的构建过程,同时保持了Java平台的强大功能和稳定性。 ### Grails框架简介 Grails框架是建立在Groovy编程语言之上的一个...

    grails快速开发web

    - **轻松入门系列**:介绍了如何搭建 Grails 开发环境、通过与 Java 的比较快速掌握 Groovy 语法,以及 Grails 实战基础。 - **实战技巧**:包括 GORM (Groovy Object Relational Mapping) 的使用、如何在 Grails 中...

    Grails权威指南 中文版

    并且,由于Grails可以与Java无缝集成,读者还会学习到如何将Java和Grails结合起来,利用现有的Java技能和经验进行Web开发。 本书适合所有对动态语言感兴趣的读者,尤其是那些有经验的Java开发者。本书的翻译版是由...

    Grails-Java开发人员的圣杯.ppt

    《Grails:Java开发人员的圣杯》 Java开发者一直以来都在寻找一个无需过多配置的Web应用框架,以简化业务逻辑的实现,减少对繁杂配置文件的依赖。Grails,作为一个基于Groovy语言的框架,正是这样的解决方案。...

    eclipse开发grails插件

    与此同时,Eclipse作为一款强大的Java集成开发环境(IDE),也提供了丰富的插件支持,帮助开发者更高效地进行Grails项目的开发。本篇将详细讲解如何使用Eclipse开发Grails插件,以及涉及的相关知识点。 首先,让...

Global site tag (gtag.js) - Google Analytics