代码之家  ›  专栏  ›  技术社区  ›  husayt

谷歌AppEngine:Java或Python [复制]

  •  2
  • husayt  · 技术社区  · 16 年前

    可能重复:
    Choosing Java vs Python on Google App Engine

    我们将使用谷歌AppEngine平台来进行下一个大型Web项目。但是我们不确定要使用哪种口味:Java或Python。

    你能就每种方法的利弊提出建议吗?为了更快地构建更具伸缩性和效率的解决方案,这是最好的方法。

    提前谢谢

    2 回复  |  直到 16 年前
        1
  •  11
  •   Alex Martelli    16 年前

    我对这个问题给出了一个公认的答案,一个评论声称“非常相似”——但那是近一年前的事了。我仍然偏向于相同的方法(在Python上仍然是专家,Java中的Ruthy),但是在中间的一年里,我会说Java运行时几乎赶上了Python一个——或者,如果还没有完全的话,它已经取得了巨大的进步(当然,两个运行时都是并行的)。我在这个答案中的大多数一般考虑仍然大致有效。

    所以今天的主要考虑是,我觉得Python团队是多么的熟悉,多么熟悉Java,如果我们非常熟悉Java,而不是与另一个完全熟悉的话,那就跟你已经知道的一样,“赶上”另一个需要花费的时间可能比优势更大。你可以有这样或那样的方式(对于一个想要“拓展思维”体验的爱好者,我建议相反的做法:抓住机会去学习你还不知道的东西——但就眼前的生产力而言,坚持你知道的东西会提高它;—)。

    如果有一些“杀手库”你已经确定运行良好的运行时之一,你真的很热衷于在你的应用程序中使用,这可能是决定性的因素,如果不同的熟悉这两种语言的差异不是决定性的在你的情况下。

        2
  •  5
  •   matt b    16 年前

    了解这个项目需要做什么类型的事情会很有帮助,您需要与许多其他库、应用程序等集成吗?

    这只是一个轶事,但我最近在两个平台上都尝试了gae,并找到了python选项 方式 使用JDO比使用Java更容易工作。这其中的一部分与同时处理JDO有关,但我发现在短短几天内,我可以在Python中实现同样的精确功能,就像我在Java侧的几个星期一样。

    作为一个对python还比较陌生的人,我还需要处理很多事情来让自己在python中感觉更舒服,比如:

    • 对控制器和模型类进行单元测试的最佳方法
    • 构造控制器的最佳方法
    • 确定django模板是否令人满意,或者我是否应该尝试使用不同的模板系统

    当我尝试为我的GAE类编写Java单元测试的最佳方法时,我在6个不同的博客文章和关于如何最好地模拟App Engine Services的建议之间进行了反弹。有些看起来有用,有些看起来像黑客,但缺乏一个好的和支持的解决方案让我感到不舒服。

    在所有条件都相同的情况下,我会为greenfield项目推荐python风格。更容易开始,移动部件更少,生产环境中没有糟糕的jvm启动时间,不需要编译后字节码增强,等等。