為什麼 Flask 有那麼多的好評?
來源:互聯網
上載者:User
有說吸收了很多好的思想,誰能分析分析,最好能從通用的角度分析,不要局限在語言,架構上
回複內容:
Flask 的作者 Armin Ronacher 很早就開發了 Werkzeug 套件,用於開發高品質的 WSGI Application。後來推薦給 Bottle 作者的時候,Bottle 的作者非常執著於“單檔案”和“無依賴”,拒絕了使用 Werkzeug。再後來 Armin Ronacher 基於 Werkzeug 開發了 Flask,並且壓縮成了單個 py 檔案,算是黑 Bottle 的一個小玩笑吧。真正溯源,Bottle 和 Flask 應該都是模仿 Ruby 的 Sinatra 吧……
後來 Flask 獲得比 Bottle 更多的關注,個人推測是因為其開發和設計的實用主義作風。無論是 Unicode 支援(這塊在 Python 2.x 下還挺疼的)還是 Message Flash 這樣的小功能,Flask 都做的非常人性化。除此以外,可插拔的 Extension 機制和 Blueprint 等設計,都為項目從小發展到大的需求做了考慮。另外對於開發、測試 Web 應用程式中的一些優秀模式,Flask 維護團隊在文檔、郵件清單等處都非常努力地做了傳播。
其實就算拋開 Flask 不說,Werkzeug 本身也是一個高品質的庫。Flask 被開發出來,初衷也是展示如何用 Werkzeug 定製出一個 Web 架構。如果說要給 Flask 的設計多少多少好評,有木有想過這些好評也許是應該屬於 Werkzeug 的呢 <( ̄︶ ̄)>之前用過flask,大概來說,
一是看上去簡單,對於有編程經驗的人來說,上手很快。
二是文檔很好。
三是很多擴充看上去也很合理。
。。。
後來的時候,發現其實也不簡單,需要某些功能要使用外掛程式也是要學習成本的,而且文檔更分散。擴充的文檔有的也不那麼好,要去看源檔案,甚至連很常用的,flask-sqlchemy。有的擴充不太給力,比如flask-mail的master分支不能在gae上用。
使用flask感覺還是很愉快的,如果說是為了折騰是一個很好的東西。如果是為了生產,django更值得信賴。說一下我的使用感受,最初剛學python,先看的django,跟著官方文檔做例子,有點無腦,配置多一些。
後來,學習了flask,也是看的官方文檔,學的很舒服,微核心和可擴充對初學者也很有好處。
作為一名入門者,我覺得的,Flask更適合初學者,你可以自己實現一些功能,也可以使用豐富的擴充,這樣可以避免只會使用擴充,而不懂原理的問題,靈活性完全在你自己手裡。
還有,django和flask的文檔都超贊的說~
其他學習資料django要比flask學習多一些看過flask的入門文檔.
相對與django而言, flask的入門文檔簡直人性.
我看django的tutorial, 每次都有新收穫, 簡直了.
所以flask上手快, 看完入門指南能立即有思路.
看完django入門文檔, ... 呵呵
所以flask的學習曲線比django的要平滑很多. 這是很迷人的.
------------
但是我用的是django... =_= Django太大了,文檔說實話閱讀性挺差的。
Tornado文檔雖然也很不錯,但是全英文把很多人都拒之門外(包括一開始接觸Python架構的我)。
Flask文檔非常人性,先來個入門指南建立一下信心,而且初期用到的指南裡都提及了,架構雖然小,但是全啊,而且外掛程式多得可怕,即插式的外掛程式實在太方便了。
學到中途再讀Flask源碼的時候發現它源碼寫得實在良心,我一個第一次讀架構源碼的都能讀得不錯簡直是業界良心。
不過現在準備轉轉Tornado了,發現Tornado雖然造輪子是常態但是架構提供的都是核心功能呀,二者都是良心。至於Django嘛- -我真不喜歡這個架構。根據上面的回答小節,新手學習Flask、之後Django,然後Tornado,學以致用,技多鬼壓床1.開箱即用
2.低耦合
3.可擴充
4.文檔完善