Size: 374
Comment:
|
← Revision 6 as of 2009-12-25 07:18:47 ⇥
Size: 399
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
'''[[http://mdp.cti.depaul.edu/|web2py]]'''^TM^ '''Enterprise Web Framework''' | |
Line 4: | Line 5: |
::-- ZoomQuiet [[[DateTime(2008-03-16T06:31:41Z)]]] [[TableOfContents]] |
::-- ZoomQuiet [<<DateTime(2008-03-16T06:31:41Z)>>] <<TableOfContents>> |
Line 8: | Line 8: |
[[Include(CPUGnav)]] | <<Include(CPUGnav)>> |
Line 14: | Line 14: |
== vsDjango == [[Include(/VsDjango,,from="^##IncStart$",to="^##IncEnd$")]] |
== vs Others == <<Include(/VsDjango,,from="^##IncStart$",to="^##IncEnd$")>> |
Line 19: | Line 19: |
[[PageComment2]] [:/PageCommentData:PageCommentData] |
web2pyTM Enterprise Web Framework
::-- ZoomQuiet [2008-03-16 06:31:41]
Contents
1. web2py
名似质非的高可用web框架
1.1. vs Others
1.1.1. Limodou 4 django
limodou <[email protected]> reply-to [email protected], to [email protected], date Sun, Mar 16, 2008 at 1:08 PM subject [CPyUG:43563] Re: webpy 很好玩... mailing list <python-cn.googlegroups.com> Filter messages from this mailing list mailed-by googlegroups.com signed-by googlegroups.com
2008/3/16 小龙 <[email protected]>: > 那你们怎么看待web2py?
- 发展比django晚,社区也小很多,功能相比之下还需要完善,比如ORM没有django完善,也没有什么signal之类的东西
- 某些约定可能更接近rails,比如每个controller的方法都自动对应一个view,而不是象django中是否存在view都是由用户来指定的
- model和controller是运行在一个特殊的环境下,因此它们不是一个完善的python模块,但是这样你也减少了许多的导入。由些带来的是一些exec的使用。我也在邮件列表中提出了问题:exec的效率会是如何?
- 多applicances设置,但是不象django那样app是分工协作的,而web2py每个applicance其实就是一个完整的应用,因此交互上目前还没有好的模式,Massimo(web2py的作者)是建议多app之间通过xmlrpc来交互,挺有意思的方式。不过象有些页面级的复用如何共享还不清楚。
- model的创建是自动化的。写完model程序,就可以自动创建表了。甚至某些字段的修改,增加等也可以自动完成。很方便。
- 号称是不需要安装,配置。提供web方式的开发环境,写程序,模板都可以在web上进行。app可以打包,上传。有些象zope了。
- url一般是采用/appliance/controller/function?argv=的形式,不象django是使用正则式。好象也支持特殊的route,不过不清楚怎么用。
- web server是自带的,使用cherrypy,因此我目前了解如果与apache配合的话需要使用反向代理。
- 因为是在一个环境下运行,因此象request, response之类的不需要在controller的函数中列出来,可以直接使用。
- 因此有一种更方便的开发方式就是,可以在模块前面做统一的处理,相当于模块级别的处理,可以对response进行操作。
- 相比之下比django要方便些。不过也象前面说的,效率?
- 模板简单,
- 支持extend,include,
另外会自动对html代码进行转义。
- 模板可以直接嵌入python代码,因此有些象mako,在运行时是先编译成python代码,然后再执行。
- 我挺喜欢,可以在模块中写python程序,而且比效简单。
response已经内置了许多功能,如xmlrpc(见例子48),大文件下传支持 (见例子47)简单的ajax支持等。象xmlrpc, ajax的东西django则需要自已去写了。
- model定义好后,可以直接生成SQLForm显示在web上,与newform很象。也提供Form的方式。
- 创建一个新的app不是一个空的东西,它其实是welcome.tar的一个拷贝,所以已经是一个可以工作的东西。并且在它的layout中已经支持简单的布局,菜单定义,提示信息等功能了。
- 如果在开发时出现错误,会自动生成一个ticket进行记录,挺有意思。
- 自带一个web编辑器,可以支持象python的自动语法高亮。
- 有一个试验性的web model designer,还没有正式投入使用,但是从演示已经可以设计model,关联外键,并可以生成web2py格式的model定义语句用在你的程序中。
- 以上是部分个人在学习中的体会,但是还有许多东西还在学习中。这里只是相比django有一些我认为的确是方便的地方。所以对于django我希望不要过于死板,只顾把自已做强,更多的是要让用户体验到,框架不仅功能强,更要让用户使用起来方便,简单。django在设计上的确有许多独到之处,但我还是希望它可以在某些地方更简化一些,更灵活,更自由一些。
- web2py主要还是一个个人项目,所以发展上还有许多的路要走。与django相比还有许多的不足。不过从Massimo的个人表现来说,的确让人敬佩。而我也还是web2py的一个初学者。