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