`
robbin
  • 浏览: 4825317 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:137386
社区版块
存档分类
最新评论

点评Grails vs RoR

    博客分类:
  • Java
阅读更多
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代码,这是一个有没有心理障碍的问题。
分享到:
评论
8 楼 philix 2011-08-19  
groovy,grails 必死无疑
7 楼 aoliwen521 2010-04-19  
我水平太低,不能理解 jsp tag 如此败笔的程度的原因是啥。。。
我觉得还凑合。
6 楼 jy00057800 2008-01-22  
grails的tag很爽呀
class MyCheckboxTagLib {
    def checkGroup = { attrs ->   
            attrs['allList']?.each{t->
                def value =t."${attrs['valueField']}"
                def name = t."${attrs['nameField']}"
                ////
                def check = ''
                attrs['selectList']?.each{st->
                     if(value==st.id)
                     {                        
                          check = "checked='true'"
                     }
                }              
                out << "<input type='checkbox' ${check} name='${attrs["name"]}' value='${value}' />${name}<br>"
            }
    }      
}
这就是一个checkbob的标签,作用就是默认那些选择那些不选择.
不用配置,也不用声明.
只要写在grails-app\taglib下就可以,类名和方法名字也是随便起.
页面调用就是
<g:checkGroup allList="${menus}" selectList="${menus_role}"  nameField="menuName" valueField="id"  name="menus" />
menus,menus_role从控制器传进去
5 楼 liangshixing 2008-01-01  
显然Grails页面GSP里可以像rhtml那样写代码滴
4 楼 Tin 2007-04-20  
Ruby的语法还是更加舒适和轻松呀。
3 楼 mave99a 2007-04-16  
JSP很不爽这说非常赞同 ! 可惜JSF还是严重使用了JSP,还加了更多让人不爽的tag
2 楼 dongbin 2007-04-02  
把ruby往Java上挪本来就是一件费力不讨好的是情。 rhtml确实不匝地,Haml将是ROR view的主流。
1 楼 andyao 2007-04-02  
页面中嵌入Ruby代码,个人觉得没什么问题。其实JSP Tag也可以理解为在JSP页面中加入Java代码,只是多加了一层封装,《Core J2EE Patterns》将这种方式称为View Helper。但是实际应用中确实像robbin说的那样,很难进行页面局部重用。

相关推荐

    Grails Grails Grails

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

    Grails权威指南 Grails权威指南

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

    Eclipse下搭建Grails项目

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

    grails-用户手册

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

    eclipse开发grails插件

    对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...

    grails中文入门简介

    Grails是一个基于Groovy语言的全栈框架,它遵循约定优于配置的原则,并且紧密集成Spring和Hibernate等流行的Java库,简化了开发流程。Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式...

    grails快速开发web

    ### Grails 快速开发 Web 应用程序 #### 一、Grails 概述 Grails 是一种基于 Groovy 的开源应用框架,用于简化 Web 应用程序的开发过程。它采用约定优于配置的原则,这使得开发者可以更快地创建功能丰富的 Web ...

    the definitive guide to grails 2

    《Grails 2 的终极指南》是一本深入探讨Grails框架精髓的专业书籍,该书以英文撰写,旨在为读者提供全面、深入的Grails框架学习资料。Grails框架基于Groovy语言,是一种高度动态、敏捷的Java应用开发框架,它简化了...

    eclipse插件grails(groovy)

    Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它使得在Eclipse环境中进行Groovy和Grails应用的开发变得更为便捷。Groovy是一种动态、面向对象的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,...

    Grails中文参考手册

    **Grails 概述** Grails 是一个基于 Groovy 语言的开源 web 应用程序框架,它构建在 Java 平台上,旨在提高开发效率,简化常见 Web 开发任务。Grails 遵循 Model-View-Controller (MVC) 架构模式,允许开发者快速...

    grails-2.4.4.zip

    《Grails 2.4.4 框架深度解析》 Grails 2.4.4 是一个基于Java的开源Web应用框架,它利用Groovy语言的强大特性,为开发者提供了一种高效、灵活的开发环境。这个压缩包“grails-2.4.4.zip”包含了完整的Grails 2.4.4...

    Groovy和Grails配置方法

    ### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...

    grails login

    **Grails登录系统详解** Grails是一个基于Java的开源Web应用程序框架,它使用Groovy语言进行开发,提供了高效、简洁的编程模型。在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户...

    Grails入门指南 -- 针对grails1.0.4更新

    ### Grails入门指南知识点 #### 一、Grails框架简介 - **背景**: Grails是一个基于Groovy语言的开源Web应用框架,适用于Java平台。它旨在简化开发过程,提高开发效率,尤其受到那些希望保留Java环境同时寻求更高效...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    《Grails技术详解:中文文档与Fckeditor-0.9.5插件解析》 Grails,作为一款基于Groovy语言的开源Web应用框架,以其高效、简洁的特性深受开发者喜爱。它集成了许多Java EE的功能,同时简化了开发流程,使得开发人员...

    grails中文参考手册

    《Grails中文参考手册》是针对Groovy编程语言构建的Web应用框架——Grails的一份详尽学习资料。Grails以其高效、灵活和强大的特性,成为开发人员在Java平台上构建Web应用的热门选择。这份手册旨在帮助初学者快速上手...

    Grails1.1中文文档

    《Grails 1.1 中文文档》是一个非常宝贵的资源,尤其对于国内的开发者来说,由于Grails在中文社区中的资料相对较少,这份文档的价值不言而喻。Grails是一个基于Groovy语言的开源Web应用框架,它借鉴了Ruby on Rails...

    grails-core源码

    《Grails核心源码解析——基于版本2.2.2》 Grails,作为一个基于Groovy语言的全栈式Web应用框架,深受开发者喜爱。它以其简洁的语法、丰富的插件系统以及对Spring和Hibernate的无缝集成,为开发高效、灵活的Web应用...

Global site tag (gtag.js) - Google Analytics