Size: 3239
Comment:
|
Size: 3689
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 63: | Line 63: |
关于骨架便说到这为止了,至于让这些框架活起来的那口气,还待我细细道来 ... | 当然这些只是几个最最基础的框架组成元素了,对于一个成熟的完善的框架来说, 还有许多必备的组件,比如cache、session、国际化(i18n)、用户验证、权限控制等等。 框架们往往还有一些自己独具的特性,比如django的app概念, 强悍的后台管理程序,turbogears 的 toolbox ,与 ajax 的优秀集成等。 这些,可以称之为肉了。 关于骨架和肉我们便说到这里为止,至于让这些框架活起来的关键的那口气,还待我细细道来 ... |
:status: 草稿 ;HuangYi; 100%; .. contents:: ==================== Python Web 框架概览 ==================== 在 Python 的世界,web 框架百家争鸣, 但基本统一于 MVC 这样一个抽象的大模式之下。 其实会觉得在这些框架中 MVC 也许并不是最重要的特质。MVC 只是 个骨架, DRY(Dont Repeat Yourself)、COC(Convention Over Configuration) 的原则, 在追求纯粹、灵活和实用性之间微妙的权衡,设计的哲学,才是这些框架的灵魂。 但是从骨架讲起,总是比较容易理清思路的。 多少年来,MVC模式不断演化,各种变种相继出现然后消失。在 Python 的世界里, 这种种的变数,在近年却难得地达到了某种新的统一。 :: Model数据模型 URL分发器 Controller控制器 Template模板 上图便是我们说的骨架了。当http请求进入 web 应用程序的疆域, URL分发器首先根据提供的资源地址, 找到相应负责的控制器,控制器这里是核心的业务逻辑, 或是查询 Model 数据,在将数据填充到模板, 最终产生适当格式的资源的呈现(比如HTML); 或是处理表单,再通过 Model 持久保存数据,等等。 在搭建 Web 框架这样一座宏伟大厦的过程中,python开发者特别重视轮子的重用。 几个主流现代的框架中,组成它们的骨架和肉往往是一些独立的可重用的组件。 所以说 python 开发者都是聪明人:框架多样,可以形成激励不断创新的良性竞争; 重用性好,又可以节省昂贵的人力资源。 =========== ================= =========== =========== ============== 框架 URL分发器 模板 ORM Form 库 =========== ================= =========== =========== ============== Django Django Django Django Django ----------- ----------------- ----------- ----------- -------------- TurboGears Object Publisher Genshi SQLAlchemy ToscaWidgets ----------- ----------------- ----------- ----------- -------------- Pylons Routes Mako SQLAlchemy ToscaWidgets ----------- ----------------- ----------- ----------- -------------- CherryPy Object Publisher -- -- -- =========== ================= =========== =========== ============== Python web 框架的骨架是灵活的,CherryPy 那一栏似乎有好几个骨架缺失,但 实际上其实是把选择的权利交给了你。而其他框架虽然似乎都已经替你做好 了选择,实际上只要你愿意,有很多组件你都是可以很灵活地进行替换的。 当然这些只是几个最最基础的框架组成元素了,对于一个成熟的完善的框架来说, 还有许多必备的组件,比如cache、session、国际化(i18n)、用户验证、权限控制等等。 框架们往往还有一些自己独具的特性,比如django的app概念, 强悍的后台管理程序,turbogears 的 toolbox ,与 ajax 的优秀集成等。 这些,可以称之为肉了。 关于骨架和肉我们便说到这里为止,至于让这些框架活起来的关键的那口气,还待我细细道来 ...