论坛首页 编程语言技术论坛

python web framework观感

浏览 21082 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-08-24  
最近一段时间,因为几个地方都需要选择一个简单快捷的web开发框架,而之前我虽然大致了解基于java的那些东西,但是因为感觉使用python可以较大的提高开发效率,所以考察了一些python的web framework.
我的考察标准主要有几个:
  1. 功能上满足要求
  2. 有比较明确的MVC模型
  3. 框架存续时间超过1年
  4. 文档相对详尽
  5. 有较为活跃的使用者,邮件列表发贴数>50/月

首先选择模板引擎,在看了一圈以后,选择了cheetah。cheetah是python社区按照自己的想法仿造velocity的项目,已经至少有5年的历史了。形式上保持了velocity的最大特点:简单干净。

然后选择web框架,这个在python社区太多了,眼花缭乱
一开始就了解了一下两个炙手可热的项目:subway和django,但前者在我考察的后半段才搞到milestone1,从一些反馈来看,速度有不少问题,功能还没有实现全,调优就更不用说了。后者至今也没有发布出一个版本了,而且我非常鄙视它默认的模板。说起模板,其实那个HtmlTemplate(不是那个free htmltemplate,虽然这个也是lgpl的)很不错,但是文档太少了。
然后考察的是mod_python以及它的扩展vampire。一度我差点决定使用vampire,这个东西够简单,而且一些功能也很体贴。但是突然发现有严重的问题,vampire也是以apache模块的方式工作的,那么在linux下面是多进程(Apache有单进程的MPM,但是不成熟)的,一旦多进程,就必须要找一个适合于多进程的数据库连接池实现,只有SQLRelay,问题是这个SQLRelay只能在unix like的系统下用,难不成平台绑定? 而且,多进程模型可能还会有一些其它的差异,所以否决
之后就去看那个webware,webware是python社区仿造tomcat的项目,但是其功能看起来好像和现在的tomcat差的不是一个两个版本。不过用起来也就够了。而且在sandbox中提供了和cheetah的集成方法。但存在两个问题,一个是人气度越来越低,另一个是版本更新越来越慢。而且,它的文档说多不多,说少不少。所以先行搁置。
之后考察的是cherrypy,这是一个好东西。有一些稍微现代一些的东西,比如Filter之类的,也提供了和cheetah的集成。但是因为cheetah太强大,所以集成的方式和严格的mvc有那么一点点差异。而且,他的那个例子中把缓存信息放在页面上,认为这是一个巨大的改进(cache的粒度比cheetah自带的确实要细),使我大倒胃口。本来我想借鉴cheetah和webware的集成方式,用到cheetah中。但是后来一想,在cherrypy基础上要搭出一个满意的MVC甚至整体解决的方案,需要diy的东西太多了。放弃。
期间还看过一些别的框架,如Quixote,karrigell,大概看了一些文档就直接否决掉了。
在java下面被惯坏了,一到了python这种需要强烈diy的环境,还真有点不适应。其实diy倒是没关系,怕就怕diy的东西一多,哪天m某个依赖对象升级一下,又要痛苦的排查一边.
最后转了一遍,还是回到java + groovy,而且groovy都到jsr3了,质量和性能都尚可接受.方便程度也还行.
   发表时间:2005-08-25  
why not ruby on rails?
0 请登录后投票
   发表时间:2005-08-25  
为什么需要ROR?
这也就是一股风,过去就过去了。日子还得照样过。
python的世界里,很多人都把subway和django视作python的ROR, 但各自有各自的问题。而且,都不适合一个保护自己投资的软件企业的选择对象。
0 请登录后投票
   发表时间:2005-08-27  
开源的世界就是选择太多。
大家说自己好,但要将这些优点集中起来却不是一件这么容易的事。
相比之下MS还算不错了。
MS已经给你选择了很多,而且这个选择还不算太坏。
0 请登录后投票
   发表时间:2005-08-27  
ms没有源代码,感觉做事很被动。开源的好处就是一切尽在掌控,除了什么问题一调源代码很快就搞定。要是不能接触底层万一出了什么问题就只好干瞪眼了。
0 请登录后投票
   发表时间:2005-08-28  
不过中国程序员即使有了源代码也未必会去改,水平问题(22-25岁 jsp程序员占多数)也是惰性问题。

即使改了,也很少提交回去给开源项目作贡献(比如那谁啊,Groovy的Eclipse插件在新版Eclipse下用不了,某人帮它改了,但只在我们中share,就是不提交上去,管它在jira里老喊人救火)
0 请登录后投票
   发表时间:2005-08-29  
江南白衣 写道
不过中国程序员即使有了源代码也未必会去改,水平问题(22-25岁 jsp程序员占多数)也是惰性问题。

即使改了,也很少提交回去给开源项目作贡献(比如那谁啊,Groovy的Eclipse插件在新版Eclipse下用不了,某人帮它改了,但只在我们中share,就是不提交上去,管它在jira里老喊人救火)


谁啊?
0 请登录后投票
   发表时间:2005-08-29  
不得不承认的是大多数程序员还是庸懒的。
玩了这么久的JAVA都分不清是自己在玩JAVA还是在被JAVA玩。
0 请登录后投票
   发表时间:2005-09-12  
江南白衣 写道
不过中国程序员即使有了源代码也未必会去改,水平问题(22-25岁 jsp程序员占多数)也是惰性问题。

即使改了,也很少提交回去给开源项目作贡献(比如那谁啊,Groovy的Eclipse插件在新版Eclipse下用不了,某人帮它改了,但只在我们中share,就是不提交上去,管它在jira里老喊人救火)


不要上升到中国程序员的高度,你没权力否定整个中国的程序员吧
0 请登录后投票
   发表时间:2005-09-12  
江南白衣 写道
不过中国程序员即使有了源代码也未必会去改,水平问题(22-25岁 jsp程序员占多数)也是惰性问题。

即使改了,也很少提交回去给开源项目作贡献(比如那谁啊,Groovy的Eclipse插件在新版Eclipse下用不了,某人帮它改了,但只在我们中share,就是不提交上去,管它在jira里老喊人救火)


这是你们组里的现象吧
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics