Pylons或TurboGears与.NET或Java比较
我们正在为一个客户启动一个项目。他们计划到年底时大约有5万用户。我们希望使用Pylons配合Mako和SQLAlchemy,客户那边的联系人对此很兴奋,但他的一些同事对此有些担心,因为他们习惯使用.NET或J2EE(他们更熟悉企业级的东西)。
他们的网页应用会有一些数据分析的功能,我们会把这些功能分担出去,还会加入一些社交网络的元素。(基本上他们现在只有一些Flex的原型设计用于用户体验)
我在寻找一些关于开发时间的证据,或者其他能帮助我们说服客户的理由。
另外一个可能是我们走错了方向,完全没有头绪。我希望不是这样。
如果能找到一些案例研究或相关资料就太好了。我找到的最好的是:
http://www.oracle.com/technology/pub/articles/rubio-python-turbogears.html
还有
http://www.oracle.com/technology/pub/articles/devlin-python-oracle.html
不过这些资料有点过时了(关于TG2等的内容)
谢谢!
3 个回答
如果他们想用j2ee,那真是疯了。在我看来,Visual Studio和C#非常不错,尤其是当你不想做什么复杂的事情的时候。不过,如果你想在C#的使用上进行一些超出它设计范围的定制,那就可能会变得很麻烦——你会被自动生成的XML配置文件搞得晕头转向等等。当然,我也觉得Pylons和SQLAlchemy可能会变得很复杂,因为它们也会生成很多东西,最后你可能还得重新配置。如果你想要完全的控制权,我建议使用一个不那么干扰的环境,比如Werkzueg。请阅读我关于如何在没有隐形支持的情况下编写MVC的文章。
如果你在寻找一个客户成功的案例,Virgin Charter 就是一个好例子,他们的网站使用了 Pylons 和 SQLAlchemy。这是一个高价值的交易系统,因为人们通过这个网站预订非常昂贵的航班。
对于流量更大的网站,Reddit 现在也在使用 Pylons,还有 Charlie Rose。
SQLAlchemy 和 Mako 都是由 Mike Bayer 设计的,他是一位资深的 Java 程序员。SQLAlchemy 的设计灵感来源于 Hibernate,采用了 Hibernate 支持的一些强大原则和模式。
如果他们对使用不熟悉的东西有顾虑,Pylons 是在 Jython 上运行的,而最新的 SQLAlchemy(0.6 版本)也快要在 Jython 上准备好了。这意味着你可以把整个 Pylons 应用打包成一个 WAR 文件进行部署,这样可以让那些熟悉 Java 的人更放心。
对于一般的 Python,可以提到很多大型动画工作室都在使用它,还有 S.Lott 提到的其他各种来源。
其实,做一个简单的概念验证服务,展示它是多么干净和简单,几乎更容易。
可以用简单的SQLAlchemy映射,快速演示一下查询处理。
再来一个简单的模板,展示一下Mako有多酷。
然后做一个简单的Pylons应用,把这两者结合起来。
最重要的是——使用他们的应用和数据。不要搞个无聊的“你好,世界”;也不要用现成的教程。
如果他们想把你干净、优雅的演示和.NET、J2EE进行比较,他们会发现其他语言的代码量要大得多。
编辑
给他们看看这个:http://python.org/about/success/
还有,最好的Python演示之一就是按照SQLAlchemy和Django教程的方式来做——在>>>
提示符下的交互式Python中进行。没有什么比这种简单到可以互动的编程更让人兴奋了。
你不会找到很多令人信服的案例研究。Python是一个社区,而.NET和J2EE是产品。 .NET有微软的广告支持;微软可以负担得起对他们产品进行广泛的调查和研究。Sun(即将成为Oracle)和J2EE也是如此——他们的宣传背后有很多市场炒作。
Python只有Python.org网站上的内容(http://python.org/about/)。各种相关项目(Pylons、Mako和SQLAlchemy)没有华丽的案例研究白皮书。它们有大量的下载量和很多口碑。
但是如果有人在寻找“证明”Python比.NET更好用的证据,那就不会有太多了。