30天挑战的最后一天,我决定学习Play Framework.我本来想写Sacla,但是研究几个小时后,我发现没法在一天内公正评价Scala,下个月花些时间来了解并分享经验。本文我们先来看看Play框架基础,再开发个程序。

[译] 第三十天:Play Framework - Java开发者梦寐以求的框架 

什么是Play框架?

Play是一个开源的现代web框架,用Java和Scala写可扩展的web程序。它能自动加载更新使得极大提高生产率。Play设计了无状态,非阻塞的架构,这使得用Play框架开发水平扩展web程序很容易。 

我为什么关注Play?

我学习Play的原因:

  1. 高效: 我用Java已经8年了,但是几个月前我更多关注到Python和JavaScript(Node.js).最令我吃惊的是,使用动态语言开发程序是那么快。Java      EE和Spring框架都不是快速原型开发的理想选择,但是用Play框架,有更新时,刷新页面,瞧!直接可以看到更新了。它支持所有Java代码,模板等的热加载,让你快速继续。
  1. 自然反应:Play框架基于Netty构建,所以它支持非阻塞I/O, 能简单经济的水平远程调用,这对于以服务为导向的架构高效工作很重要。
  1. 同时支持Java和Scala: Play框架是真正的通晓多语言的web框架,开发者在他们的项目中可以同时使用Java和Scala.
  1. 首个支持REST JSON类:Play让写RESTful程序变得很简单,很好的支持HTTP路由,HTTP路由将HTTP请求转换成具体动作,JSON      marshalling/unmarshalling API在核心API中,所以不需要添加库来完成。 

程序用例

本文,我们来开发一个网摘程序,允许用户发布和分享链接,你可以在OpenShift上看在线程序。这和我们之前第22天开发的程序一样,你可以参考之前的用例来更好了解。 

安装Play

请参考文档了解怎样安装Play框架。 

开发Play程序

介绍完基础,我们来开始写程序。 

在你机器上运行以下命令。

$ play new getbookmarks 
       _

 _ __ | | __ _ _  _

| '_ \| |/ _' | || |

|  __/|_|\____|\__ /

|_|            |__/ 

play 2.2.1 built with Scala 2.10.2 (running Java 1.7.0_25), http://www.playframework.com 

The new application will be created in /Users/shekhargulati/dev/challenges/30days30technologies/day30/blog/getbookmarks

What is the application name? [getbookmarks]
>
Which template do you want to use for this new application?
  1             - Create a simple Scala application
  2             - Create a simple Java application
> 2
OK, application getbookmarks is created.
Have fun!
View Code

相关文章: