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

Play! 一个Rails-like的Java框架

    博客分类:
  • Java
阅读更多
由于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上查看更多!

 

 

分享到:
评论
13 楼 daxiong921 2009-10-30  
觉得play更像是django哦
12 楼 fangzhouxing 2009-01-10  
用过Django,回到java,看到Play!真的很有感觉!
11 楼 ajf8 2009-01-01  
同学,我这个给你play play
http://www.iteye.com/topic/257804
10 楼 jiyanliang 2008-12-31  
看了这篇文章http://duker.iteye.com/blog/306082
俺退缩了。。
9 楼 Arden 2008-12-31  
目前它的模版处理能力还是不行~~~
8 楼 Arden 2008-12-30  
play! 框架的controller和model分包,及view下的html文件目录组织怎么搞?
7 楼 风花雪月饼 2008-12-27  
说实话,rails里面我唯一喜欢的就是ActiveRecord。这个框架我还没看,楼主能否大概讲下其中的对应实现是如何?
6 楼 jiyanliang 2008-12-26  
controller里面定义了一大堆的static方法,这样大量使用后将会是什么样的啊。。
5 楼 shiren1118 2008-12-26  
各自吹各自的吧


我还是比较喜欢Grails,一定会流行
4 楼 jiyanliang 2008-12-26  
着实希望各位来点评一下...
3 楼 天机老人 2008-12-26  
哇塞好东西啊,不过还不能和spring集成似乎有点烦人,不知道和Hibernate集成会不会成问题!
2 楼 Mayer 2008-12-06  
very cool.
1 楼 avaj 2008-11-20  
试了一下,非常不错的东西!!

相关推荐

Global site tag (gtag.js) - Google Analytics