什么序列的事件使Django成为最受欢迎的Python Web框架..仍然如此?尽管存在其他几个框架.
注意:这个问题既不是议论性的,也不是对抗性的.我只是要求(目标)导致其实际受欢迎的"事件序列".意识到软件接受的动态,我并不打算让任何人参与技术优势的争论.
Ale*_*lli 113
当Django在2005年出现时,许多Python Web框架已经存在 - 事实上,这个笑话已经存在,到那时,Python是"比关键字更多的Web框架的语言"(并且Guido拒绝了我在Py3k中解决这个问题的建议)添加更多,更多的关键字).现在"django"本身有点含糊不清,作为一个搜索术语(它也是一个流行的吉他手的名字,其生活激发了伍迪艾伦的电影等等),然而在搜索中加入"python"来删除其他含义您可以在此图中看到,与其他经典Python Web框架Zope相比,它的相对受欢迎程度如何变化.2008年第二季度开始时出现了大幅度的惊人增长......这恰好与谷歌宣布App Engine的日期相吻合(在这种情况下不可能证明因果关系,但巧合的是至少有趣;-).
App Engine基本上排除了任何深度依赖于自定义C编码组件的Python Web框架,或者本质上需要"密切关系"的功能; 在纯粹的Python代码运行良好的那些中,Django可能是App Engine最直接和明显支持的那个.然而,这只是一个推动力,增加了Django潜在的健康增长趋势.对这种趋势的解释(实际上App Engine团队和用户决定如此支持Django)必须具备Django本身固有的特性.
Django有时会被批评(包括......你真的;-)因为"太神奇"或"太单一",与Pylons,TurboGears,Werkzeug和c等替代品相比,它们的重量更轻(尤其是后者) ,我最喜欢的;-),更透明,并允许更容易地交换进出特定组件(ORM,模板和&c).然而,Django的受欢迎程度告诉我们,对于大多数对开发服务器端网站和应用程序感兴趣的人来说,这些Django设计选择被认为是积极的:Django被视为一个非常丰富且集成良好的框架(它确实有很多添加 - ons和贡献的"插件",但这些更多的结果而不是其优势的原因).
易于入门,自动化的"管理页面"等 - 以及Django 可以倾向于制作非常丰富和复杂的网站/应用程序并满足特殊或独特要求,具有很多技能和一些工作的事实-可能是"杀手锏".要最好地使用Werkzeug,您需要了解HTTP和WSGI,并选择和集成您最喜欢的存储和模板 - 基于Python的网站和应用程序的开发人员(例如,在某种意义上,Rails的用户或者甚至更受欢迎的PHP! - )"在他们的思想共享中投票",他们不一定要做任何这样的环境,但可以主要关注他们的应用领域.我将不得不承认他们可能有一点意义;-).
Jam*_*ett 108
我认为有一些因素,其组合大于其个人权重的总和.
一个是简单的计时:Django出现正确,因为Rails炒作的第一波大潮正在加速,因此它立即被描绘为"Python对Rails的回答".这几乎从一开始就导致项目中的眼球数量微不足道.事实上,阿德里安参加了在芝加哥举行的"Snakes and Rubies"聚会,并参加了关于Rails和Django的并排谈话,为此做了很多工作.
另一个因素是Django一直是单包安装(好吧,不完全:你仍然需要一个数据库适配器,除非你使用的是Python 2.5+并使用SQLite,但足够接近).非Zope的替代品,都集中在开发人员手中留下组件选择,需要更多的工作才能达到你可以做一个基本教程的地步:你需要去寻找一个ORM,一个模板语言等等,让他们全部安装和配置.虽然这些年来情况好多了,但我认为这种挥之不去的记忆仍然会产生影响.
Django带着文档走出了大门(如果我自己可以这么说的话)远远高于开源项目的通常标准,并且随着时间的推移只会变得更好.本教程针对其中的许多错误,点击了许多使Django变得有用的高点,其余文档始终具有良好的质量,根据需要混合API参考和重要的"如何"位.这产生了良好的开箱即用体验,并有助于教程后的学习曲线(一直困扰着Zope的东西).
我还认为,对于已经了解WSGI和Python网络生态系统的经验丰富的开发人员来说,Pylons或Werkzeug确实有一种看法 - 无论是对还是错.事实上,他们倾向于选择现有的最喜欢的图书馆并将它们插在一起,这是我的想法的源泉,并且可能会推动一些新人对Django的综合方法.当然,另一方面是很多人在尝试使用Django之前更好地学习更多东西并不这样做;)
最后,我认为对于Django的销售方式有一些说法,也就是说它确实没有在很长一段时间内上市销售,或者至少在Rails上市的意义上没有.在Django 1.0登陆之前,"营销"的努力主要包括人们的博客(并且有一些值得注意的事件,人们被要求稍微调整一下),在PyCon上进行谈话,然后主要是改进框架,用它构建很酷的东西并让结果说明一切.当然,现在,在1.0后世界,我们有DSF和DjangoCon以及面向商业的顾问,他们正在进行培训课程和大量书籍以及所有其他书籍,但这一切都还很新.
我希望会有反弹,就像Rails一样,事实上我认为它已经酝酿了一段时间并且已经开始了.但到目前为止,我认为我在这里列出的因素至少是Django自首次发布以来一直保持稳定增长的主要原因.
小智 22
我可以想到Django受欢迎的三个原因,据我所知,其中只有一个原因已在其他答案中得到解决:
文档.它具有良好的结构,全面,并且可以从多种技能水平进行操作.
设计.管理员,错误页面和项目站点的可视化设计远远高于大多数开源项目所见的设计水平.
社区支持.从世界在线的团队开始,Django早期就找到了一些有影响力的福音传教士.我不确定你是否可以过分陈述像Jeff Croft的Django for Non Developers这样的博客文章的重要性(我认为这是标题).
| 归档时间: |
|
| 查看次数: |
14184 次 |
| 最近记录: |