如果羡慕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 ,BeanShell,Jython(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,等它的正式版出来之后。
分享到:
相关推荐
Grails Groovy 学习必备参考资料
NULL 博文链接:https://key232323.iteye.com/blog/1336400
Groovy 调用 Java 类groovy 调用 Java class 十分方便,只需要在类前导入该 Java 类,在 Groovy 代码中就可以无缝使用该
数据采集,用groovy框架写,封装了spring和hibernate,调用了I\o的API。
基于Groovy的NIO框架,仅供学习Java NIO使用。
Spock 是适合 Java 和 Groovy 应用程序的一个测试框架
在实战之前需要搭建开发环境,您可以在 Groovy轻松入门--搭建Groovy开发环境 学习到如何搭建Groovy环境,之后我会讲一下如何搭建Grails环境,然后手把手地写个Demo程序告终,我还会抽空写篇“Groovy轻松入门- -...
是为Groovy提供的一款开源并行类库,给我们提供了多种高级抽象,包括:map/reduce、fork/join、asynchronous closures、actors、agents、dataflow concurrency及其它概念。这样用Groovy编写并行程序就方便多了。 ...
Groovy 的一个好处是,它的语法与 Java 语言的语法很相似。虽然 Groovy 的语法源于 Smalltalk 和 Ruby 这类语言的理念,但是可以将它想像成 Java 语言的一种更加简单、表达能力更强的变体。(在这点上,Ruby 与 ...
Java调用Groovy,实时动态加载数据库groovy脚本,java读取mongoDB的groovy脚本,加载实时运行,热部署
本文档旨在教你如何在Eclipse中安装Groovy插件。
Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy 可以...
groovy安装包-win(第一部分)groovy安装包-win(第一部分)
groovy入门经典,groovyeclipse 插件
Groovy入门]第二讲.完成文本界面的程序框架 竟然上来了 enjoy it
groovy 一个不错的文档 实现dsl
apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望...
Groovy
groovy
编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,您将轻松完成本教程的学习。最重要的是,您将学会如何在日常 Java 应用程序开发中联合使用 Groovy 和 ...