狠狠撸
Submit Search
笔测谤补尘颈诲框架介绍
?
Download as PPT, PDF
?
13 likes
?
2,043 views
P
panjunyong
Follow
在2011年珠叁角技术沙龙飞别产版的发言
Read less
Read more
1 of 45
Download now
Downloaded 95 times
More Related Content
笔测谤补尘颈诲框架介绍
1.
Pyramid 框架介绍 small,
documented, tested, extensible, fast, and friendly 潘俊勇 weibo.com/panjunyong 易度云办公 everydo.com
2.
我来自落魄的 Zope 社区
曾无比风光: Python 杀手应用 大客户包括 NASA ,美国海军, 通用电气、波士顿在线
3.
突然回光返照了?
4.
Pyramid/Zope 历史课 zope2
zope3 grok Repoze.bfg bluebream Pylons Pyramid cmf plone Paul Chis Tres ZODB Robert, Jim J2EE
5.
我的 web 技术生涯
2002 年,开始折腾 python/zope2 2003 年,开始靠 Plone 做些项目 2007 年,开始用 Plone 线上软件运营 2008 年,深入跟踪 Grok 开发框架 2008 年,抛弃 Plone ,用 Zope3 开发易度云办公 2009 年,使用 bfg 做部分应用 2011 年,使用 pyramid 开发易度云查看 未来易度云办公,会更多使用 pyramid
6.
易度云办公: bluebream
7.
易度云查看: pyramid
8.
Python 的 web
框架 微框架 Web.py, flask, bottle, web2py 中型 Pyramid, turbogears 重型框架 Zope / Django / Plone 异步 ( 实时 ) 框架 Twisted, tornado, gevent
9.
Python 社区数十种 web
框架, 选择那个? 女怕嫁错郎 男怕入错行 咱 web 程序员怕进错“框”
10.
公司应用,还是互联网应用? 公司应用: 需求复杂,快速开发
用户数少,性能不关注 能用就行,产物化要求不高 适合重框架 Django/plone/zope 注意 公司应用正在互联网化 基于互联网的公司应用平台才是发展未来 互联网应用 需求简单 性能非常敏感 适合偏轻框架 互联网是未来
11.
实时要求高吗? 比如: 聊天
大量实时互动 考虑方案 Twisted Tornado Gevent + 现有轻框架
12.
对简单的拿捏 Python Zen:
Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. 崇尚简单,但喜欢 Explicit
13.
Zope/Django :过重 Zope
,航母级别的重 Limodou 都没学会 开发人员难掌握 我也准备弃用了… Django 现在很多开发人员不喜欢 下一个 zope ?
14.
Bob :过轻,这是什么?
15.
Web.py :不算太简单
16.
Flask : Fun
17.
Pyramid :可以简单 https://docs.pylonsproject.org/docs/pyramid_quick_tutorial.html
18.
也可使用 Decorator 来配置
19.
使用 Class 定义
view 也行
20.
不限定模板 Mako,
Genshi, Chameleon, Jinja2
21.
View 返回 dict
就行
22.
HTTP 缓存
23.
内置的 i18n pyramid.i18n
基于 zope.i18n 采用 gettext 翻译文件 po/mo 模板也支持 i18n
24.
性能如何? http://blog.curiasolutions.com/the-great-web-framework-shootout/
25.
Pyramid 核心很小 可在
GAE 上运行 支持 Jython 3M 文档, 1M 测试, 804K 模板, 539K 代码( 5 千行代码) Hello world 的 python 运行行数比较
26.
可以和 gevent 配合使用
参考: https://docs.pylonsproject.org/projects/pyramid_cookbook/dev/deployment/gevent.html
27.
全功能框架 helloworld
28.
微框架
29.
php
30.
全功能框架 -
模板
31.
微框架
32.
全功能框架 – 数据库
33.
微框架
34.
但需求是复杂的… Zope2: 很多类,相互继承,相互依赖
Hooks 、 Monkeypatch 基本不可维护 Zope3 / J2EE :组件架构 分离接口和实现 通过 XML 进行装配 难以理解这些模型
35.
Pyramid :分拆复杂问题 WSGI
中间件: python 标准,各个 web 框架通用 通过消息来通讯( eviron 公共变量) Repoze ,通过 wsgi 重新实现 zope
36.
Tween : Pyramid
的中间件 Be - tween 类似 WSGI 中间件 Pyramid 专用:可操作全局注册表,渲染机制 可控更多:异常处理,事务处理
37.
Tween pyramid_tm :
事务处理 pyramid_exclog :异常日志 pyramid_debugtoolbar: 从 flask/django 偷过来
38.
Debugtoolbar 1
39.
Debugtoolbar 2
40.
很多可选插件 Pyramid_beaker Pyramid_chameleon_genshi
Pyramid_handlers Pyramid_jinja2 Pyramid_mailer Pyramid_rpc Pyramid_who pyramid_xmlrpc Pyramid_zcml pyramid_jqm
41.
配置扩展
42.
事件机制 : no
hooks! 内核运行的时候抛出事件 ApplicationCreated/NewRequest/ContextFound NewResponse/BeforeRender/ 定义事件处理函数
43.
图漫游 Traverse URL
地址 : RESTful 直接 URL 地址直接对象寻址 Model 寻址 + View http://host:port/news/12312/@@view.html http://host:port/news/12312/@@edit.html 指定一个 root 对象,使用 __getitem__ 来寻址 无需配置 Route ! 权限体系 非常灵活,这个是 Plone 致胜的法宝 特别适合 ZODB
44.
其他特色 测试框架 丰富的完整的文档
ZCA / 接口 ZCML
45.
谢谢大家 Questions ?
广告:我们需要靠谱 Pythoner
Download