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
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
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
为了使这件事情更加逼真,Ronacher专门为Denied写了一个主站,并且里面提供简单的example。
一个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