這篇文章將為大家詳細(xì)講解有關(guān)Play Framework 2.0新特性都有哪些呢,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
目前創(chuàng)新互聯(lián)建站已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、揚(yáng)州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
Play Framework 剛剛發(fā)布了2.0正式版,來(lái)看看 Play Framework 2.0 的新特性介紹吧。
原生支持 Java 和 Scala
Play Framework 1.x 完全是采用 Java 編寫的,可通過(guò)插件來(lái)支持 Scala,而 2.0 版本已經(jīng)完全內(nèi)置對(duì) Scala 的支持,而且 Play 也首推使用 Scala 開發(fā)應(yīng)用,你可以同時(shí)使用 Scala 和 Java 來(lái)開發(fā) Play 應(yīng)用。
使用 Java 編寫的控制器
使用 Scala 編寫的控制器
快速引用開發(fā)
在 1.x 版本中,提供了 “Play feel” 基于控制臺(tái)的應(yīng)用發(fā)布和基于瀏覽器的錯(cuò)誤報(bào)告,而 Play 2.0 大大的擴(kuò)展了開發(fā)者執(zhí)行代碼片段、測(cè)試以及在運(yùn)行應(yīng)用上下文中執(zhí)行 SHELL 腳本的能力
Pushing Type Safety to a New Level
受益于靜態(tài)類型語(yǔ)言,編譯器可單獨(dú)對(duì)你的代碼中的某一部分進(jìn)行檢查,這也就是為什么 Play 2.0 默認(rèn)使用基于 Scala 模板引擎編寫 Play 應(yīng)用的原因。這并不是說(shuō)你必須是精通 Scala 才能辦到。但熟悉 Scala 對(duì)開發(fā) Play 2.0 應(yīng)用是很有好處的。
Play 2.0 在進(jìn)行編譯和類型檢查更加的深入,Routes (用來(lái)定義 URL 和 action 的映射), 模板以及資源可直接編譯 (使用 LESS, CoffeeScript 和 Google Closure compiler),提供了一個(gè)統(tǒng)一的開發(fā)流程,不管是客戶端開發(fā)還是服務(wù)器端。其結(jié)果是更多的錯(cuò)誤將在開發(fā)階段暴露出來(lái),加速開發(fā)的進(jìn)程,在多人參與的大項(xiàng)目中也跟易于管理。
route 編譯錯(cuò)誤檢測(cè)
玩得(Playing) 更爽Playing Nicely
Play 1.x 通過(guò) Play 特有的運(yùn)行環(huán)境來(lái)實(shí)現(xiàn)一些技術(shù),例如 Java類屬性以及類的熱加載。在 Play 2.0 中我們采用更加標(biāo)準(zhǔn)的方法做運(yùn)行時(shí)的發(fā)布,使得使用 Scala 編寫核心框架并在 SBT 上構(gòu)建變得可能。
Play 2.0 提供一個(gè)跟 Play 1.x 一樣簡(jiǎn)單的 “play new, run, start” 體驗(yàn),同時(shí)具有跟具可擴(kuò)展性的基礎(chǔ)框架。Play 2.0 提供一個(gè)預(yù)先配置的構(gòu)建腳本,使得 1.x 的大多數(shù)項(xiàng)目無(wú)需修改就可以在 2.0 中運(yùn)行。但如果你希望修改應(yīng)用程序的構(gòu)建和發(fā)布,你需要根據(jù)需要來(lái)定制適配器。
Pick and Choose
在最近幾年,Web 應(yīng)用技術(shù)發(fā)展非常迅速,Play 2.0 提供了一個(gè)很先進(jìn)的架構(gòu)可以讓你非常靈活的進(jìn)行功能定制。例如你不想使用數(shù)據(jù)庫(kù),那么你可以禁用 DBPlugin 插件;想使用你自己的模板引擎,沒問(wèn)題,用插件。你完全可以根據(jù)你的需要來(lái)決定 Play 提供的功能。
在 conf/application.conf 中禁用插件
透過(guò) Akka 實(shí)現(xiàn)靈活的伸縮性
Play 基于一個(gè)輕量級(jí)、無(wú)狀態(tài)、Web友好的架構(gòu),其特點(diǎn)就是可預(yù)測(cè)以及最小的資源消耗(包括 CPU、內(nèi)存和線程),特別適合用來(lái)開發(fā)高可伸縮性的應(yīng)用程序。這里部分要感謝 Akka 2.0。 Akka 是一個(gè)用 Scala 編寫的庫(kù),用于簡(jiǎn)化編寫容錯(cuò)的、高可伸縮性的 Java 和 Scala 的 Actor 模型應(yīng)用。
在本例中,你可看到 Calculator actor 映射到 Play 的非阻塞方式
上面你可看到 ChatRoomActor 使用 Comet 發(fā)送消息
高級(jí) I/O 和流處理
Web 開發(fā)一項(xiàng)非常重要的技術(shù)就是“推”和非堵塞技術(shù)。Play 2.0 使用一個(gè) Iteratee IO 實(shí)現(xiàn)用于實(shí)現(xiàn)對(duì)“推”和非堵塞支持,以及使用內(nèi)置的 WebSocket 和 Comet 來(lái)進(jìn)行進(jìn)行文件流處理。
一個(gè) Scala 控制器使用了內(nèi)置的 WebSockets 支持
Ready, Steady, Play!
你是否已經(jīng)準(zhǔn)備好了開始 Play 2.0 之旅呢?可以先看看 Play 2.0 提供的一些示例程序,然后再做決定 :)
你還可以看看如何開始 Play 2.0 開發(fā)。
Play!專題:拯救Java程序員的神器:Play Framework
您對(duì)Java開源開發(fā)框架Play Framework的理解 |
Java快速開發(fā),編程跟玩一樣簡(jiǎn)單! |
和其他框架差不多,沒有傳說(shuō)那么優(yōu)秀! |
很差勁,一直都不用! |
沒聽說(shuō)過(guò),我是來(lái)打醬油的。 |
關(guān)于Play Framework 2.0新特性都有哪些呢就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。