`
江南白衣
  • 浏览: 549953 次
  • 来自: 广州
社区版块
存档分类
最新评论

<Groovy写业务类、框架类的那一吨好处>

阅读更多

    如果羡慕Ruby On Rails可以用动态语言来编码,但又舍不得Spring、Hibernate这些Javaer深以为傲的框架,那么有一种折中的方案:
    仍然使用Spring+Hibernate框架,而用Groovy/Jython/JRuby来编写Controller类、Service类、DAO类,并把它们编译成普通的Java Class文件来使用。
    BuggyBean的blog里用Jython示范了这种方案。

 1.why 动态语言?
 现在的动态语言都已经很面向对象,和传统的用来写写外围脚本(测试,安装)的script语言已经不同,而且Groovy,Jython,JRuby写成的类除了动态载入外,都可以编译成静态的Java Class文件,所以已能很好的承担J2EE应用里业务类的角色了。

 动态语言有什么好处呢,请参看<Groovy写业务类、框架类的那一吨好处>

    2. 八卦:各种动态语言的Java实现
       Groovy
BeanShellJython(Python),JRuby(Ruby),Rhino(JavaScript),
      Jacl(TCL),Bistro(SmallTalk),Kawa(Lisp/Schema)

 3.哪种动态语言?
    Jython总是若断若续,气若游丝的样子,而且现在都才移植到Jython2.1,比Python2.4 慢了几拍,很信不过。

 JRuby呢? Dion Almaer在JRuby0.8.2发布时说:"The day JRuby gets up to Jython levels, and then C Ruby levels, will be a great day.",字面上JRuby比Jython还要不靠谱。
     Ruby还有一个不好是暂时没有好的IDE(连那个收费的ruby-ide都好弱),如果没有好的IDE,可以抵消掉大部分语言本身的优势,真不能想像Ruby On Rails是用怎么个UltraEdit级的编辑器写出来的。

   Groovy的弱势是1.0正式版还没有发行,用户社区还不大。

    因为现在选的是Java框架下嵌入哪种动态语言作为业务类。所以Python和Ruby的用户社群和大量的已有项目作用不是很大。而Groovy比起两位舶来品,
    1.作为私生子,嵌入性理所当然是最好的,两者的关系暧昧得不得了。
    2.另一个天然优势是能兼容Java的语法,把Java代码copy到Groovy几乎不作什么修改(only不支持throws定义语句和Inner Class),团队的学习曲线平滑。
    3.因为不是移植项目,语言升级时没有时间差,不用看移植人的脸色。

    so,我会选Groovy,等它的正式版出来之后。



分享到:
评论

相关推荐

    Groovy need not rails——介绍自己写的一个基于groovy的框架,Webx

    Webx是一个基于Groovy的框架,它旨在简化Web应用开发,提供类似于Rails的开发体验,但又保留了Groovy的灵活性和与Java的兼容性。 这个框架的核心特性可能包括: 1. **MVC结构**:Webx可能采用了模型-视图-控制器...

    Grails&Groovy学习资料

    Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,提供了丰富的功能,而Groovy则是一种面向Java平台的动态编程语言,它的设计目标是提高开发者的生产力。 Groovy语言: Groovy是Java平台上的一个...

    groovy框架数据收集

    Groovy框架在数据收集中的应用主要涉及到数据的获取、处理和存储,这通常是一个复杂而关键的任务。Groovy,作为一种动态、简洁的编程语言,它能够无缝集成Java平台,因此在构建数据采集系统时,Groovy可以提供高效且...

    groovy和Java相互调用1

    标题中的“Groovy和Java相互调用1”指的是在编程时如何在Groovy语言环境中调用Java类,以及反之,如何在Java程序中调用Groovy类。这是一种跨语言交互的方式,特别是在混合使用Groovy和Java的项目中非常常见。 ...

    基于Groovy的NIO框架,仅供学习Java NIO使用。.zip

    总的来说,"基于Groovy的NIO框架"提供了一种学习和实践Java NIO技术的新途径,尤其是对于那些熟悉Groovy的开发者来说,他们可以利用Groovy的便利性来优化和简化NIO应用的开发。通过深入理解并应用上述知识点,可以...

    Java中使用Groovy的三种方式

    在Java开发中,Groovy是一种强大的、动态类型的脚本语言,它可以无缝地与Java代码集成,为开发者提供了更简洁、灵活的语法。本文将深入探讨在Java项目中使用Groovy的三种主要方式,并阐述它们各自的优势和应用场景。...

    基于java语言,使用Springboot + Mongodb + Groovy + Es等框架搭建的轻量级实时风控引擎

    本项目是基于Java语言,采用Spring Boot、MongoDB、Groovy和Elasticsearch等现代技术框架搭建的一个轻量级实时风控系统。以下是这个项目涉及的关键知识点: 1. **Spring Boot**: Spring Boot简化了Spring应用程序...

    Groovy&Grails准备,收集的Groovy与Grails的书籍

    而Grails则是一个基于Groovy的Web开发框架,旨在提高开发效率,提供丰富的功能和工具。 Groovy的知识点: 1. **动态类型**:Groovy支持动态类型,这意味着变量的类型在运行时确定,无需显式声明。 2. **简洁语法**...

    Java调用Groovy,实时动态加载数据库groovy脚本

    总的来说,Java调用Groovy并实时加载数据库中的Groovy脚本是一种强大而灵活的解决方案,特别适用于需要频繁调整业务逻辑或进行热部署的场景。通过结合Java的稳定性和Groovy的动态性,我们可以构建出更适应变化的系统...

    groovy

    Groovy是一种基于Java平台的、动态的、强大的编程语言,它设计的目标是增强开发者的生产力。Groovy结合了Java的静态类型系统和Python、Ruby等动态语言的灵活性,使得开发者可以更加高效地编写代码。本篇文章将深入...

    groovy-all

    Groovy是一种动态、开源的编程语言,它是Java平台上的一个重要的补充。Groovy结合了Python、Ruby和Smalltalk等语言的特性,同时保留了与Java的无缝集成能力,使得它在脚本编写、Web开发、自动化测试等领域有着广泛的...

    Groovy入门]第二讲.完成文本界面的程序框架

    Groovy是一种动态、灵活的编程语言,它在Java平台上运行,并与Java代码完全兼容。作为一门面向对象的语言,Groovy提供了简洁的语法和强大的功能,使得编写代码变得更加简单和高效。在"Groovy入门]第二讲.完成文本...

    Groovy and Grails Recipes.pdf

    根据提供的文件信息,我们可以从《Groovy and Grails Recipes》一书中提炼出多个与Groovy语言及Grails框架相关的知识点。下面将详细阐述这些知识点。 ### Groovy编程语言 **1. Groovy简介** - **定义**:Groovy是...

    groovy-2.3.6-installer

    Groovy是一种动态、开源的编程语言,它是Java平台上的一个JVM(Java Virtual Machine)语言。Groovy结合了Python、Ruby和Perl等脚本语言的简洁性和灵活性,并且完全兼容Java,可以无缝地与Java代码集成。在"groovy-...

    groovy-sdk-4.0.3

    - **Web开发**:Grails是一个基于Groovy的Web框架,它简化了开发过程,提供了MVC架构和丰富的插件系统。 总的来说,Groovy SDK 4.0.3是一个完整的开发环境,它为Groovy开发者提供了编写、测试和运行代码所需的所有...

    Groovy学习资料

    Groovy是一种动态、灵活的编程语言,它是Java平台上的一个强类型、静态类型的脚本语言。Groovy结合了Java的面向对象特性和Python、Ruby的简洁语法,使得它成为Java开发者进行快速开发、自动化任务以及编写简洁代码的...

    groovy-api-chm

    Groovy类默认是public,并且可以不写public关键字。Groovy对象可以通过`new`关键字创建,也可以通过`invokeConstructor`方法动态创建。 3. **集合操作**:Groovy对Java集合API进行了增强,提供了便利的列表和映射...

    某些必要的groovy

    Groovy是一种基于Java平台的强大的、动态的编程语言,它结合了Java的静态类型检查和面向对象特性,同时提供了简洁的语法和动态语言的灵活性。在IT行业中,Groovy经常被用于构建脚本、自动化任务、服务器配置以及开发...

    apache-groovy-sdk-3.0.6.zip

    5. **Groovy类库**:Groovy标准库提供了一系列的类和模块,涵盖了集合操作、元编程、XML处理、网络I/O等多个领域,这些类库极大地丰富了Groovy的内置功能。 6. **Gradle集成**:由于Groovy是Gradle的默认脚本语言,...

Global site tag (gtag.js) - Google Analytics