一万小时 / 说说Python Web框架Flask

远没到拼智商的时候

说说Python Web框架Flask

2013-01-14 posted in [点滴技术] with tags: [python, flask, and django]

今天惊闻神童hacker Aaron Swartz自杀了,这位只有25周岁的Hacker是无数 程序员的偶像,他的事迹有:

  1. RSS标准制定者之一
  2. Reddit创始人之一
  3. Markdown的贡献者
  4. web.py的作者
  5. Creative Commons协议的参与制定
  6. 抗议SOPA等等

无论拿出上面的任一条,我们已经可奉为大牛,而万千功绩集一身时,我们只能仰望。

Aaron Swartz

下午便看了一个下午的相关信息,知乎Quora,博客等等,特别是看到Aaron Swartz的 女友(或者不是)那感人的博文,真是至美的文字,和至美的情感。

至于自杀的原因,无论是忧郁症,对于牢狱的恐惧,或者是极度敏感的性格,那已经不重要了, 只是希望Aaron Swartz一路走好。

提到Aaron Swartz写的Python Web框架web.py,不禁想起了另外一个Python Web框架Flask, 这也是一个轻型的Web框架,有了些了解,便想记录于此。

Flask

Flask的哲学

Flask的哲学我还是比较认同的,主要有几点:

  1. 保持核心的micro,这样易于维护,也能保证可靠性
  2. 保证1的同时,又要兼顾功能,作者选择了extension机制,这也是目前主流的软件惯用的方式, 如chrome, firefox, sphinx

于是,相比于我更加熟悉的Django,Flask显得轻了许多,轻巧而不失优雅,核心小而提供扩充的无限可能, 在这些方面,Django则显得笨重,无论是核心,还是辅助功能,更多的功能意味着更多的耦合,和不够灵活。

当然,另一方面,Django直接可用的所谓killer feature那自是这种笨重的原因,这便是二者的哲学差别。

学习门槛与效率

Flask本身的文档还是足够健全的,特别是对于Python/Django比较熟悉的开发者,这些都会帮助开发者来 快速应用。

至于效率,Flask没有内建的Admin, ORM, User等辅助功能,这可能会需要一些时间来开发,可喜的是, Flask已经有较多的extension, 包括: Admin, Debug Toolbar等等,所以相比于DjangoFlask的 效率也不会差多少。而加上其简洁的语法,和构建的快速和便利,这些都让后续的维护性有了更好的保障。

不足

在我看来,下面的不足或许只是时间的问题(相比Django),随着时间向前发展,Flask也会不断进步,到了1.0时相信 会解决大部分列表中的问题。

  1. 现实使用的例子不多
  2. 社区还不够完善
  3. 稳定性
  4. 周边的软件(如Django的South, Debug Toolbar等)

计划

最近会有一个Flask的项目,也算是对于自己学习的实践,以及通过实际使用来对Flask进行检验。

参考资料

  1. 知乎
  2. Aaron Swartz
  3. Quora
  4. Flask
  5. Django
  6. 感人的博文
  7. Flask的哲学
  8. web.py
  9. 较多的extension
  10. sphinx
comments powered by Disqus
Top

Press q to hide the help

Key Action Key Action
Small Scroll j Scroll Down k Scroll Up
Big Scroll b Scroll to Bottom t Scroll to Top
Post Navigation n Next Post(if exists) p Previous Post(if exists)
Page Navigation h Go to Blog's Home Page a Go to Blog's Archive Page
Page Navigation c Go to Blog's Category Page ? Show this help
Misc s Go to Search Box q hide the help