Flask 是怎么诞生的?

Posted 编程派

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask 是怎么诞生的?相关的知识,希望对你有一定的参考价值。

愚人节笑话很少有成真的,毕竟那只是一时娱乐而已。但同样的话,对于开发者社区来说或许有例外。

据Python官方维基介绍,Python社区中有着优良的愚人节传统,其中一个特别明显的例子就是PEP 0401 -- BDFL Retirement,说的就是Python发明者Guido van Rossum决定让出终生仁慈独裁者(BDFL)的位置。(不过这个 PEP 在去年也已经成为一个事实了。

当然,上面这个愚人节笑话并不是我们要说的例外。本文的主角是Python Web开发微框架Flask。没错!Flask就是诞生于于作者 Armin Ronacher 9年前的一个愚人节笑话。

目前,Flask在Github网站上已经获得4万多个Star,已经跻身主流Python Web开发框架之列,这或许可以说是开发者社区最成功的愚人节笑话。

对于自己有开源项目的开发者来说,本文或许也能为你提供一些项目推广方面的启示。

Denied:Flask 的前身

据Armin在博客中的介绍,当时他注意到微框架开始流行,出现了很多类似web.py(Python)和camping(Ruby)的微框架。这些框架都没有外部的依赖包,而且只有一个文件,似乎特别受大家欢迎。所以他决定自己也开发一个这样的框架,娱乐一下。

因为目的只是作为愚人节笑话,所以他只是利用现有的技术,将Werkzeug、simplejson和Jinja2打包进了一个文件,并添加了一些胶水代码。最终的产物就是一个名叫Denied的微框架。

Flask 是怎么诞生的?

Flask的前身Denied,愚人节笑话

为了让这个笑话更加可信、看上去更真实,他请人录制了一个视频,上线了一个网站,还找了几位知名Python开发者为这个框架背书。愚人节当天,Armin通过Twitter发布了Denied。

Flask 是怎么诞生的?

Armin Ronacher关于Denied的推文

开发者社区对此的反应出乎意料。Armin在4月3日总结此事时提到,视频三天内被下载了1万次,网站点击量超过5万。而且转推数量远远超过之前自己的纪录。

Flask 是怎么诞生的?

Denied在发布时的网站界面

可惜,我没有找到当时录制的那个视频。

Denied的成功有什么启示?

据Armin Ronacher在2011年的PyCon的分享,他从那次愚人节笑话中学到了以下几点:

  • 没人有时间去充分测试这个框架并阅读代码

  • 营销胜过质量

  • 功能并不重要

  • 不一定要是新东西

当然,这并不是要推荐你不去测试代码;市场营销和高质量代码也并不冲突

另外,在项目网站上提供一些小块代码段特别有作用。作者此前的Werkzeug提供的示例非常复杂,Jinja2甚至没有相关代码示例,必须要看文档才能了解大致的情况。

宣传项目时要大胆。很少有人会马上去检验你的说法。

Flask 的诞生

开发者们对这个项目的极大兴趣,促使Armin最终决定重新造轮子(reinventing the wheel),2010年4月6日在Github上发布了Flask。

Flask 是怎么诞生的?

Flask项目的第一次提交

他后来解释了自己开发Flask的两大原因:

  • 灵活性更高,应用可能要求一些现有框架没有的东西

  • 可以自己掌握全局,快速解决遇到的问题

最终的框架使用起来非常简单。用Flask开发的“Hello World”应用可能是下面这样的:

Flask 是怎么诞生的?

使用如此简单,那么Flask今天的成功就不难解释了。

回复下方「关键词」,获取优质资源


回复关键词「 pybook03」,可立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「pybooks02」,可立即获取 O'Reilly 出版社推出的免费 Python 相关电子书合集

回复关键词「书单02」,可立即获取主页君整理的 10 本 Python 入门书的电子版











以上是关于Flask 是怎么诞生的?的主要内容,如果未能解决你的问题,请参考以下文章

Flask-SQLAlchemy

flask强大的第三方组件之falsk-sqlalchemy

Flask快速入门与进阶

Flask入门很轻松

一个web应用的诞生

python常用框架之一 Flask 初识Flask