《Flask Web开发 基于Python的Web应用开发实战》简评

指路牌

《Flask Web开发》 《Flask Web开发 基于Python的Web应用开发实战》 《Flask Web开发》是否适合新手入门Python Web开发?前端

正文

《Flask Web开发 基于Python的Web应用开发实战》,O'Reilly"动物书系列"的"狗书",应该是不少Flask初学者被推荐使用的入门书,可是这本书真的适合初学者吗?web

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原创文章,请关注公众号"许聚龙":

个人微信公众号
相关文章
相关标签/搜索