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,具體狀況後面會說明。java

1、Play的特性

1. Play2的模板引擎

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

2. 熱部署

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

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

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

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對測試的支持很是好。 app

8. 優秀的REST支持

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

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

相關文章
相關標籤/搜索