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