您好,登錄后才能下訂單哦!
《Flask Web開發》
《Flask Web開發 基于Python的Web應用開發實戰》
《Flask Web開發》是否適合新手入門Python Web開發?
《Flask Web開發 基于Python的Web應用開發實戰》,O'Reilly"動物書系列"的"狗書",應該是很多Flask初學者被推薦使用的入門書,但是這本書真的適合初學者嗎?
Python的Web框架非常多,例如Django、Flask、Tornado、Web.py,Tornado沒有接觸過,無法評價,Django一般都會和"重型"聯系在一起,很少會直接推薦給初學者,Flask和Web.py都屬于輕型框架,網上有人將Flask與Web.py對比,有一篇很有意思的Blog有興趣的可以去看一下關于Flask和web.py的一句話比較(很老的blog),孰優孰略有請各位自行選擇。
值得一提的是微信公眾平臺的入門教程文檔,就是基于web.py編寫的
這里要吐槽一下微信公眾平臺維護文檔的團隊,能不能別出這么級的錯誤......
《Flask Web》開發是我Web開發的入門書,在第一版的時候就買了,后來書出了第二版,也買了第二版。這篇Blog的重點不是討論Flask框架,而是討論這本書本身,如果你選擇學習Flask,以下意見對你才有意義。
直接拋出結論::這本書并不適合初學者,或者說,"現在"不適合了。
這個結論是基于以下幾個原因
以上原因其實有些是有點吹毛求疵的,但是這些觀點的出發點是兩個:"對于初學者" and "想快捷搭建簡單web服務的開發者"。
這個問題的答案我不得而知,但起碼在我心里,模板渲染是"過時的老東西",因為當下流行的是前后端分離,是React、Vue、Angular三大前端框架,而不是還需要后臺操控的模版渲染。
Flask與Jinja2幾乎總是被同時提起的,這本書實現的項目的整體思路都是基于Jinja2模板引擎的,這在這本書發行期是沒任何問題的,但是現在前端技術的發展已經讓這本書的內容跟不上了,現在提倡的是"前后端分離",前后端通過Rest API交互。
我個人是直接放棄了模板渲染,直接從Vue入手的前端技術。
《Flask Web開發》一個很大的特色點就是整本書就是一個項目,完成了整本書的教程,就是完成一個博客系統,就像書評說的一樣,相比于只講解零散代碼的其他書籍,這無疑是很好的。但,"第六章電子郵件"必是一道坎,因為書中的內容是基于Gmail的....眾所周知的原因,我們無法使用Gmail提供的SMTP服務,甚至無法登陸Gmail,初學者必然需要在網上找尋替代解決方案(我當時是找的126的SMTP服務替代)。
為什么是必然呢?跳過這一章不行嗎?因為這本書的內容一環扣一環,不把這個問題解決,后續的內容就無法推進,對于初學者,答案明顯是不行,這是學到一定地步才能做到的。
至于后面第17章國內很少使用的云平臺就更不提了
這可能是最奇怪的一個原因,"系統"點難道還錯了?當然沒錯,但是還是那個原因,不適合初學者。在我看來初學者能編寫視圖函數,操作ORM,學會使用鉤子,配置跨域,已經能夠完成一個簡單的web應用了。而數據庫遷移、工廠函數、藍本、單元測試等,不是一個初學者能hold的住的內容?但是這些知識在書中是交叉進行,并且從第二部分開始強制全部內容都是基于工程化結構(工廠函數、藍本等)進行的,這里我在初學時是直接被勸退了的。
即使跳開初學者這一原因,就現在而言,我也不是很喜歡使用Flask的工程化結構,為什么?這可能需要先明確一點,"我為什么要使用Flask?",因為輕便,快捷。我選擇Flask不是為了開發一個商用工程項目(如果是這個目的肯定就用SpringBoot了),而是為了快,短時間內完成一個POC,或者在學習集群等技術時構建一個簡單的服務,這些需求往往只需要幾十行代碼就能完成,為什么要自找麻煩的使用工程化的目錄結構呢?
最近寫的自己的博客系統雛形,配置跨域、視圖函數,ORM,基于web token的登陸管理,也才不到140行
所以這本書的正確打開方式是什么呢?
我個人看來,這本書第5章之前的內容(前60頁,整本書約200頁)是初學者可以看的,會有很多重要概念,但是再往后的,只推薦第14章,比較矛盾的點是第14章是基于工程化結構編寫的,直接看會有一些難度......所以現在這本書在我手里等價于一本工具書,需要的時候翻閱需要的章節,而且大部分時間需要再處理一遍示例代碼才能使用,但是從始至終,這本書我都沒有系統從頭看到尾.
以上內容,希望能給想要以此本書的入門Flask的人一點用處。
####
要獲取更多Haytham原創文章,請關注公眾號"許聚龍":
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。