我是一名正在寻找适用于Python的企业级Web应用程序框架的开发人员。我主要关心的是长期支持,广泛的功能集和可靠性。
我一直在试验Pylons,在我在Windows上使用Ruby on Rails的可怕经验之后,我甚至不得不编译自己的Postgres驱动程序,Pylons和Python一直是天赐之物。
我认为Python由于非常强大的社区和商业利益,由于可用库的数量和他们为Python 3.0保持一些相似的向后兼容性所做的努力,因此绝对是“企业就绪”。我担心的是:
我们都可以对Pylons 0.97说同样的话吗?
另一方面,我一直在研究如何让SQLAlchemy在Pylons上使用DB2,以便我可以自动执行基本的CRUD操作。 http://code.google.com上的当前DB2驱动程序仅支持SQLAlchemy 0.4无用。您是否认为IBM致力于使DB2与SQLAlchemy长期合作?或者你们觉得用DB2提供的ODBC驱动程序创建SQLAlchemy接口会更好。与使用IBM的SQLAlchemy驱动程序相比有什么缺点吗?
答案 0 :(得分:39)
当涉及到企业就绪时,我不确定使用Pylons和SQLAlchemy的堆栈在Python世界中的准备程度是多少。你已经准备好使用疯狂模式的大型遗留数据库(在大型企业世界中很常见),这就是Django在接缝处崩溃的地方。当然,在Django中,你可以仍然使用SQLAlchemy,但是所有的Django contrib工具都会崩溃,因为它们都依赖于你以“Django”方式做事的假设。
Pylons自2005年中期以来一直存在,它不会去任何地方。它实际上相当成熟,并且在发布之间有相当缓慢和稳定的发布时间表,为期6-10个月,并进行了相当多的测试。其中一个核心Pylons开发人员也是Jython的开发人员,确保Pylons可以在JVM上运行(这有助于将基于Pylons的应用程序放入对无法打包到WAR文件中以进行部署的内容的恶意的企业环境中)。
关于这里的其他一些“答案”,问题是关于Pylons是否是企业准备好的,我不知道为什么其他人无法阅读这个问题,而是选择开始传播他们自己喜欢的框架。很难说你应该使用Django / Zope / Grok,因为它有“更大的吸收”或“更大的社区”,如果这是选择应该是PHP的标准,这使得Django和Zope社区相比之下看起来很小。 。 Pylons肯定有一个足够大的社区可以维持自己,特别是因为它相当精简和紧凑的代码库没有像Zope / Django的“厨房水槽”框架那样多的错误。
答案 1 :(得分:2)
我想说如果你担心'企业级'的支持,你应该更多地关注Django。虽然你可以讨论这两个框架的相对技术优点,但毫无疑问Django有更大的吸收,并且有不少大公司使用它。
另一个原因是IBM(仅在最近几天)发布了Django driver for DB2,因此使用Django ORM的现有数据库应该没有问题。
答案 2 :(得分:1)
定义企业就绪。
另外,如果我们谈论可伸缩性,我会说你有更好的sqlalchemy镜头,因为你可以在必要时下载到原始sql。虽然活动记录模式似乎是高级框架很多价值的原因,但是如果你把东西放在一起会导致可扩展性问题。
当然,对某些人来说“企业准备”意味着复杂而昂贵,这是你的定义,而不是我认为没有python web框架可以满足你的需求。
答案 3 :(得分:1)
我认为一个软件企业在稳定和支持时就已经准备好了。
我相信Pylons / Python是稳定的。有很多使用Pylons的网站(包括流量最高的网站之一,reddit.com)。
支持明智我会考虑雇用了解Pylons或购买支持合同的人是多么容易。这有点难。如果你计划在内部支持Pylons已经准备好了。如果您正在寻找支持,以便在软件中断时让某人承担责任,您可能希望在其他地方寻找帮助。
答案 4 :(得分:0)
我接下来要使用Django。我实际上更喜欢Pylons,因为它比Django更精简,但考虑到你指定“企业就绪”,我想你可能想要对更大的框架进行对冲并随身携带厨房水槽。
答案 5 :(得分:0)
+1 Django
Pylons是一个很好的框架,但您必须匹配所有组件才能创建自己的架构,所以我认为它更适合更精简的项目。对于更大的东西,我建议Django,知道在一些大型网站上进行制作。
答案 6 :(得分:0)
如果你想要很快就会消失的框架,请看看Django和Zope社区中的一个框架(Grok,BFG,Zope3)。 Zope拥有一个庞大的社区,已经存在了十多年,并且不会很快消失,并且是许多新酷Python网络技术的温床。 Django是较新的,最近才进入版本1.0,但它有一个非常大的社区,并且也会或多或少地永远存在。