快速Web应用开发的框架对比(Yii与Django)

4 投票
2 回答
1564 浏览
提问于 2025-04-16 16:19

我在网上查了一下,没找到什么有趣的内容。现在我和我的团队知道一些(Codeigniter、Yii)以及Django(Python框架)。在过去的一年里,我们一直在使用Codeigniter,发现我们的效率不高,很多功能(比如评论系统、图片上传、评分、投票等)都需要重复编写(可以叫做渐进增强)。

现在,我们开始使用Yii进行开发,感觉非常不错。但我发现我更喜欢Python而不是PHP。不过由于时间紧迫,我不能要求我的团队现在就切换到Python。所以,我想知道在这三个框架(Codeigniter、Yii、Django)中,哪个能让我们更快交付项目。

我个人认为Yii和Django差不多,但因为Django有很多现成的包Django Packages,我们能更快地开发。虽然Yii也有扩展Yii Extensions,但目前数量不多,而且只有少数是非常稳定的,其他的还有一些bug(也许这都是因为我对PHP和PHP框架的了解比对Python框架和Django的了解要多)。所以,如果有谁有从PHP转到Python框架的实际经验,能给我一些建议就太好了!

补充一下:我希望能听到一个在Django和Yii这两个框架上都有开发经验的程序员的实际反馈(或者至少玩过这两个框架的人),能确认在开发一个典型的CMS/门户网站/评论网站/类似Digg的网站时,哪个框架所需的时间更少。因为我最担心的就是时间,学习语言/功能/优点并不是那么重要,扩展性也是通过合理的数据库优化和其他架构调整来实现的。我还想强调的是,我不考虑Ruby on Rails,因为我不想为了一个框架去学习Ruby。我更关心的是在其他条件(人力/技能/数据库设计)相同的情况下,Django和Yii哪个能更快上线。请帮帮我,我已经考虑这个问题一周了!

2 个回答

0

我以前没用过Yii和Code Igniter,但我之前用过CakePHP,现在在用Django,而且我很喜欢。可以说,Python的测试文化更强,而Django的文档非常棒。如果你在GitHub上搜索Yii和Django,你会发现前者有191个项目,而后者有6176个项目。

在我看来,Python比PHP好得多,平均来说,Python的代码质量也比PHP的代码好。

我觉得你应该在Django和Rails或Sinatra之间做选择。Python社区比Ruby社区大,不过Rails的项目和开发者数量比Django多。

1

Vivek,这个问题很难给出比“这要看情况”更好的答案。个人认为,选择编程语言和它的生态环境是一个非常重要的因素,甚至可能比具体的框架更重要。

为什么呢?正如你提到的,你发现即使有框架,你还是需要从头开始写很多代码。这是我们编程生活中的一个基本事实——无论使用什么框架或库,最终我们总会写一些自己的功能,因为:

  • 要么是缺失的
  • 要么是现有的功能不够好,原因有千千万万种

所以,随着应用程序变得越来越复杂,我们会发现自己需要实现越来越多的功能,因为现有的库实在不够灵活。我认为,最近Python的微框架之所以成功,正是因为这个原因。

这就是基础重要的原因,而在你的情况下,基础就是PHP及其生态系统和Python及其生态系统的比较。这两种语言都有大量的库可供使用,但你觉得哪种语言更好用作为一种语言? 你和你的开发伙伴最熟悉哪种语言?哪种语言更容易找到新开发者(如果需要的话)?


附言:我对PHP了解不多,但对于Python/Django,除了Django Packages,还有Pinax

撰写回答