後端架構 Node
後端網頁架構 Express.js


Node.js

優點

  1. 使用JavaScript
  2. 前後端工程師使用語言一致
  3. 因為前後端都是JavaScript,如果需要把商業邏輯從後端搬到前端或從前端搬到後端容易
  4. 因為Firebase的限制,可能有些簡單商業邏輯需要搬到前端


Django

優點

  1. 實作多頁應用程式(Multiple Page Application)非常快
  2. 自動建好後端Admin頁面
  3. 使用Python,簡單容易上手語言


Rails

優點

  1. 實作多頁應用程式(Multiple Page Application)非常快
  2. 自動建好後端Admin頁面

缺點

  1. 使用Ruby,不是那麼普遍的語言
  2. 很多”magic”


GraphQL

優點

  1. 提高資料庫取回數度
  2. 提高後端API的彈性
  3. Zero to GraphQL in 30 minutes
  4. Lessons from 4 Years of GraphQL

缺點

  1. 無法控制後端如何被使用
  2. 提升前端使用後端的複雜度及不確定性
  3. Why use GraphQL, good and bad reasons
    1. HN Discuss: Why use GraphQL, good and bad reasons


主要考量因數

  1. 因為前後端都是JavaScript,如果需要把商業邏輯從後端搬到前端或從前端搬到後端容易
  2. 因為Firebase的限制,可能有些簡單商業邏輯需要搬到前端