Play Framework 2.0 介紹
Play Framework 剛剛發布了 2.0 正式版,來看看 Play Framework 2.0 的新特性介紹吧。
原生支持 Java 和 Scala
Play Framework 1.x 完全是采用 Java 編寫的,可通過插件來支持 Scala,而 2.0 版本已經完全內置對 Scala 的支持,而且 Play 也首推使用 Scala 開發應用,你可以同時使用 Scala 和 Java 來開發 Play 應用。
使用 Java 編寫的控制器
使用 Scala 編寫的控制器
快速引用開發
在 1.x 版本中,提供了 “Play feel” 基于控制臺的應用發布和基于瀏覽器的錯誤報告,而 Play 2.0 大大的擴展了開發者執行代碼片段、測試以及在運行應用上下文中執行 SHELL 腳本的能力
Pushing Type Safety to a New Level
Play 2.0 在進行編譯和類型檢查更加的深入,Routes (用來定義 URL 和 action 的映射), 模板以及資源可直接編譯 (使用 LESS, CoffeeScript 和 Google Closure compiler),提供了一個統一的開發流程,不管是客戶端開發還是服務器端。其結果是更多的錯誤將在開發階段暴露出來,加速開發的進程,在多人參與的大項目中也跟易于管理。
route 編譯錯誤檢測
玩得(Playing) 更爽Playing Nicely
Play 1.x 通過 Play 特有的運行環境來實現一些技術,例如 Java類屬性以及類的熱加載。在 Play 2.0 中我們采用更加標準的方法做運行時的發布,使得使用 Scala 編寫核心框架并在 SBT 上構建變得可能。
Play 2.0 提供一個跟 Play 1.x 一樣簡單的 “play new, run, start” 體驗,同時具有跟具可擴展性的基礎框架。Play 2.0 提供一個預先配置的構建腳本,使得 1.x 的大多數項目無需修改就可以在 2.0 中運行。但如果你希望修改應用程序的構建和發布,你需要根據需要來定制適配器。
Pick and Choose
在最近幾年,Web 應用技術發展非常迅速,Play 2.0 提供了一個很先進的架構可以讓你非常靈活的進行功能定制。例如你不想使用數據庫,那么你可以禁用 DBPlugin 插件;想使用你自己的模板引擎,沒問題,用插件。你完全可以根據你的需要來決定 Play 提供的功能。
在 conf/application.conf 中禁用插件
Play 基于一個輕量級、無狀態、Web友好的架構,其特點就是可預測以及最小的資源消耗(包括 CPU、內存和線程),特別適合用來開發高可伸縮性的應用程序。這里部分要感謝 Akka 2.0。 Akka 是一個用 Scala 編寫的庫,用于簡化編寫容錯的、高可伸縮性的 Java 和 Scala 的 Actor 模型應用。

在本例中,你可看到 Calculator actor 映射到 Play 的非阻塞方式

上面你可看到 ChatRoomActor 使用 Comet 發送消息
Web 開發一項非常重要的技術就是“推”和非堵塞技術。Play 2.0 使用一個 Iteratee IO 實現用于實現對“推”和非堵塞支持,以及使用內置的 WebSocket 和 Comet 來進行進行文件流處理。

一個 Scala 控制器使用了內置的 WebSockets 支持
Ready, Steady, Play!
你是否已經準備好了開始 Play 2.0 之旅呢?可以先看看 Play 2.0 提供的一些 示例程序 ,然后再做決定 :)