Play Framework是一款非常好用的Java Web開發框架助手,Play 是一個真正的 "Share nothing" 的係統。適合 REST,通過在多台服務器運行同一個應用的多個實例,可以很容易地實現容量擴展。簡單明了的設計,開發效率很高!
Java 平台因為較低的開發效率,已經是聲名狼藉了,主要的原因就是重複和繁瑣的“編譯-打包-部署”的周期。
這就是為什麼我們重新對這種開發周期進行了思考,並且通過 Play 讓開發變得更有效率。
Play 框架自動編譯 Java 源代碼,然後直接熱加載到 JVM 中而不需要重啟服務器。你可以編輯代碼,框架自動重新加載,然後直接就看到修改後的結果,就像在 LAMP 或者 Rails 環境中一樣。
更有趣的是你可以根據自己的喜好,僅僅使用一個簡單的文本編輯器進行開發,而不需要使用功能齊備的 Java IDE。
當有錯誤發生時,框架會盡最大的努力,辨別並顯示出錯誤信息。
Play 甚至對 Java 堆棧跟蹤信息進行優化,以便幫助你更容易地解決問題。看看 Java 堆棧跟蹤是如何展示模板的執行過程的。
想想,你在一端有一個數據庫,另一端是一個瀏覽器,為什麼非要在兩者之間存在一個狀態呢?
基於有狀態和組件式的 Java Web 框架使我們很容易自動保存頁麵狀態,但是這帶來了很多其他問題:如果用戶打開了第二個窗口時會發生什麼?如果用戶單擊了瀏覽器的後退按鈕呢?
PHP,Ruby on Rails 和 Django 等許多 Web 應用框架促進了 無共享(Share Nothing) 架構的發展。隨著瀏覽器愈來愈強大,現在很容易使用 Ajax,或者離線存儲去解決客戶端的狀態問題。
我們不再需要為了在 web 上重建一個偽造的狀態而去 hack HTTP 模型。 無共享(Share Nothing) 的另一方麵好處是,可以更加容易地並行地渲染頁麵的各個部分,更容易地是實現頁麵局部更新(漸進式增強)。
從 HTTP 到代碼的映射
如果你使用過另外一種 Java Web 框架,例如 Servlet API 或者 Struts 框架,那麼你已經看到了一個把 HTTP 協議和 Java API 以及一些奇怪的概念關聯起來的抽象體係。Play 和它們想的不同,一個 Web 應用框架應該讓你可以完全地直接地訪問 HTTP 協議,這是 Play 和其他 Java Web 框架的一個根本性區別。
HTTP 協議,請求/響應模式,REST 架構風格, 內容類型(content-type)協商 ,統一資源標識符(URI) 都是 Play 框架涉及的主要概念。
例如,綁定一個 URI 模式到 Java 調用隻需要這樣一行:
GET /clients/{id} Clients.show
如果 Ajax,REST 風格和在頁麵之間維護前進/後退操作,是你在日常的 web 開發工作中需要麵對的問題,那麼請給 Play 一個機會吧。
140.5M / 09-05
76.4M / 03-25
55M / 06-05
237.9M / 04-13
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
484.7M / 09-27
165.4M / 09-05
353.9M / 06-05
131.8M / 04-13
195.6M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
110.5M / 09-05
33.4M / 09-05
325.8M / 08-12
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
369M / 09-22
181.5M / 09-22
201.2M / 09-05
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
126.7M / 02-04
1.76G / 09-22
1.92G / 04-17
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
561.8M / 07-11
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06
132M / 07-06