- Rails 或 Django 中是否有其他框架中不存在的重要功能?
- 对于企业 Web 应用程序,是否缺少任何重要的东西?
这个问题不是为了争论——我试图为即将到来的项目做出明智的技术决策。关于选择其中一个框架,我有两个担忧是:
- 与外部系统(Java、.Net、SAP 等)集成
- 报告 - 使用任一框架生成复杂的报告/图表(财务)是否会有任何困难。这将需要多表连接、自定义排序、分页(w/ajax)和不同设备的打印。
这个问题不是为了争论——我试图为即将到来的项目做出明智的技术决策。关于选择其中一个框架,我有两个担忧是:
Jython 上的 Django 运行良好,因此 Java 集成应该不是问题。
在集成方面,不要忘记 Django 也是 Python,因此您拥有标准库的大量支持以及所有其他成熟且支持良好的 Python 项目。将第 3 方 Python 代码集成到 Django 项目中通常是微不足道的。
冒着成为福音派的风险,我将列出以下 Django 杀手级功能:
Django 也有 GeoDjango。纽约时报在他们的Represent项目中选择了 Django 而不是 Ruby,以便于映射支持:
“我们使用 Python Web 框架 Django 构建 Represent。虽然我们的大部分工作都是使用 Ruby on Rails 完成的,但我们为这个项目选择了 Django,因此我们可以使用 GeoDjango,一个支持几何字段并扩展 ORM 以允许空间查询。”
我的经验/意见是,Rails 更加灵活,生态系统更加多样化,并且发展速度更快,而 Django 更稳定,变化更慢,文档更好。
Rails 在通过 JRuby 与其他系统集成方面具有巨大优势。您可以让 rails 访问整个 Java 生态系统并在 JVM 上运行它。
Django 可能能够通过 IronPython 来利用 .Net(除了 IronPython 存在之外,我对此一无所知 - 而 IronRuby 只是在路上,但还没有出现)