`
yanhua
  • 浏览: 87833 次
  • 性别: 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代码,这是一个有没有心理障碍的问题。

相关推荐

    Getting Started with Grails Second Edition

    Grails is a Java- and Groovy-based web framework that is built for speed. First-time developers are amazed at how quickly you can get a page-centric MVC web site up and running thanks to the ...

    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 ...

    Grails: A Quick-Start Guide

    Grails is a full stack web development framework that enables you to build complete web applications in a fraction of the time and with less code than other frameworks. In Grails: A Quick-Start Guide...

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

    Web开发方面没有王者,PHP市场很大,但RoR,Python,Java,及至Asp.net都占据着一方市场.那么作为Java程序员,当你不想使用SSH做网站的时候,尝试一下Grails吧,这里是Java程序员使用Grails的十大优势

    Grails Grails Grails

    Grails Grails Grails Grails Grails

    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 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技术之上。

    Grails_开发简介

    Grails_开发简介,本文介绍如何使用Oracle JDeveloper 作为IDE 来开发Grails 应用程序。此外,您还在学习开发Grails 应用程序的过程中大概了解Groovy 的一些概念。

    Grails权威指南 Grails权威指南

    Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南

    Eclipse下搭建Grails项目

    Grails项目的应用越来越多,而对于初学者来说,在Eclipse下搭建Grails项目是一个难题,这个文档将教会你如何搭建Grails项目,希望对你有所帮助。

    Grails1.1中文文档

    与那些框架不同的是,Grails是构建在现有的像Spring、Hibernate这样的Java技术之上。 Grails是个一栈式开发框架,它尝试通过核心技术和插件技术来解决许多Web开发难题。Grails包含了如下内容: 由 Hibernate ...

    Groovy in action

    Groovy, the brand-new language for the Java platform, brings to Java many of the features that have made Ruby popular. Groovy in Action is a comprehensive guide to Groovy programming, introducing Java...

    grails ajax

    It is javascript and ajax using in grails, it is very useful

    Grails 教程

    Grails基于这些概念之上,采用动态方法减小了Java平台上进行Web开发的复杂度,不过与那些框架不同的是,Grails是构建在Spring和Hibernate等Java已有的技术之上的。 Grails是一个full-stack框架,它借助于核心技术与...

    grails框架心得

    用grails开发过程中,项目优化配置,系统间调用等的总结。

    Grails权威指南

    第1章 寻找grails之旅  1.1 java的困惑  1.2 webc2.0时代  1.3 java的力量  1.4 什么是grails  1.4.1 与java集成  1.4.2 简单而强大  1.4.3 吸取的经验教训  1.5 使用grails的原因 ...

    Spring Recipes: A Problem-Solution Approach, Second Edition

    With over 3 Million users/developers, Spring Framework is the leading “out of the box” Java framework. Spring addresses and offers simple solutions for most aspects of your Java/Java EE application ...

    grails-website

    grails.org 源码 Build modern, sophisticated and robust Groovy web applications in record time! Grails brings back the enjoyment of Java web development.

Global site tag (gtag.js) - Google Analytics