请大家谈谈对各种python web框架的感受和优缺点!

米奇·猴

2006-04-07 17:32:28 来自: 米奇·猴

想用python开发一个web应用,发现python的web框架很多,有点眼花,所以想问大家一下,都用过什么web框架及其感受,还有不同w框架的横向比较,他们的优缺点,分别适用开发什么样的web应用

15人 喜欢
  • 24小时

    2006-04-12 14:05:23 24小时

    关于Web应用框架与技术的选择小结
    最近在做Web应用框架与技术的选择。我们需要实现一个Web2.0特征的网站,
    考虑的因素:
    1.功能模块(基本的2-3个功能(发布、评论、图片、tag、搜索)、初期扩展功能1-2(地图、伴随))
    2.开发效率(真正可用于开发的时间、开发人员)
    3.UI(整体设计的可能性不大、最好有现成模版)
    4.静态页面(用户体验、速度)
    5.Ajax(吸引用户的界面、与目前国内网站的差异、体现Web2.0)

    可选框架:
    J2EE
    Java+Apache+Hibernate+MySQL
    优点:
    1.功能强大
    2.开发人员熟悉,有一定技术储备
    3.有一些可选控件资源
    4.数量级用户量的扩展

    缺点:
    1.需要整体配置和构架(企业开发)
    2.UI设计、对Ajax的支持、Web2.0页面风格
    3.需要统一个配置、功能模块独立性差,当功能增加或关联度增加时对开发人员的压力较大
    4.模版代码、数据库代码、配置代码和模块编码量大

    Ruby on Rails
    Ruby+Webrick+Active Record+MySQL
    优点:
    1.快速开发
    2.使用者多、开发控件非常丰富
    3.有多个成功案例 43things、Odo
    4.支持Ajax

    缺点:
    1.Ruby由日本人创造的,尽管ROR是丹麦的小伙子David开发的

    Zope
    Python+Apache+Plone+MySQL
    优点:
    1.功能强大
    2.Google的主力平台
    3.已经发布Zope3

    缺点:
    1.复杂
    2.从头熟悉需要太多时间

    TurboGears
    Python+Apache+TurboGears+MySQL
    优点:
    1.快速开发
    2.RoR模式
    3.有一定的时间积累、相应的开发工具和模块
    4.支持Ajax,i18n
    5.开发工作量少
    6.Python语言,安装布置上手快

    缺点:
    1.国内人气不旺
    2.未找到类似成功案例


    Django
    Python+Apache+Django+MySQL
    优点:
    1.功能框架清晰
    2.编码量小、开发效率高
    3.有现成模版减少UI工作量
    4.国外网站开发应用选型热点
    5.可交流资源多
    6.在迅速发展中


    缺点:
    1.上手有一定门槛
    2.发布时间短,应用模块资源不多

    参考文档:
    1.Ruby on Rails and J2EE: Is there room for both?(英文)
    Ruby on Rails 和 J2EE:两者能否共存?(中文)
    2.WebProgramming
    3.美国航空航天局(NASA)的工程师对web开发框架(j2ee, rails, zope/plone, turbogears, django)的选型做的报告
    4.Evaluation: moving from Java to Ruby on Rails for the CenterNet rewrite
    5.The SquizLog: J2EE vs Ruby on Rails
    6.Python Tutorials, more than 300, updated February 15, 2005, and carefully sorted by topic and category
    7.Is Rails Ready for Prime Time?
    8.Ruby on Rails 实践

    http://blog.donews.com/two4hours/archive/2006/04/12/824201.aspx

  • 米奇·猴

    2006-04-13 18:48:08 米奇·猴

    谢谢,那你最后的选择呢?

  • leal

    2006-04-13 20:53:05 leal (开心)

    缺点:
      1.Ruby由日本人创造的,尽管ROR是丹麦的小伙子David开发的

    搞笑,看不出来是做技术的

  • Ballsir

    2006-04-15 19:18:28 Ballsir

    Zope, Google的主力平台?

  • 上海胖子Anson

    2006-04-15 22:22:33 上海胖子Anson

    2006-04-15 19:18:28: Steve (北京)
      Zope, Google的主力平台?

    我也疑惑。

  • gashero

    2006-04-16 19:28:57 gashero

    嘿嘿,偶用mod_python写B/S程序,是不是有点落伍了?

  • devdoer

    2006-04-19 10:01:04 devdoer

    不落伍吧 ,我还是觉着cgi的程序最受我控制,爽,再用个模板就很好了.那么多框架,总是觉着被牵着鼻子走.

  • 月亮上的石头

    2006-08-22 03:00:21 月亮上的石头 (Let it be)

    这个话题可以继续讨论讨论

  • wangyingqi

    2006-08-22 09:57:23 wangyingqi

    【缺点:
        1.Ruby由日本人创造的,尽管ROR是丹麦的小伙子David开发的
      
      搞笑,看不出来是做技术的】
    其实很多人不学ruby真的是因为他是日本人创造的。至少我目前还没兴趣学ruby。

    【Zope, Google的主力平台?】
    我也有点怀疑

    quixote没有提到!douban的框架哈。

  • 2006-08-22 19:45:21 stonecracker

    再给因为日本人不学ruby投一票,

    quixote作为框架来说没有那么闪光,当时豆瓣没选择其他的框架也不是因为其他的框架不好,只是当时python的框架还没有现在这么繁荣。

  • 元创

    2006-08-25 10:50:14 元创 (我的专业是打酱油)

    不用ruby有日本人搞的一面,其中也有技术成分:就是怀疑文档的语言要是日语可能不太方便。

    有人说过,用过python的不喜欢ruby,也是有一定道理的。

    用ruby的时候,一些语法我也不喜欢。

  • 月亮上的石头

    2006-09-04 11:52:24 月亮上的石头 (Let it be)

    最后的选择是什么?

    python的web框架里对ajax支持最好的是哪个?

  • ewan

    2006-09-04 19:21:12 ewan (你妈 豆娘!)

    kiragille是个很可爱的框架,法国人整的,但是跑起来很慢。我在局域网里面架了个下的blog用的是Django

  • ewan

    2006-09-04 19:22:55 ewan (你妈 豆娘!)

    Django 是个很有前途的框架,python的大牛都在研究这个

  • batfree

    2006-12-06 21:09:25 batfree

    中文支持上ROR有点问题,ROR作者说不考虑国际化支持。

  • henryhuang

    2006-12-09 00:31:02 henryhuang (happy hacking)

    其实框架并不很重要。重要的把框架研究透彻,并且真刀真抢的开始干活。

    我选择了django,目前用的很爽。

    www.hpbookmarks.com

  • 瓢

    2006-12-09 00:40:28 ((读)纯粹理性批判 66%)

      TurboGears和Django目前是Python最好的轻量级框架了,这两个框架各有优劣,自己选择吧,从架构的设计思想而言,我各人更喜欢TG。
    如果用ZOPE,尽量从简,一套ZOPE自己就可以搞定一切了,不要跟外面关联那么多。

  • 沈崴

    2006-12-09 10:40:44 沈崴

    只要能用的, 朕全用, 用光为止。

  • 瓢

    2006-12-10 02:01:16 ((读)纯粹理性批判 66%)

    楼上的经常在Mail List见到:)。我是刘鑫。

  • 沈崴

    2006-12-11 11:23:36 沈崴

    裁缝~~`刘鑫的马甲藏得够深的啊, 哈哈。

  • 洗头用飘柔

    2008-06-11 13:35:48 洗头用飘柔 (手起刀落人抬走..)

    webpy怎么样呢,我在网上看到过.

  • KJ

    2008-06-11 13:56:34 KJ (很快就又要宅了)

    大家一定要相信我, 37signal 是一家广告公司

  • Clay

    2009-08-15 18:13:01 Clay (天.朝下的屁民)

    缺点:
      1.Ruby由日本人创造的

    极其赞同,这也是我一直不愿学ror的原因。

  • [不再使用]

    2009-08-15 23:11:12 [不再使用]

    缺点:
    1.Ruby由日本人创造的,尽管ROR是丹麦的小伙子David开发的


    实在想不通,有什么问题?

  • JJ

    2009-08-15 23:49:19 JJ

    找工作的话当然是 django & ZOPE/Plone.

    我选的话就是web.py & Karrigell,因为易学。

  • 2009-08-19 13:36:20 乱码

    web2py 怎么样?
    我一直用它,感觉不错!

  • 此号已注销

    2009-08-19 13:52:45 此号已注销 (多少罪恶,以爱之名。)

    缺点:
    1.Ruby由日本人创造的,尽管ROR是丹麦的小伙子David开发的

    ----
    说这话的就是个贱B

  • [已注销]

    2009-08-19 14:36:06 [已注销]

    django目前国内规模最大的是海报时尚网,当然总感觉如果做企业级开发的话,python不够成熟

  • 沈崴

    2009-08-20 11:40:58 沈崴

    ©企业级 · 开发™

  • 大笨狗

    2009-08-20 21:40:21 大笨狗 (神:卡那个炸飞,带320亿美元来)

    django目前国内规模最大的是海报时尚网,当然总感觉如果做企业级开发的话,python不够成熟
    +++++++++++++++++++++++++++++++++++++++++
    Django不够成熟。不是其本身怎么样,而是第三方开发的东西,良莠不齐。Zope是没有问题的。

  • 2009-08-20 21:43:29 [已注销]

    除了包里有一个simplejson。。。。django没第三方的东西。。。。。。。。和第三方类库盘根错节的是pylons和turbogears。。。。

  • 元创

    2009-08-20 23:01:35 元创 (我的专业是打酱油)

    说实话,auth和admin,作为应用看,很牛逼;作为框架看,很纠结。

  • 鹏霄

    2009-08-22 16:34:20 鹏霄 (一人一票,改变中国)

    Sourceforge已经改用Turbogears 2.0开发了: http://compoundthinking.com/blog/index.php/2009/07/16/turbogears-on-sourceforge/

  • linsk

    2009-11-24 14:18:04 linsk (豆瓣挂了...叫你不放App)

    我最担心的是rails的性能。
    从开发者角度看我关心书写的舒适度,和开发速度
    若从创业的角度上看,性能我还是蛮重视的。

    我会学rails,因为它是一种思想和一种不错的思路。
    比较看好的project以后会用rails的python实现(未接触)是pylons或者turbogears来开发

  • bamboo256

    2009-11-24 16:43:01 bamboo256

    http://www.javaeye.com/topic/518909

    Ruby作为服务器端应用已经成熟了

  • 大笨狗

    2009-11-27 13:30:47 大笨狗 (神:卡那个炸飞,带320亿美元来)

    我所说的第三方良莠不齐并不是指django/contrib下的东东而言,而是说网上自行开发的某些库,比如django-registration之类。
    我不认为admin和auth有什么不妥。但是,就django框架本身来说,文档做得并不好。读程序,经常可以读到一些文档中没有收录的函数。这一点正与Python本身相同。你发现黑盒子上有个洞,漏出了些什么东西,但当你想透过孔洞看的时候,却只发现黑乎乎的一片。

  • fireflyc

    2009-11-27 19:48:53 fireflyc

    还是统一的好,我曾经自己写过一个framework,但是这样不会给社区带来什么好处。只会让社区更加的乱,社区资源大量的浪费。所以我觉得还是选择其中一个最热门的来用的好,我们可以修改它的代码,甚至可以架空它,但是现在还不能去创造更多的轮子来扰乱它。号召社区一起用django。无论如何它是不断进步的,至少我看它的代码已经非常的“合口味”了。

    至于谁比较厉害,呵呵,这个没有什么可比性的。没有什么比较有优点的,大家都是千篇一律的。这个毫无疑问,不信大家可以列出来,我们可以一一的挖下去最后发现原来大家都是一样的。

  • 汽修青年

    2009-11-27 20:20:43 汽修青年 (衙役阶段徘徊)

    google的go

  • skysoaring1

    2009-12-02 16:05:24 skysoaring1

    DJANGO还不错啊。 公司内部项目好几个用DJANGO了。 其中一个在已有数据库基础上的二次开发。一个命令就把数据库表变成 model了,稍微改改外键关系就直接可以用了。一对多关联只要设一边就可以了。比hibernate那一套舒服多了。

  • iven

    2009-12-08 19:59:07 iven (哦)

    喜欢就是喜欢,不喜欢就是不喜欢。
    喜欢什么用什么吧。
    我个人来说不喜欢django。就好象不喜欢原装机一样。
    比较喜欢组装,而且喜欢精巧。

  • 2goO

    2009-12-08 22:23:18 2goO (2GOO.INFO)

    rails的性能已经不成问题了,javaeye就是rails开发的, 升级到REE 性能很不错,说到性能,google还不是尽量回避python?凡事有个相对!2009,ruby一直往性能方面调优,rails以后会很好用,找到一份rails相关的工作将是程序员的一种莫大的幸福!django也不错,只是低调了点,性能和开发效率方面并不逊色于rails,严谨的django 和充满乐趣的rails 会走得很长!
    本人就是使用django的,喜欢她的扩展性和重用性!可惜pythoner 都是低调的,没有贡献多少代码到django的第三方app,使得django 的相关技术没有得到发挥。没事也得接触一下rails了,rails火辣得让人按耐不住“花心”!

  • 2goO

    2009-12-08 22:28:21 2goO (2GOO.INFO)

    django好比一个单反相机,需要调,直到满意为止,稍微急躁,就照不出好效果,而rails就象一款高端智能机,省心省力,刚刚用,效果并不差,用长了 效果还相当完美!

  • 湖爷洞

    2010-10-09 13:09:54 湖爷洞 (想做的事太多,肯做的事太少..)

    Ruby 的 3.times 很让我震精

  • 么么茶

    2010-10-09 14:27:03 么么茶

    没人关注 flask 么。。。

  • 单挑王子davidx

    2010-10-09 15:17:10 单挑王子davidx (怎样激发斗志呢?)

    你的头像....

  • 拉布拉多

    2010-10-09 16:04:10 拉布拉多 (解放)

    Ruby 的 3.times 很让我震精

    最新版本的javascripts也可以。

    自己用过django,他的admin似乎不太好用,每次都要自己开发后台。

  • lincode

    2010-10-09 16:13:09 lincode (风骚为人)

    django

    选择框架和技术,可以参考大公司的选择

    google 选择了 python ,这是他们日常使用最多的语言
    google 选择了 django,在 google app engine 中,python SDK 缺省支持的就是 django

  • 冲动的小李

    2010-10-13 22:03:40 冲动的小李 (just do it)

    Flask

    Bottle

    新生代Web框架,用着很省心,按照阿北以前解释如何选择Quixote一样,框架不会跑出来跳过来跳过去妨碍你去实现业务逻辑

    如果你用tornado做app-server的话,无耻的打个广告,用我的tor皮吧
    http://bitbucket.org/alexander_lee/easytor/overview

  • 十八哥

    2010-12-27 17:19:27 十八哥

    Python 的web.py 怎么样?有成功案例么?

  • 高天蒲

    2010-12-27 17:28:31 高天蒲 (改变不了世界?那就先改变自己!)

    再给因为日本人不学ruby投一票!

  • kongxx

    2011-01-19 16:15:58 kongxx

    关注Django

  • Pythoner_ty

    2011-01-20 00:11:56 Pythoner_ty (http://pythoner.net)

    感觉web.py还不错啊,很灵活
    貌似这里很少有人提到

  • Nothing

    2011-01-20 09:02:17 Nothing (Wake up)

    虽然,最近有接触ZOP3,但还是比较钟爱 Django。。。。。

  • 达小生

    2011-01-21 17:56:39 达小生 (失败只有一种,就是半途而废。)

    怎么没人提web.py呢,很简洁,用的很爽啊,对于Django感觉过多的功能反而成为累赘,反正我不喜欢

  • 蜘蛛

    2011-01-21 18:49:40 蜘蛛

    webpy确实特别简洁,什么功能都是只有一个壳子。

    除了路径解析还比较靠谱外,像db功能、session什么的直接用恐怕就不能像你所想的那样工作。

    但这也是它吸引人的特点之一。

  • Timer

    2011-03-08 18:50:32 Timer

    缺点:
    1.Ruby由日本人创造的,尽管ROR是丹麦的小伙子David开发的

    这话就是 新纳粹煽动起来的愤青红卫兵 经典思维

  • 凯恩复制人X

    2011-03-08 19:47:40 凯恩复制人X (The Enlightened)

    楼上+1

  • 小秋

    2011-03-10 09:20:43 小秋 (I like python)

    个人喜欢精简
    首先是“精”,如果一个团队维护过多的功能,是比较难的
    比如sqlalchemy就异常强大
    再是"简",用起来要顺手。
    像web.py、flask、bottle这种,就很好。
    只此两点而已

  • 素心涤尘

    2011-03-26 10:11:14 素心涤尘

    不管怎么说:因为Ruby是日本人开发的而不学它的人占大多数

  • 0xFAN

    2011-03-26 10:24:47 0xFAN (SALIGIA)

    2011-03-26 10:11:14 素心涤尘
    59楼

    不管怎么说:因为Ruby是日本人开发的而不学它的人占大多数
    ---------------------------------------
    是不是因为A片都是岛国产的就有人拒绝撸管?
    那真是'民族英雄'了...

  • 石州灯笼

    2011-03-26 10:52:13 石州灯笼

    谁都没有自称“民族英雄”,有些人至于急成这样?

  • 0xFAN

    2011-03-26 10:55:50 0xFAN (SALIGIA)

    2011-03-26 10:52:13 石州灯笼
    61楼

    谁都没有自称“民族英雄”,有些人至于急成这样?
    ---------------------------------------
    解释就是掩饰,掩饰的就是事实 lol

  • 冲动的小李

    2011-03-27 02:58:02 冲动的小李 (just do it)

    最近看看ruby,算是精神上支持灾区人民?

  • 湖爷洞

    2011-04-05 22:58:23 湖爷洞 (想做的事太多,肯做的事太少..)

    此帖乃神贴...自2006年发贴以来已已经延续至今了...

  • 星星点灯

    2011-10-02 00:09:50 星星点灯

    5年前的帖子了,那时候django还不成熟,如果现在选择,就毫不犹豫的选Django吧

    以前我也质疑Django,认为Django各方面都提供,各方面都不深入,比如model(orm)、form,现在想想,Django这样做是对的

    拿orm来说吧,很多人通过比较SQLAlchemy和Django的orm得出结论:Django的orm功能太弱,很多需求Django的orm满足不了。但反过来想想,所有Django的orm提供不了的功能都是应该用原生sql去实现的。SQLAlchemy的那种完全用orm代替原生sql的做法是愚蠢的,弄到最后你会发现用SQLAlchemy实现复杂的查询比用原生sql还要麻烦的多

    Django能简化工作中大部分简单而繁琐的工作,这已经足够了,对于复杂的业务部分,果断的用原生技术解决

  • MOY

    2011-10-02 23:07:48 MOY (你挑着马 我骑着担)

    你要lean ,就flask/ Webpy / Bottle
    你要中到大, web2py,TurboGear,Django

  • 2011-10-03 22:52:55 KissMyDumbAss

    我所说的第三方良莠不齐并不是指django/contrib下的东东而言,而是说网上自行开发的某些库,比如django-registration之类。

    ----------------------------------------------------------------------------------------------------------
    你对django第三方库指名道姓批判的时候最好挑对对象。比如你说的django-registration的作者就是django项目的team lead。如果你说他的库在良莠不齐的库之列,那不如说所有的开源项目都良莠不齐。我用过很多django的第三方库,都很好用,不少库的作者都是研究django源码多年的高手,因为有不少用户提供建议甚至提供代码,所以这些库的质量一直很高。不少第三方库甚至被包括到了最新的django官方库里。

  • cloudaice

    2011-11-02 12:04:41 cloudaice (个人博客www.cloudaice.com)

    现在用python做框架的大型互联网公司都有哪些啊?


这个小组的Pythonista也喜欢去  · · · · · ·

Linux
Linux (7467)
算法与数据结构
算法与数据结构 (4986)
开源软件
开源软件 (2334)
程序设计语言
程序设计语言 (2018)
Debian
Debian (1684)
网络工程
网络工程 (1982)