[转]Playing Play!系列之一:Play框架的暴力美学_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > [转]Playing Play!系列之一:Play框架的暴力美学

[转]Playing Play!系列之一:Play框架的暴力美学

 2012/2/24 9:58:30  atell  程序员俱乐部  我要评论(0)
  • 摘要:欢迎大家进入"Playframework中文小站"作为Java领域最Railsful的框架,Play有如一股清新之风,以不破不立之势,一扫以往JavaEE开发臃肿庞杂之惑,迅速建立起了独特的简单之美。Play框架架构于标准的Java体系之上,开发起来却与Rails框架非常神似;其框架本身的核心代码只有不到2万7千行(含注释),可谓小巧精致,非常极简主义,却包含了从Web框架到对象持久、从动态编译到单元测试、从缓存到异步作业框架、从插件到模块扩展体系等众多功能
  • 标签:Play框架

欢迎大家进入 "Playframework中文小站 "

???

?

???? 作为 Java 领域最 Railsful 的框架, Play 有如一股清新之风,以不破不立之势,一扫以往 JavaEE 开发臃肿庞杂之惑,迅速建立起了独特的简单之美。 Play 框架架构于标准的 Java 体系之上,开发起来却与 Rails 框架非常神似;其框架本身的核心代码只有不到 2 7 千行(含注释),可谓小巧精致,非常极简主义,却包含了从 Web 框架到对象持久、从动态编译到单元测试、从缓存异步作业框架、从插件到模块扩展体系等众多功能,是一个全栈框架——“ All you need to create a cool web application ;它吸收并重用了大量已有 Java 类库,却依然能够独树一帜、标新立异。

?

如果说当年的 Spring 框架,是以“ JavaEE without EJB ”打出了响亮的口号,将传说中的 EJB 组件技术和昂贵的 EJB 容器轰下神坛;那么现在的 Play 框架,则类似“ JavaWeb without EE ”,甚至不需要 Servlet ,它更彻底地宣称,自己是一个代替企业级 Java 框架栈的、清爽的平台。

?

Play 框架一开始就宣布,这是一个“无痛的 Java 框架”,关注于开发人员的生产力,针对 RESTful 架构,是敏捷软件开发的绝佳搭档:

1、 没有了“编译 - 打包 - 部署”,直接“修改 - 保存 - 刷新”;

2、 非常详细的编译错误提示

3、 简单的无状态 MVC 架构

4、 HTTP 直接映射到代码调用

5、 高效的模板引擎

6、 强化的 JPA

7、 测试驱动开发

8、 全栈式应用框架

?

我把以上几点称为其八大“美学”特征,但是,在试用了 Play 框架,并作初步的分析之后,我却又逐渐发现其如下的八大“暴力”特征:

1、 自带嵌入式的 Java 编译器,不再需要构建工具编译、打包代码;

2、 自带嵌入式的 HTTP 服务器,不再需要打包部署到 Servlet 容器;

3、 自带在嵌入式服务器中运行的测试框架,所有的测试类,必须以测试模式启动服务器方式执行

4、 严格按 MVC 组织应用代码,各层组件类必须继承基类,没有“优雅”的接口实现,也不用依赖注入;

5、 对渲染响应结果的跳转控制,居然使用“异常”抛出机制

6、 控制器类的 Action 方法通通是静态的,直接调用静态方法即为 Action 链重定向;

7、 将模型类的字段声明为 public ,再通过框架编译成私有字段和公共属性访问方法,访问模型对象的属性时也不使用 get/set

8、 打破 Java 的封闭类定义,可以为 Java 类库中的类定义增强方法,并在响应模板中嵌入的增强对象上调用。

?

综合起来,统称为 Play 框架的“暴力美学”比较合适。这样一个矛盾的结合体,究竟会是怎样一个框架?它又是如何做到的呢?我很疑惑,也很期待,希望能够从框架的源码入手,通过抽丝剥茧,层层解读,找到答案。

?

Play 框架的命名,正是为了一反传统 JavaEE 开发的臃肿,代表着一种轻松、玩乐、写意的态度,因此为不失其初衷,我想也给接下来的几篇文章取一个轻松的名字,就叫 Playing Play !系列吧,应该很合适。

  • 相关文章
发表评论
用户名: 匿名