跳到主要內容

Play Framework 2 簡介經驗

最近在玩這個框架,感覺寫起來是容易的,但版本間的差異真的很需要注意…
在2.2版本使用了某社群元件,但又因FB強制升級為2.0版認證,所以社群元件需要升到最新版本(剛好在2.2版本的社群元件又是最後一版…)
新版的社群元件又是為2.3、2.4寫的… 2.2的設定檔剛好又不相容… 雖然還是可以解決,但就是麻煩,有種被強姦的感覺…,大概寫到這應該就沒人想要用了吧!(但還是絕對值得使用)

自已覺得未來應該不會再有這麼大的變動了…

Play還是個很好的選擇,對Java User來說,自己寫了PHP許久,用了像Yii 等的框架,到了Yii2引入了Namespace 後,真的也開始變複雜了… Play 也是Namespace的問題比較多,但又加上框架的API有更動,升級才有難度…

不過2.4最主要還是為了支援Java8才有這麼大的變動吧…
https://www.playframework.com/changelog

另外升級到2.4 想要創造 2.3的Template也有困難,不過解決方案就是,線上有,去抓

附上參考的templates路徑
http://www.typesafe.com/activator/templates

但整高來說工作上是容易的。

如果你想要建立2.3版本的template,可以參考下面的網址

http://www.typesafe.com/activator/template/play-2.3-highlights

下載zip檔,或這樣做

activator new PROJECTNAME play-2.3-highlights
(要直接下activator指令需要先安全activator,如果你只是想先測試,下載zip檔,再目錄下執行activator run即可,應該都有隨zip附activator,unix like請記得指令是./activator run,即可在 http://localhost:9000 看到內容)

如果你找的到seed字眼的template,內容會更乾淨一點。

整體的文件可以在這裡找到
https://www.playframework.com/documentation/2.4.x/JavaHome
https://www.playframework.com/documentation/2.3.x/JavaHome

由於2.4版本較新,資源正在建立中… 開發還是先以2.3.9吧…

整體來說就是 「快速的Web框架」


使用http方式介接服務
https://www.playframework.com/documentation/2.1.1/HTTPServer

有些人問到,如果是以 activator 來做http服務,怎麼做叢集,我說,編譯成 war 在run在 tomcat 呀(還沒實做過,但規格上是相容於ap server)
https://github.com/play2war/play2-war-plugin
https://www.playframework.com/documentation/2.3.x/ProductionDist


留言

這個網誌中的熱門文章

一個上帝、狼、獅子和羊的故事

上帝把兩群羊放在草原上,一群在南,一群在北。 上帝還給羊群找了兩種天敵,一種是獅子,一種是狼。 上帝對羊群說:「如果你們要狼,就給一隻,任由牠隨意地咬你們,但狼比獅子瘦弱且食量少。 如果你們要獅子,就給兩頭,但你們可以在兩頭獅子中任選一頭,而且還可以隨時更換。」 這道即將考驗你的問題,就是「如果你也在羊群中,你是選狼呢?還是選獅子?」 依照你的直覺,應該很容易選擇吧?很好!現在起,務必牢牢地記住你的選擇,然後往下接著看。 南邊那群羊想了想,獅子比狼兇猛得多,還是要狼吧!於是,牠們就要了一隻狼。 北邊那群羊則想,獅子雖然比狼兇猛得多,但我們有選擇權,還是要獅子吧!於是,牠們就要了兩頭獅子。 那隻進了南邊羊群的狼,即刻開始吃羊。狼身體小,食量也小,一隻羊夠牠吃幾天了, 如此羊群幾天才被追殺一次。北邊那群羊挑選了一頭獅子,另一頭則留在上帝那裡。 而進入北邊羊群後的獅子,不但比狼兇猛,而且食量驚人,才開始吃羊, 就每天至少吃一隻羊,所以羊群天天都驚恐萬狀地被追殺。北邊的羊群趕緊請上帝換一頭獅子。 不料,上帝保管的那頭獅子太久沒吃,正飢餓難耐,牠撲進羊群,比前面那頭獅子咬得更瘋狂。 羊群一天到晚只是逃命,連草都快吃不成了。 南邊的羊群慶幸自己選對了天敵,又嘲笑北邊的羊群沒有眼光。 北邊的羊群非常後悔,向上帝大倒苦水,要求更換天敵,改要一隻狼。 上帝說:「天敵一旦確定,就不能更改,必須世代相隨。請認清現實,你們唯一的權利,是在兩頭獅子中做選擇。」 北邊的羊群只好把兩頭獅子不斷更換。 可是兩頭獅子同樣凶殘,換哪一頭都讓北邊的羊群比南邊的羊群悲慘得多,牠們索性不換了, 讓一頭獅子吃得膘肥體壯,另一頭獅子則餓得精瘦。眼看那頭瘦獅子快要餓死了,羊群才請上帝換一頭。 這頭瘦獅子經過長時間的飢餓後,慢慢悟出了一個道理──自己雖然兇猛異常,一百隻羊都不是對手, 可是自己的命運卻操縱在羊群手裡,羊群隨時可以把自己送回上帝那裡,讓自己飽受飢餓的煎熬,甚至有可能餓死── 想通這個道理後,瘦獅子就對羊群特別客氣,只吃死羊和病羊,凡是健康的羊牠都不吃,令羊群喜出望外。 所以有幾隻小羊開心地提議:「乾脆固定只要瘦獅子,不要肥獅子。怎樣!?」 一隻老公羊馬上提醒:「別忘啦!瘦獅子是怕我們送牠回上帝那裡挨餓,才對我們這麼好。 萬一餓死了肥獅子,我們將...

透過 Docker 快速建立 openvpn 伺服器

此docker install安裝適用 ubuntu 16.04 18.04 如果已安裝docker-compose 那任何linux環境都可以使用 sudo apt update && sudo apt install -y curl vim curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo adduser   "$USER"   docker sudo reboot 然後再登入一次 接下來有安裝docker-compose 的機器都適用 nano docker-compose.yml OR vi docker-compose.yml -------請輸入以下內容 services:     openvpn:         container_name: openvpn         image: kylemanna/openvpn         volumes:         - ./data:/etc/openvpn         devices:         - /dev/net/tun         ports:         - '1194:1194/udp'         cap_add:         - NET_ADMIN         restart: always         sysctls:           net.ipv6.conf.all.disable_ipv6: 0       ...

完美同盟/Perfect League

完美同盟/Perfect League 時間  20-30MIN 人數  4 OR 6人 年齡  6歲以上 類型  卡牌 機制  Co-operative Play 合作遊戲、Hand Management 手牌管理、Memory 記憶、Trick-taking 牌組搭配 設計師  Way Of Change、ALex Tseng 美術  Tanner Lai 編輯  Bountiful Living 出版年 2016 遊戲基本介紹 想認識新朋友 (異性朋友),不可或缺的必備良藥! 3回合內玩出默契與互動,兩人一組充足的互動特性,讓原本尷尬與陌生的新朋友變的熱絡,在遊戲回合後自然而然讓兩人有更多的討論。 遊戲規則介紹 這是一款兩個人一組的默契遊戲,經由與隊友交換手牌,組合桌上公牌,搭配出最大牌型決勝負。遊戲過程主要是選牌(宣告)、交換手牌、出牌、組合牌型 四個步驟來進行,反覆直到有隊伍取得10分獲勝。 [ 準備階段 ] 4人遊戲時,先將特殊牌(花朵圖案)挑出,然後每人發11張手牌及2張特殊牌,同組玩家對坐且左右兩邊為其他Team的玩家 [ 回合開始 ] 回合開始時在場上開啟三張公用牌 [ 宣告(選牌) ] 參考桌上公牌,思考最佳牌組組合,起始玩家及起始玩家右手邊的玩家,需要選擇要選2張或是1張公牌來組合牌型,被選過的牌,另一隊也可以選擇。 [ 交換手牌 ] 選擇1張公牌的隊伍可以跟同伴交換3張手牌,選擇2張的隊伍只能交換1張手牌,藉由交換手牌暗示隊友如何出牌,過程不可提示牌組相關的訊息。(註:特殊牌不能交換) [ 出牌 ] 從起始玩家開始,順時針每人輪流出1張牌,每人需出2張牌,與隊友在桌上選好的公牌搭配(選2張的隊伍,可以選1張或2張公牌組合),組合成最大的5張牌牌組與敵隊比大,結算後含公牌(不含手牌)放入棄牌堆。 [ 結算 ] 每回合獲勝隊伍會得到2顆鑽石,第二名會得到1顆,1顆鑽石代表1分,紅寶石代表5分,可自行決定達標獲勝總分,培養最佳默契。(註:使用剩餘的牌繼續下一回合遊戲,最後剩3張(含特殊牌)遊戲結束。) 遊戲特別之處 1.只要10分鐘,將尷尬化為無形,就是這個遊戲最強的特別之處! 2.利用交換手牌加深...