純Java框架
Play!是一個純Java實現的Web敏捷開發框架,工程的默認目錄結構如下:
構建在HTTP上
Servlet或者Struts之類的Java Web框架對HTTP API進行了抽象和封裝,Play!和這些框架的根本上的不同之處就在于Play!提供了對HTTP完全的訪問能力。
通過Router綁定URI到Java的方法:
GET???
/
clients
/
{id}???Clients.show
高效的模板引擎
我們喜歡JSP和表達式語言背后的思想,但為什么創建一個taglib需要配置這么多的文件,為什么不能提供對model的完全的訪問?JSP有太多的局限性,使用起來很麻煩,那么讓我們創建一個更好的模板引擎吧。
如果你想實現下面的JSP代碼的功能:
<%
@?taglib?uri
=
"
http://java.sun.com/jsp/jstl/core
"
?prefix
=
"
c
"
?
%>
<%
@?taglib?uri
=
"
http://java.sun.com/jsp/jstl/functions
"
?prefix
=
"
fn
"
?
%>
<
c:choose
>
????
<
c:when?
test
="${emails.unread?!=?null?&&?fn:size(emails.unread)}"
>
????????You've?${fn:size(emails.unread)}?unread?emails?!
????
</
c:when
>
????
<
c:otherwise
>
????????You've?none?unread?emails?!
????
</
c:otherwise
>
</
c:choose
>
你會喜歡上下面這種寫法:
You
'
ve?${email.unread?.size()??:?
'
none
'
}?unread?emails?!
Play!使用Groovy作為模板語言,這是一種和Java語法極為相似的語言,并且可以無縫的使用Java類庫,可以將其看作是動態的Java語言。
具有生產效率的Java
眾所周知,由于需要編譯、部署,Java平臺的生產效率比ROR這類動態語言平臺低很多。Play!的目標是盡可能的提高Java開發的生產效率。在開發環境下,Play!框架可自動編譯和重新裝載已改變的源文件。也就是說在保存源代碼的改變后,就能立刻通過刷新瀏覽器看到結果,不需要重新編譯、部署、重啟服務器。
Play! 具有優秀的錯誤報告功能。發生異常時,該框架會直接顯示出錯誤的源代碼,甚至是模板代碼。
?
Full-stack應用框架
Play!是一個full-stack Java Web應用框架,具有建立一個現代化網絡應用所需的一切:
-
通過JBDC支持關系型數據庫
-
使用Hibernate作為ORM
-
支持Memcache
-
支持JSON或者XML格式的Web服務
-
支持OpenID
-
圖片處理
API
- …
Play!的插件系統可以讓你重用其他系統的Java代碼、模板甚至JavaScript和CSS。
----------
Play With Play!系列目錄
http://m.tkk7.com/shinewang/archive/2008/12/25/248237.html