iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 28
0

倒數三天才討論這個主題有點奇怪,坦白說還真的差點忘了之前還沒有做這樣的比較。雖然說Phoenix與Rails高度相似,但也不是說這個主題完全沒有可說明之處。

說老實話,就以我這幾天使用Phoenix寫購物網站的心得,扣除掉執行效能不說,Rails在開發效率上還是比較優秀。畢竟是寫rails慣的人,在很多地方都可以感覺到Phoenix的不成熟。畢竟目前框架還在很年輕的初期階段,Rails也是3以後才比較穩定。

最大的證據,就是1.3與1.2.x版本的不協調。前幾篇文章都有提到升級到1.3以後的幾個主要變化:

  • 指令變更且不相容:phoenix改為phx,但兩者並存且phoenix.newphx.new會有不同的效果(產生不同版本的專案)。
  • 舊版本的一些指令與結構消失,如mix phoenix.gen.model,在1.3以後沒有model了
  • 不只沒有model,連web的位置結構也變更

另外還有一些我覺得不足的部分:

  • 缺少單獨產生model、controller的指令,只留下mix phx.gem.html
  • 產生結構時,沒辦法選擇路徑(例如在scope下)
  • schema需要手動自行更新,而且與migrate指令脫鉤就失去的顯示資料庫真實結構的意義

雖然號稱要解決開發友善與框架效能的問題,但坦白說前者並沒有做的比Rails更好,實在相當可惜。現階段社群不像Rails一樣蓬勃發展可能也是原因之一,總之隨著越來越多人投入改善,或許到Phoenix 5以後也會流暢與成熟,但似乎沒辦法等到那時才考慮要不要繼續使用它呢?

總得來說Phoenix是一個相當不錯的框架,執行效能上對比Rails、Django、Laravel都能輕鬆取勝,但要說最快,也並非Go的敵手。我想未來的解決方案勢必還是在開發效能與執行效能的天平間試著取得平衡點,Elixir 的Phoenix是一個不錯的嘗試。但對我個人而言,畢竟我不容易碰上執行效能的瓶頸,相較之下我還是想要愉快的開發下去XD


上一篇
Phoenix起步走:建立一個購物網站--Bootstrap
下一篇
Phoenix起步走:建立一個購物網站--購物車
系列文
新時代的網頁框架比較-- 淺談Rails、Django、Phoenix、Laravel31

尚未有邦友留言

立即登入留言