我听到了很多有关Python语言的好意见。他们说它很成熟,富有表现力。。。我正在寻找Python中可用于生产的企业应用程序框架。“准备生产”是指:
通过缓存和声明性描述(例如JPA,Hibernate等)支持目标关系映射。 面向控件的用户界面支持-没有HTML模板,但类似JSF(RichFaces,Icefaces)或GWT,Vaadin,ZK之类的东西 组件分解和依赖注入(例如EJB或Spring) 单元和集成测试 良好的IDE支持 集群,模块化等(例如Terracota,OSGi等。) 有像IBM,Oracle等公司编写的成功应用程序(我的意思是真实的业务应用程序,而不是Twitter) 可能有商业支持 Python世界有可能吗?或只有选择是:
使用Python并从底部开始编写所有内容(费用太高) 坚持使用Java EE 购买.NET Stack
为此,我在瑞士的一家大型私人银行工作,在J2EE堆栈上编写Enterprise应用程序。
Python中有许多“生产就绪” Web框架。并且有很多大型的基于Python的网站。
就是说,我认为Python对于Enterprisy应用程序来说不是一个好的选择。它可以用作粘合语言或脚本语言(我们的部署脚本是Python)。对我而言,showstopper是向后兼容的(Python 3.x与Python 2.x并不向后兼容)。Python的理念似乎更具创新性,可以使语言更好,更流畅,并且不一定要支持10年前编写的程序。
在Web框架方面,我喜欢Django,但它肯定还太年轻,并且发展太快而无法在企业中使用。我对其他基于Python的框架没有太多经验。
如果要使用面向企业的框架,则必须使用企业堆栈(Java / .Net)。
另一方面,即使在Java世界中,也存在使用不那么精巧的框架的趋势。认为Spring vs EJB2或EJB3的权重比EJB2轻得多。或认为Flex(在我看来与企业框架相去甚远)在企业中越来越多地被使用。因此,如果您的企业具有足够的开放思想,可以使用Django,RoR或其他现代Web 2.0,进入社区,开放源代码,下一代,基于活动记录的框架,准备迈向未来……可能就没有那么长的时间了。 ..
最后,直接回答您的几点意见:
支持ORM /缓存/ ...:是的,但是大多数解决方案都基于活动记录,可以满足您可能要执行的90%的操作,但是绝对不如JPA / Hibernate完整/复杂 面向控件的UI:否,您将找不到标准,因此也将找不到第三方组件。您可能获得的最接近的是与jQuery或其他JS UI框架的集成 依赖注入:Spring到Python都有一个端口,由SpringSource维护。但是DI不在Python哲学中。相同的问题将通过函数,默认参数和闭包来解决。我们可能会认为Pythonic解决方案比Java方法更干净... 单元/集成测试:很好的支持,多种测试框架。但是,支持仍然不如Java,因为我们拥有大量围绕测试的工具。 良好的IDE支持:您可以为动态语言提供的支持数量存在技术限制,但至少Eclipse和Netbeans都对Python提供了强大的支持。 群集/模块化:群集将通过“不共享基础结构”和/或分布式缓存来解决。据我所知,还没有模块化的解决方案(就OSGI而言)。但是我会挑战说OSGI通常是解决我们企业中没有的问题的解决方案...
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。