Flask, a simple history - csrgxtu/Cocoa GitHub Wiki

有一个开源组织叫做Pocoo,开始为了做出一个类似phpBB的BBS系统,期间就开发出了许多出名的工具,如下:

  • Flask
  • Jinja
  • Werkzeug
  • Sphinx
  • Pygments
  • etc

如今这个BBS早已经销声匿迹,但是这些子项目却声名鹊起。

Pocoo这个组织的主要著名开发者如下:

Georg Brandl

Georg Brandl is a Python core developer since 2005, and cares for its documentation at docs.python.org.He is blogging on pythonic.pocoo.org. Follow Georg on twitter: @birkenfeld Georg Brandl

Armin Ronacher

Armin Ronacher is a passionate Python, Ruby, PHP, C, C#, Java and JavaScript developer with interest in web development, 3D graphics and Open Source. He is blogging on lucumr.pocoo.org. Follow Armin on twitter: @mitsuhiko

Armin Ronacher

etc ...

如下列表是Armin Ronacher主要的project:

  • Jinja
  • Werkzeug
  • Flask
  • Flask-SQLAlchemy
  • Flask-OpenID
  • Flask-OAuth
  • Flask-Babel

这里要说的Flask微框架就是Armin Ronacher开发出来的。

在2010年快四月的时候,Ronacher决定在Apr 1st的时候开个玩笑,所以他就将做Pocoo过程中的一些组件工具如:Werkeug, Jinja, Simpljson打包进入一个文件,并添加了一些胶水代码,就组装成了一个十分简单的micro-framework -- Denied Denied Framework

为了使这件事情更加逼真,Ronacher专门为Denied写了一个主站,并且里面提供简单的example。 Denied Official Site

一个deny的app看起来如下:

from deny import *

@route('/')
def welcome():
  return "welcome to deny"

if __name__ == '__main__':
  run()

为了录制一个screencast作为视频demo,Ronacher想请一位具有挪威口音的人来录制,所以他托它的朋友的朋友来录制,结果发现这个人讲的荷兰口音的英语。
结果视频被下载了1w+次,website被hit了5w+次,有100+的star。Ronacher事后总结如下:

  • It does not matter how good intended or well written a project is, the bold marketing is king.
  • Small snippets of code on the website are killer.
  • Don't be honest: be bold. Nobody will check your claims anyway
  • There is no such thing as a "bad endorsement".

开发者们对Deny的热情如此高,所以Ronacher决定自己开发Flask,他后来解释说主要有下面两个原因:

  • 灵活性更高,该框架具有deny没有的东西
  • 可以掌握全局,快速解决问题

因为这种一脉相承的关系,所以Flask的app看起来如下:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def welcome():
  return "welcome to flask"

if __name__ == '__main__':
  run()

除了上面的,我们项目中使用的sentry,Ronacher也是其中一名开发者。sentry更像一个在线的错误日志统计工具。

Reference:
Pocoo
Flask, Armin Ronacher
Armin Ronacher
april fools joke
sentry in my life