返回介绍

推荐序四

发布于 2025-04-20 18:52:12 字数 1638 浏览 0 评论 0 收藏

说起来给《Python Web 开发实战》一书写序还真是很突然。2016 年 5 月 30 日,我突然被拉到了一个微信群里,正觉得纳闷的时候,看到群里 Zoom.Quiet 的介绍,才知道是怎么回事。原来《Python Web 开发实战》已经基本成书,让大家看一看。对于本书的作者董伟明,我们没有在线下交流过,但是对 Python 的热爱时不时地会把大家通过某种方式吸引到一起。这是一本原创图书,从书名来看是和 Web 相关的,而 Web 领域正好和我的兴趣以及平时的工作相关。作为一个开源 Web 框架的开发者,自然对 Web 开发的内容比较感兴趣,借由此书正好可以了解一下别人是如何理解以及如何实践 Web 开发的,更何况作者还是豆瓣的工程师,因此对书的内容还是有一些期待。

经过一番阅读之后,我与伟明交流了一些看法,他给予了详细的解释与说明,我对他的写作思路也有了一些了解。对 Web 开发的理解其实可以有很多角度,比如,从开发者的角度,这就会更多从具体的功能实现、框架使用来看待;从运维者的角度,会更多地从部署、维护、平台的角度来理解;从测试及质量的角度,会关心代码的测试性及代码审查;从框架开发者的角度,就要了解 Web 开发涉及哪些领域,每一领域应该用什么技术与工具来组织,不同领域又如何通过某些框架来有机地结合在一起。仅凭一本书,想完全满足所有人的需求是非常困难的。

阅读本书,我最大的感受就是:全和新。

全指的是内容覆盖面较广。原本我以为作者会主要讲 Flask 框架的开发,但其实 Flask 框架在本书中的比重并不大,反而是与 Web 相关的开发技术的介绍占了大部分的篇幅,甚至也包含了部署以及 Python 本身的一些特性和工具。对此我也有疑问,并向作者咨询。Web 开发的概念其实太大了,不同的角度可以有不同的理解。比如我们常说的 Web 框架,其实绝大部分都只涉及展示相关的开发,所以应该更精确地称之为 Web 展示框架或 Web 应用框架。但是它很有可能依赖底层的批处理、大数据处理等技术,这些虽然不能算纯粹的 Web 技术,但是却可以放在 Web 开发这一概念下。因此如果把每一块与 Web 开发相关的内容都写出来,那么本书的厚度就可想而知了。所以作者是从个人实践的角度出发,把他所理解的与 Web 开发相关的技术尽可能全地,并且尽可能用更多的实例来讲述。之所以我会有“全”这个感受,因为书的内容涉及了 Web 框架、Ajax 的前后端交互、测试、数据库、数据分析、服务化、部署、系统管理、常用工具等内容,有点百科全书的意味。

为什么说“新”,因为书中讲的许多东西都是现在正在流行的技术或工具,像 Flask、Celery、Jupyter、Supervisor、SaltStack、Pandas 等。其中有些我还是第一次接触,说明作者平时接触的内容的确非常丰富,同时也结合了豆瓣的一些具体的实例,这样会更有借鉴意义。

全书的难度不是很大,内容广泛全面,不过因为篇幅所限,对于前端的技术介绍得不多,有些章节可能描述也不是太细。不过前端技术虽然也算是 Web 开发技术,但是与 Python 的关系就不那么紧密了,本书毕竟是一本 Python 相关的书,所以涉及不多也是正常的。而且许多具体的技术本身内容都很丰富,也绝不是短篇幅可以说清楚的,所以反而有个基础性的介绍,在需要时自行学习可能更好。因此本书比较适合对于 Web 开发有一定了解,但是希望了解更多 Python Web 开发技术的读者。

非常感谢作者把自己的经验分享给大家。

李迎辉

Python 开源资深行者

Python-CN 邮件列表创建人

UliPad 和 Uliweb 作者

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。