Play Framework VS Vert.x


Play目標是提供一個完整的Web App框架,有以下幾個特色



  1. NIO(Base on Netty未來會改用Akka HTTP server)
  2. stateless(將資訊保留在cookie,使用簽名防止竄改)
  3. 有自己的template engine
  4. 開發hot reload流程
  5. 支援Java與Scala(對Scala支援度較好)
Vertx類似Node.js的分散式Server工具包,特色是
  1. 也是NIO(Base on Netty)
  2. 支援多語言Java, JavaScript, Groovy和Ruby.(但還是Java支援度較好)
  3. 整合分散式的概念與工具
  4. 提供開箱即用的驗證與授權機制
  5. 有不少官方維護的asynchronous database clients
感覺兩套好像差不多?沒有決定性差異?想往Scala => Play 沒有 => Vertx
只想專注在Web產品上? Y => Play ,N => Vertx
Play是框架,Vertx是工具,Vertx提供很多開箱及用的工具讓你可以去組合,Play是核心會幫你兜好好,你不需要擔心裡面的實作,用就對了。ex:Play的新版本正在計畫從Netty搬到akka-http,但對Play的使用者來說,就是跟著官方升級(遷移)就好,不用太花心力在細節實作上。
自己是一開始玩play現在玩vertx,下面的效能測試,沒很嚴謹,僅供參考

Play回傳hello world

Vertx回傳hello world

標準參考
https://www.techempower.com/benchmarks/#section=code&hw=peak&test=fortune

留言