Heroku 现已提供 Play! 公开 Beta 版本

  • Jean-Jacques Dubray
  • 丁雪丰

2011 年 9 月 3 日

话题:JavaRuby on Rails语言 & 开发

8 月 29 日,Heroku宣布Play!(一个 Java Web 框架)已经提供公共 Beta 版本了。针对 Web 开发,Play! 采用了“净室”方法,不会强加约束,例如:

兼容 Servlet 容器、支持 JSP、兼容标准 Java Web App 布局、顺应 Java 和 OO 原则(哪怕没什么意义)。

Play! 遵循 Ruby on Rails 的“Built-and-Deploy”模型,而不是更传统的“Package-and-Distribute”模型。

不需要公式化的类或 XML 配置文件。框架采用了全新的打包惯例,在适当的地方使用了静态代码。举例来说,控制器入口点是无状态的,它面向 HTTP 而非面向对象,因此可以用静态方法来实现。

正如 8 月下旬发表的《Heroku for Java》中所说的,Play! 基于无容器的 PaaS 模型。Play! 应用可以运行于本地,也可以无缝地部署到生产环境。这样一来就可以简化部署工作流,消除由环境差异导致的问题。

从架构角度来看,Play! 使用了Netty,这是一个由JBoss 团队构建的非阻塞 I/O 协议库,它使用基于 Continuation 的编程模型,可以支持请求的异步处理。Play! 还实现了Share-Nothing模型,可以很方便地通过添加节点对应于程序进行水平扩展,有状态会话是无法做到这点的。

从语言策略角度来看,Heroku 解释到

Java 是多语言平台道路上的又一个里程碑,今后还会加入更多语言,其中不仅有 Java 这样历史悠久的,也会有 Clojure 和 Node.js 这样前沿的,还会有像 Ruby 这样介于两者之间的。我们渴望包含尽可能多的语言,语言的选择是由开发者决定的。

Web App 和 Java 领域是否已经像 Heroku 所说的那样,可以带来颠覆性创新了呢?说说您的观点吧。

查看英文原文:Public Beta of Play! is Now Available on Heroku

JavaRuby on Rails语言 & 开发