【发布时间】:2013-10-14 22:29:19
【问题描述】:
以前有人问过这样的问题 - 但现在所有的答案都已经过时了。
我期待着开发基于 Scala 的 web 应用程序。我知道这个问题可以分为两个,但我将它们作为一个发布,因为它们依赖于相同的上下文,并且依赖于所使用的托管平台和框架。
我已经阅读了多篇关于 Play 的(很棒的)辩论!和 Lift,但在 Play 之间找不到很好的比较! 2.1 和电梯。如何确定哪个更适合我的场景(社交网络网站)?
同样,这个discussion 有一些很好的论据,如果我使用 Lift,应该使用哪个平台,但它是从 2010 年开始的,似乎已经过时了。推荐的提供商 (stax.net) 已死(或者我猜它已与 cloudbees.com 合并)。我个人倾向于 GAE,因为他们很快就开始了,但不确定问题是否仍然存在:
- 对actors的支持(我不确定Akka是否能帮助我们解决这个问题)
- 给定会话的请求由不同的 JVM 提供服务,而无需通知正在运行的应用程序
- 引用 David Pollak(Lift 的主要作者)的话:
尽管 Google 声称,GAE 速度很慢且不可扩展(我见过的每个人 与尝试扩展 GAE 应用程序的对话失败并消失了 别处)。 GAE 将您锁定在极其次优的存储中 机制。 GAE 是免费的,但 Stax 也是免费的,而且有很多便宜的 选项包括 SliceHost。接下来,您拥有 Amazon EC2 和 机架空间。所以,我还没有找到任何人使用 GAE 的充分理由。 如果没有充分的理由使用GAE,投入大量资源 围绕 GAE JVM 不兼容性进行编码(例如,没有新线程) 好像有点浪费。
如果我选择 GAE,另一个问题是 缺乏游戏! 2.1 支持。我仍然没有看到一个模块。另一个问题是将来难以迁移到其他数据库(虽然我听说迁移到 MongoDB 应该相对容易一些)。最坏的情况是退出 GAE 并使用 AppScale。
【问题讨论】:
-
我喜欢这些问题并同意已经有很多关于它的讨论,似乎从来没有对这两个 Web 框架进行过主观比较。许多cmets似乎总是徒劳无功; “我试过 XXX 5 分钟,从前 - 不喜欢它 - 所以我改用 YYY。YYY 太棒了......选择 XXX 后果自负。YYY 获胜。”我目前正在学习自己玩,非常喜欢它。但是我从来没有给 Lift 任何东西,只是粗略地看了一眼——所以对于实际回答你的问题没有多大帮助。我很想阅读对 2 的主观评论
-
关于 GAE,问题真的是,你为什么要 GAE?如果您想要一个免费/按流量计费的 Java Web 服务器,现在还有很多其他选择。如果你想要一些 GAE 特定的功能,那么你已经决定了。
标签: google-app-engine scala playframework playframework-2.0 lift