今年自己在網站開發方面做了很多改變。
第一件是Domain name續約並全面採用 gasolin.idv.tw 系列網址。
本如部落格網址可由 blog.gasolin.idv.tw 連結,
Android書籍/應用相關訊息可由 android.gasolin.idv.tw 連結。
第二件是使用的網頁框架改變。
個人的首頁 www.gasolin.idv.tw 仍然架在Google App Engine上頭,
但背後使用的技術,也從Python based的 GAEO ,改為使用Java based的 Play! Framework。
使用 Play! Framework 的好處是它並不像GAEO一樣完全捆綁在Google App Engine上,而是隨時可以搬離GAE獨立運作。
再者Play!的專案架構和使用方法很接近TurboGears、Django等現代的網頁框架,因此熟悉現代網頁框架的開發者應該能很快地上手。開發的時候可以在本地端開發,而且修改後的結果也能即時自動編譯並顯示,用起來非常接近使用動態語言開發的使用經驗。(Play!的命令行工具是用Python寫的:))
Play! 的另一個好處是有很好的模組(Module)架構。要將網站發佈在Google App Engine上時,透過GAE模組和搭配Siena(提供ORM層)、crudsiena(提供自動Admin管理頁面)模組,可以不被Google App Engine的一堆限制所制約,從而得到完整的開發經驗。
Play! 的官方網站上有很齊全的文件可供參考。所謂的「齊全」到了什麼地步呢?
除了簡介、教學、模組介紹之外,甚至還有cheatsheet !
要從頭開始建立一個Play網頁程式到發佈在GAE,要做以下6幾點
1. 建立專案
$ play new [project name]
2. 安裝相關模組
執行
$ play install gae-版本
$ play install siena-版本
$ play install crudsiena-版本
3. 修改模組依存關係
進入專案目錄, 修改 conf/dependencies.yml 檔案
# Application dependencies
require: - play -> play [1.2.1,)
- play -> secure
- play -> siena [2.0.0,)
- play -> crudsiena [2.0.0,)
- play -> gae 1.4
4. 自動檢查模組依存關係
執行
$ play deps
5. 修改GAE相關設定
根據GAE模組提供的文件做相應的GAE發佈設定(指定要deploy的GAE代號)
6. 發佈
執行
$ play gae:deploy --gae=[app engine java sdk path]
如此即完成整套使用Play! + Google App Engine 的配置流程。
Update 2011/7/20: 在Taipei GTUG活動中和大家分享了Play! on GAE的相關經驗,並公開投影片

3 意見:
Hi gasolin,
您文章中的最後一段
"...甚至還有chearsheet !"
似乎是 cheatsheet 的打字錯誤呢!
P.w
Peter wolf: 謝謝指正,已修改 :)
Post a Comment