play框架之簡介


Play Framework是一個開源的Web框架,背后商業公司是Typesafe。要介紹Play之前,首先理清Play的兩個不同的分支。 Play 1.x 使用Java開發,最新版本是1.3.1,只支持Java項目。從11年開始就進入了維護階段,新項目一般不考慮使用Play1。 Play 2.x 使用Scala和Java開發,同時支持Java和Scala項目。 這里主要介紹最新的Play2.4 for Java。有一點需要提前說明,雖然Play2主要由Scala開發,但是對於項目中的一般開發人員而言, 使用Play可以完全不懂Scala,具體情況后面會說明。

一、Play的特性

1. Play2的模板引擎

Play2的模板是很強大並且容易上手的. 相對於Java領域其他模板引擎(Freemarker, Velocity, JSP, Groovy, etc), 主要有三個特點.
1) 簡單易上手, 沒有JSP里面繁雜的內置對象和指令, 所有功能都通過方法調用完成.
2) 主流IDE中都支持Play模板的靜態類型檢查, 類似JSP.
3) 支持反向路由.

2. 熱部署

這個上面介紹過,不用重啟服務器。

3. 內置dev/prod環境,內置部署腳本

平常開發的時候使用run啟動Play,是跑在dev模式。 Play會定時掃描源碼目錄進行熱更新,並且類都是訪問的時候再加載,提高啟動速度。 使用start啟動項目就運行在prod模式。Play內置dist命令,可以把所有的文件打包成一個zip,解壓之后直接運行bin目錄下的可執行文件即可啟動項目,除了JDK之外無須任何其他外部依賴。 這大大減輕了運維成本,同時也能夠很方便的進行持續集成(CI)。

4. 使用Play開發的Server大部分能做到Stateless

這個之前也說過,Play拋棄了Servlet/JSP里Session等概念, 內置沒有提供方法將對象與服務器實例進行綁定(你要使用HashMap存的話Play也沒辦法)。 推薦的做法是使用外部緩存, 比如Redis, Memcached等。可能有人會覺得沒有Session是Play的一個缺點(Play里的Session和Servlet Session不是一回事), 但是只要你開發過流量大一點的應用, 你就會理解這點。

5. 好用的配置庫

如果你之前開發過Java項目, 肯定寫過**.properties或者管理過一大堆的xml。Java內置庫對properties文件的處理是很弱的,你不得不自己寫一些工具類去進行處理, 而且properties文件還不支持更復雜的語法。Play使用Typesafe Config庫,配置文件使用HOCON格式,默認配置文件為application.conf。 你能很容易讀取里面的配置, 並且你也可以把自己的配置寫在里面。所以項目中基本不需要使用properties或者xml文件了,除了第三方庫需要的。

6. Play插件

RoR框架之所以好用,主要原因之一就是圍繞RoR有相當豐富的插件可供選擇,很多業務功能甚至都不需要開發就能實現。Play的插件數量當然相對於RoR還是要少一些, 不過你遇到的需求基本都有現成的插件可以使用。比如發郵件, 授權和驗證, sitemap生成,第三方登錄等等。自己寫一個插件也很簡單。

7. 優秀的測試支持

因為Play誕生的時候TDD已經很火熱,所以Play對測試的支持非常好。 

8. 優秀的REST支持

Play2從誕生起就能很容易的支持RESTful風格的架構

轉載自:http://blog.csdn.net/u011225629/article/details/47971093


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM