`
vanadiumlin
  • 浏览: 505659 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

(转)JAVA世界的RUBY ON RAILS

阅读更多
Java世界的ruby on rails — rife http://rifers.org/ 大家可以看看他的flash演示,下载example试用一下。给我的感觉是那么的似曾相识,就像我第一次看到ruby on rails网站上面的演示一样。 rife简单来说就像rails一样,是一个包含了各层结构的、简化的开发框架,他包含了web层,IoC容器和持久层开发,等同于 Webwork/Spring/Hibernate的组合。不过rife的好处就是一个完整的框架,以统一的概念和操作方式来整合,并且对于domain model的运用和rails颇有异曲同工之妙。而rife的CRUD也类似于rails,异常简化了持久层开发。 此外,rife自身还包含了很多实用功能,例如异步发送Email,定时执行任务,web services功能,甚至还包含了一个cms框架! rife从作者描述来看是2001年底开始开发的,此前用perl和PHP开发web项目,曾经自己有过一些框架,这些PHP的框架是rife的原型。rife到现在已经发展很多年了,最近我也是因为webwork2.2集成了rife的continuations子项目才知道rife的,目前 rife还不太知名,不论国内外,google出来的评论都寥寥无几。 rife给我初感觉很惊艳,因为我自己也认为Webwork/Spring/Hibernate组合功能强大确实很强大,但是这么多框架内容太多,整个学习成本颇高,而且每个框架都有自己的哲学,概念并不完全一致,考虑到再整合sitemesh,freemarker等等小框架,这门槛也够高的了。 rails能够这么引人关注,无非就是简化开发,这些特点我从rife身上也看到了。当然,限于Java语言特性,没有办法做到rails那么简化和灵活,但是已经比Webwork/Spring/Hibernate简化得太多了,和rails有得一比了,而且基于Java这种最成熟的语言,也是一大优势。 先说说rife的优点: 1、是一个full-stack的Java框架,所谓full-stack大概指的是集成所需要的所有功能的框架,例如rails也是一个full-stack的框架。因而其学习成本自然比Webwork/Spring/Hibernate要小得多。 2、rife集成了常用的大部分功能,包括了一个组件方式的web框架,IoC支持和持久化框架,此外还有RSS支持,CMF支持,Web Service支持,异步邮件支持,Job schedule等等等等。 3、他有一些扩展的子项目很有意思,例如continuations,CRUD,openlaszlo等等。CRUD框架类似于rails,不需要配置映射,运行期动态生成所有需要的CRUD,continuations就不用多说了,openlaszlo支持输出为laszlo。 总体而言,rife是一个和rails相似度很高的框架。有意思的是,rife作者和rails作者还爆发过争吵,这个可以去search他们各自的blog。大意是这样的: rails作者David Heinemeier Hansson搞了一个在线todolist网站: www.tatalist.com 号称只用了600行ruby代码,而rife作者Geert Bevin看了这个网站之后,发现一些很严重的bug,在指出之余,狠狠贬低了一把rails,于是遭到了Hansson的嘲讽和rails爱好者的攻击。 Geert Bevin说写这么个简单的网站竟然用了600行代码,可以想像rails并不像它吹的那么好,于是rails爱好者说,你有本事也自己写一个啊,站着说话不腰疼。Geert Bevin就真的自己写了一个出来,这就是: http://blablalist.com/ 功能和tatlist完全一样。并且把所有代码开源出来,号称用了752行Java代码和100多行XML配置文件。 Hansson看了代码之后,又在自己的blog上面狠狠贬低了一把Geert Bevin的代码和rife框架,最后说Java社区太不诚实了,骗子太多。 针对rails网站的那个15分钟做出来一个simpleblog的视频,Geert Bevin也搞了一个40分钟做出来一个simpleblog的视频,录制的内容更加丰富,所以也比较长,总体来说,两者的开发过程很相似,也都很快捷,但限于语言特性,rife要略微繁复一些。 再说说rife的缺点: 实际上我只是简单的看了几个rife做出来的开源程序和quickstart,可能叙述未必客观。 1、rife的持久层映射不是O/R Mapping,这是我认为最致命的缺陷。rife的映射方式是完全忠实映射table column的方式,没有对象层次图。这种方式在某些情况来说也许很好,降低难度,但是在O/R Mapping如此普及的今天,这样用法多少有点落伍,也让用惯了O/R Mapping的开发人员无法接受。 2、rife的view模板用这样的HTML注释标记来嵌入服务器端逻辑,大量运用这种的HTML注释标记显得非常烦琐,既没有freemarker这样的${}方便,也没有JSP Tag方便。 3、rife虽然有IoC功能,也可以连接Spring,但是显然不那么重视DI这种编程习惯。在作者自己写的bamboo forum里面处处看得到类似程序自己去创建依赖对象的代码,让用惯了IoC的开发人员感觉很不好。 总之,rife确确实实提供了一条快速开发的方式,学习成本也显然比Webwork/Spring/Hibernate要低。不过对于Webwork/Spring/Hibernate掌握非常熟练的开发人员例如我来说,似乎改用rife也不会提供更高的开发效率。 顺便提一句ruby on rails,我觉得大家有些过于被表象吸引。实际上对于逻辑关系比较复杂的项目来说,如果自己对Webwork/Spring/Hibernate掌握熟练,又积累了些加速开发的工具类和模板,其开发速度并不会比rails低。
分享到:
评论

相关推荐

    ruby on rails 101

    ### Ruby on Rails 101:深入理解与实践 #### 引言 《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天...

    ruby on rails for dummies

    至于.NET、C#、Java和VB等标签,它们代表了其他编程语言和技术栈,可能在书中作为对比,帮助读者理解Ruby on Rails的独特优势和适应场景。例如,Ruby的动态性和敏捷性相对于.NET和Java的静态类型系统,或者Rails的...

    Ruby On Rails(PDF)

    ### Ruby on Rails与Java框架对比分析 #### 一、引言 随着互联网技术的迅猛发展,Web开发领域也迎来了各种各样的开发框架和技术栈。在众多的开发框架中,Ruby on Rails (RoR) 和 Java 的相关框架尤其受到关注。本文...

    ruby on rails最佳敏捷开发

    Ruby on Rails,简称Rails,是一种基于Ruby语言的开源Web应用框架,它遵循敏捷开发原则,致力于简化Web开发过程。Rails的核心理念是“Convention over Configuration”(约定优于配置),这意味着开发者可以减少大量...

    基于Java语言的Ruby on Rails ActiveRecord设计理念实现的设计源码

    该项目是采用Java语言实现的Ruby on Rails ActiveRecord设计理念的源码,总计包含46个文件,其中40个为Java源文件,其他包括Git忽略文件、许可证、Markdown文件、XML配置文件、数据库方言和驱动文件等。该设计旨在...

    Ruby on rails.doc

    在文档中,作者Chris Adamson探讨了Ruby on Rails如何挑战Java在企业开发领域的主导地位,特别是通过Bruce Tate的观点进行深入分析。 1. **Ruby的优势**:Ruby在语言设计上注重表达性和简洁性,使得代码更易读、...

    Agile Web Development With Ruby On Rails

    ### 敏捷Web开发与Ruby on Rails:深入解析与实践指南 #### 标题解析:“Agile Web Development With Ruby On Rails” 此标题明确指出本书的主题是利用Ruby on Rails框架进行敏捷Web开发。Ruby on Rails(简称...

    ruby on rails 实践

    标题与描述中的“Ruby on Rails 实践”及“ruby 和 java 的结合”,暗示了一种对两种截然不同的编程环境——Ruby on Rails与Java——进行对比分析的视角。Ruby on Rails,以其简洁、高效且遵循“约定优于配置”的...

    Ruby.on.Rails.Enterprise.Application.Development

    ### Ruby on Rails企业应用开发详解 #### 一、引言 《Ruby on Rails Enterprise Application Development》这本书由Elliot Smith和Rob Nichols共同编写,由Packt Publishing出版。该书旨在为读者提供一个完整的...

    ruby on rails 教程

    **标题解析:**“ruby on rails 教程”直指文档内容旨在教授Ruby on Rails框架的基础知识和应用技巧,Ruby on Rails(RoR)是一种用于Web开发的开源框架,基于Ruby语言,它遵循MVC(模型-视图-控制器)架构模式,...

    eclipse的ruby on rails开发插件RadRails

    **Ruby on Rails 开发环境构建:Eclipse与RadRails 插件详解** 在现代软件开发领域,Ruby on Rails(简称Rails)作为一个强大的Web应用程序框架,因其简洁、高效的特性深受开发者喜爱。而Eclipse,作为一款功能强大...

    Ruby on Rails实践之路给PHP和Java开发者的书

    通过这本书,PHP和Java开发者可以了解到RoR如何提供一个高效且优雅的开发环境,理解其核心理念,从而更好地融入到Ruby on Rails的开发世界中。同时,书中还可能包含实际项目案例,帮助读者将理论知识应用于实践,...

    Ruby on Rails and J2EE

    ### Ruby on Rails与J2EE:两者之间是否有共存的空间? #### 什么是Ruby on Rails? Ruby on Rails(简称Rails)是一种基于Ruby语言构建的相对新兴的Web应用框架。该框架被设计为现有企业级框架的一种替代方案,其...

    Ruby on Rails 入门级简介

    ### Ruby on Rails 入门级简介 #### 一、Ruby on Rails 概述 **Ruby on Rails**(简称 Rails 或 RoR)是一种基于 Ruby 语言的 Web 应用框架,它采用了模型-视图-控制器(MVC)架构模式。Rails 由 David Heinemeier...

    jRuby On Rails WEB2.0

    《jRuby on Rails WEB2.0》:将Ruby on Rails融入Java平台的实践指南 《jRuby on Rails WEB2.0》是一部由Ola Bini撰写的书籍,深入探讨了如何将Ruby on Rails这一敏捷开源框架与Java平台相结合,以构建高效、灵活的...

    Ruby on Rails插件

    Ruby on Rails插件是Rails框架的核心扩展机制,用于弥补Rails本身功能的不足,提供开发者所需的额外特性或功能。Rails插件允许开发人员自定义和增强Rails的任何部分,并且能够以封装和重用的方式与其他开发者共享。...

    结合使用 Oracle 和 Ruby on Rails 教程

    【标题】:“结合使用 Oracle 和 Ruby on Rails 教程” 在 IT 领域,数据库管理和Web开发是两个至关重要的方面。Oracle 是一款强大的关系型数据库管理系统,而 Ruby on Rails(简称 Rails)则是一个流行的开源Web...

    Ruby on Rails 应用程序,为 OpenStreetMap 网站和 API 提供支持

    Ruby on Rails 应用程序,为 OpenStreetMap 网站和 API 提供支持。这是 The Rails Port,一个为 OpenStreetMap 网站和 API 提供支持的 Ruby on Rails 应用程序。 该软件也被称为“openstreetmap-website”。网站,...

    Ruby on Rails for PHP and Java Developers(2007.8).part4.rar

    Ruby on Rails for PHP and Java Developers(2007.8).part4.rar

    Ruby on Rails for PHP and Java Developers(2007.8).part3.rar

    Ruby on Rails for PHP and Java Developers(2007.8).part3.rar

Global site tag (gtag.js) - Google Analytics