由于Java语言的局限性,实现一个Rails-like的Java开发框架一直是一个难题。在Java上想体验Rails-like的开发模式,只能选择Grails或者JRuby on Rails。然而这两种框架都是动态语言实现的框架,只是基于JVM而不是基于Java语言本身。动态语言确实有很多优点,但往往难以调试。是否有一个Java语言实现的Rails-like框架?答案是Play!
Play!是一个full-stack Java Web应用框架,包括一个简单无状态的MVC模型,Hibernate的持久性对象,基于Groovy的模板引擎,以及建立一个现代化网络应用所需的一切。注意,这里虽然使用了Groovy,但只是是作为页面模板语言,这和freemaker、velocity使用自己定义的语言是同样的道理,Groovy的成熟以及它和Java的相似性决定了采用Groovy远远好于自己定义一个语言。
Play!的主要特性:
- 简单的开发周期。该框架可自动编译和重新装载已改变的源文件。也就是说在保存源代码的改变后,就能立刻从浏览器中看到结果,不需要重新编译、部署、重启服务器。
- 约定优于配置。
- 智能绑定HTTP参数到Java方法参数。
- 无状态的模型,无共享架构(Share-Nothing Architecture),为REST做好了准备(未来的目标是RESTful架构),具有很好的伸缩性。
- 一个基于Groovy的强大的模板引擎,可实现多层继承,定制用户标签等功能。
- 包含了很多开发Web应用需要的功能整合,如Memcached、OpenID、插件系统等。
- 优秀的错误报告功能:发生异常时,该框架会直接显示出错误的源代码,甚至是模板代码。
- 纯Java,能够使用任何Java类库,能够很好的生成eclipse和netbeans项目文件。
- 速度很快。
初步看了下文档,应该是目前最接近Rails的Java framework,整个框架和我最近设想的一个框架差不多,很多简化 Java Web开发会遇到的问题,play!都给出了一个尽可能的解决方法,比如HTTP参数绑定、属性get/set等等,局限于java语言本身,目前也只能这样了。play!目前还没有集成验证功能,也没有一些诸如HTML encode的工具库,和spring的集成也好像还在开发中,不过这些都应该很容易解决。
该项目是开源的,您可以在
http://www.playframework.org上查看更多!
分享到:
相关推荐
rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机 用于 Ruby on Rails 核心开发的虚拟机简介注意:这个虚拟机不是为 Rails 应用程序开发而设计的,只是为。 这个项目自动设置开发环境,以便在 Ruby on Rails ...
Rails是Ruby的一个Web应用程序框架,以其MVC(模型-视图-控制器)架构模式和“约定优于配置”的原则而闻名。Rails提供了快速开发Web应用的工具,减少了大量样板代码,提高了开发效率。当Rails与JRuby结合时,开发者...
"rails-2.1.0-gem"是Rails框架的一个特定版本,即2.1.0的gem包,用于在Ruby环境中安装和管理Rails框架。 Rails的核心理念是“约定优于配置”(Convention over Configuration),这意味着开发者可以遵循一套预设的...
rails-2.3.5.gem redmine必须gem
Ruby on Rails,简称Rails,是由David Heinemeier Hansson创建的一个开源Web应用程序框架,它基于MVC(模型-视图-控制器)架构模式,用于快速开发动态网站。Rails以其“约定优于配置”(Convention Over ...
rails-documentation-2-0-2
Ruby 是一种面向对象的编程语言,而 Rails 是一个基于 Ruby 的开源 Web 应用程序框架,遵循 Model-View-Controller(MVC)架构模式。此压缩包中的 "rails-documentation-1-2-1.chm" 文件很可能是一个帮助文件或HTML...
Rails设置界面 一个Rails Engine来管理您的应用程序设置。 包括验证。 与Rails 5兼容。它与 gem兼容。 预习: 实时示例: : 如何添加到Gemfile gem 'rails-settings-ui'然后加gem 'rails-settings-cached'要么gem '...
rails-beginner-s-guide是Rails 指导手册,帮组学习了解rails开发
Rails API 4.0.0是Ruby on Rails框架的一个版本,专门针对构建应用程序接口(APIs)进行了优化。Ruby on Rails是由David Heinemeier Hansson创建的开源Web应用框架,遵循MVC(模型-视图-控制器)架构模式,以其简洁...
rails-ftw-v0.18-2.1.5-4.1.8.exe用于在windows环境下搭建readmine环境
在现代Web开发中,Rails作为Ruby的一个强大框架,以其MVC架构和丰富的生态系统赢得了开发者们的喜爱。而React作为JavaScript库,因其高效的虚拟DOM和组件化思想,已经成为前端开发的主流选择。当Rails与React结合时...
rails-bootstrap, 带有 Bootstrap 4前端框架的Rails 5.1 starter应用 Rails 和 BootstrapRails 5.1集成 Rails 和 Bootstrap 4.0的示例应用程序。Bootstrap ( 以前 Twitter Bootstrap ) 为网站的视觉设计提供CSS样式...
Rails 4.2.0 是一个非常重要的版本,在Ruby on Rails框架的历史中占据了显著位置。这个版本引入了许多新特性、改进和性能优化,为开发者提供了更高效和灵活的开发环境。Ruby 4.2.0是这个框架所依赖的编程语言的一个...
Rails是基于Ruby语言的一个开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,广泛用于构建数据库驱动的web应用。描述中没有提供额外的信息,但我们可以根据标签“源码”推测,这个压缩包可能包含了Rails...
Ember CLI Rails是一个集成Ember.js应用到Rails项目的框架,它允许开发者在Rails环境中无缝地使用Ember CLI。源码分析将深入理解这个框架的工作原理和核心组件。 1. **Ember CLI简介** Ember CLI是Ember.js的...
【标题】"rails-yelp-mvp-源码" 指的是一个基于Rails框架开发的类似于Yelp(美国知名餐饮评论网站)的最小可行产品(Minimum Viable Product, MVP)的源代码。Rails是Ruby编程语言的一个流行Web开发框架,以其“约定...
版本为:rails-2.3.8.gem 可使用指令安装:gem install rails-2.3.8.gem
Rails是一款基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,被广泛用于构建动态网站和Web应用。"rails-playlists-源码"很可能是某个开发者或团队分享的关于音乐播放列表管理功能的...