「 影化身科技 」 的後台的技術框架中 , 針對 Web 應用 / 服務 , 採用的是 Flask 這套應用框架 。 您也許會疑問 : 為什麼不使用較流行的 Django? 甚至為什麼選擇 Python? 山姆鍋在這篇文章會分享當初做這樣的決策的主要原因 。 EDIT: 2013/10/28: 雖然在某些情況下還會使用 , 但 Flask 以經不再是 「 影化身科技 」 主要的 web 應用框架 。

為何使用 Python?

認識山姆鍋的人都知道 , 我從事 Java 後台與 Web 應用開發多年 。 照理說 , 應該是要選擇 Java 相關的技術或框架 。 會選擇 Python 的主要原因是希望利用市場上現有的 PaaS 服務 , 其中最重要的是 Google App Engine。 使用 Java 平台 , 執行時期需要的資源相對較高 , 況且 「 影化身 」 並不使用傳統關聯式資料庫 , 像是 JPA/Hibernate 這樣的程式庫基本上是用不著 。 既不想用 Java, 也需要在 Google App Engine 上部署軟體 , 又希望能夠在其他 PaaS 開發 。 按照這個思路 ,Python 是很自然的選擇 。

為何選擇 Flask?

既然選擇 Python 作為主要 ( 在影化身 , 我們混合不同技術作開發與部署環境 ) 後端語言 , 下一步自然是選擇應用框架 。 過程就不細說了 , 山姆鍋選擇技術方案憑藉的絕對不會是最科學的方法 , 往往是因為喜不喜歡來決定 。 其實應該這樣說 : 只要能符合要求 , 其他就看個人喜好 。 對於 Web 應用框架 , 山姆鍋主要的需求如下 :

  • 支援 RESTful 服務 /API 開發 。
  • 可以根據需要選擇模組 。
  • 支援 Google App Engine。
  • 小而美 , 容易理解 。

這裡需要再說明一點 : 後端主要是要提供服務給前端客戶端 , 不會有複雜的用戶界面 。 不管過程是怎樣 ,Flask 作為 「 影化身 」 重要的技術框架之一已經是確定的事 。 山姆鍋對 Django 或其他框架不熟悉 , 沒有資格評論它們的優缺點 。 選擇 Flask 的很大原因 , 真的只是我比較喜歡 。 如果您是想找關於 Flask 的優缺點分析 , 抱歉讓您失望了 !