愚人节笑话很少有成真的,毕竟那只是一时娱乐而已。但同样的话,对于开发者社区来说或许有例外。据Python官方维基介绍,Python社区中有着优良的愚人节传统,其中一个特别明显的例子就是PEP 0401 -- BDFL Retirement,说的就是Python发明者Guido van Rossum决定让出终生仁慈独裁者(BDFL)的位置。

当然,上面这个愚人节笑话并不是我们要说的例外。本文的主角是Python Web开发微框架Flask。没错!Flask就是诞生于于作者Armin Ronacher六年前的一个愚人节笑话。目前,Flask在Github网站上已经获得近2万个Star,已经跻身主流Python Web开发框架之列,我认为或许可以说是开发者社区最成功的愚人节笑话。对于自己有开源项目的开发者来说,本文或许也能为你提供一些项目推广方面的启示。如果你正想学习Flask ,这篇文章不容错过,带你了解Flask的前世今生。

Denied:Flask的“前身”

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

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

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

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

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

Denied的成功有什么启示?

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

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

营销胜过质量

功能并不重要

不一定要是新东西

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

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

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

Flask诞生

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

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

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

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

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

from flask import Flask

app = Flask(__name__)

@app.route('/')def index():

return 'Hello World!'

if __name__ == '__main__':

app.run()

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

原文来自:编程派

愚人节最伟大的笑话---Flask相关推荐

  1. di-tech2016_2016年Tech最佳愚人节笑话

    di-tech2016 Our open source community tossed around some ideas for April Fool's jokes. But after we ...

  2. 分布式 DB 愚人节笑话一则

    写这篇文字的时候,其实心里是扭曲的,其实在想要不要写,要不要写,要不要写,半夜3点起来写,也是有病. 重要的事情说三遍,不要问是哪个数据库,不要问以前在哪里,不要问是哪个数据库,不要问以前在哪里,不要 ...

  3. 昨天愚人节,互联网大厂都恶搞了啥?

    作者 | 阿木&伍杏玲 出品 | CSDN(ID:CSDNnews) StackOverflow"被黑"了? 昨天阿木刚到公司,按照惯例先打开电脑浏览下StackOverf ...

  4. 【愚人节小程序】Java Swing的简单使用

    我们使用Java Swing图形用户界面库来创建我们的小程序,当用户单击一个按钮时,程序将弹出一个警告窗口,当用户按下"执行"按钮时,窗口上将出现一个愚人节笑话. 下面是一个实现此 ...

  5. 愚人节的希腊神话传说

    当一天"傻瓜" --愚人节 每年的4月1日,是西方某些国家人民最开心的日子.在这一天,人们可以充分发挥自己的想象力,尽可能编造出一些耸人听闻的谎言,去调侃.哄骗.取笑.愚弄别人.只 ...

  6. 愚人节导入_您是否发现了这些愚人节愚人节的插科打??

    愚人节导入 昨天对科技编辑而言是令人讨厌的一天. 每年4月1日,可信赖的消息来源都会泛滥成灾,突发新闻的色彩令人怀疑,到了下午3点,即使是最有说服力的作品也开始显得可疑. 对于其他人,虽然,这是一个互 ...

  7. 愚人节看到的两则IT界的玩笑

    昨天愚人节,看到了两则愚人节的玩笑 ,很好,很强大.... 1.SpringSource宣布被微软收购(http://www.infoq.com/cn/news/2008/04/microsoft-s ...

  8. 贴上一篇愚人节写的随笔,有点乱,将就看

    突然很想写点东西,今儿周一,愚人节是周末.坐在办公室里,忙完了手中零散的活.听着周围人的闲聊,突感一阵迷惘!之前心中有念,升艺而匹金,现今莞尔,不觉无语.这和老师曾言,君当努力,然以搬砖,岂非同理?殊 ...

  9. 谷歌的愚人节玩笑开大了

    据<北京晨报>4月2日报道,著名的谷歌网站在愚人节那天发了一则"人肉搜索引擎,志愿者急招中"的广告,并煞有介事地描述了具体的岗位和职责,待到应聘者发去中英文简历收到回复 ...

最新文章

  1. OpenStack Skyline 现代化的管理界面
  2. .net中如何生成不重复的随机数
  3. 转 多租户SaaS架构
  4. [云炬创业基础笔记]商业模式在现代创业中的重要性
  5. 找出一个数组中出现次数最多的那个元素
  6. 机器学习嵌入式实现_机器学习中的嵌入
  7. jcmd:一个可以全部统治的JDK命令行工具
  8. 【Pytorch】expand()用法==》扩展某个维度
  9. Oracle SQL性能优化40条,值得收藏
  10. 操作系统—吸烟者问题
  11. RabbitMQ文档翻译——Hello World!(下)
  12. 浅析ServiceMesh Istio
  13. 输出10000以内的质数C语言
  14. Quartz定时任务动态数据库配置
  15. 计算机基础视频教程B站版
  16. 2019年java经典面试题(附答案)
  17. vue 登录注册模板
  18. 用PS来制作背景透明的图片
  19. Chap1_基础理论+Chap2_数据准备和数据模型
  20. Java写泡泡堂网络游戏

热门文章

  1. 数仓(十)从0到1简单搭建加载数仓DWS层
  2. LaTex输入中文英文混排[overleaf]
  3. Altium designer 在原理图及PCB中高亮某一条网络的三种方法
  4. 共享办公室,高效率创业
  5. Python零基础入门-1 从一行代码开始运行Python程序
  6. GPS/BD陶瓷天线
  7. 中国网爪(china claw) 最终测试版 绿色软件联盟
  8. Docker与虚拟化
  9. 判断回文数的简便算法
  10. 莫言教学常启迪学生多动脑 主张把自己当罪人写-莫言-诺贝尔文学奖-兰传斌