「影化身科技」的後台的技術框架中,針對 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 的優缺點分析,抱歉讓您失望了!