Google app engine 我应该使用GAE+;我的基于Scala的网络应用程序的提升?

Google app engine 我应该使用GAE+;我的基于Scala的网络应用程序的提升?,google-app-engine,scala,playframework,playframework-2.0,lift,Google App Engine,Scala,Playframework,Playframework 2.0,Lift,以前曾有人问过这样的问题,但现在所有的答案都过时了 我期待着在基于Scala的webapp上工作。我理解这个问题可以分为两部分,但我将它们作为一部分发布,因为它们依赖于相同的上下文,依赖于托管平台和使用的框架 我读过多篇关于游戏的辩论(很棒)!和升降机相比,却找不到好的玩法!2.1和升降机。我如何决定哪一个更适合我的场景(社交网络网站) 类似地,这也有一些很好的论据,如果我使用电梯,应该使用哪个平台,但这是从2010年开始的,似乎已经过时了。推荐的提供商(stax.net)已经死了(或者我猜它已

以前曾有人问过这样的问题,但现在所有的答案都过时了

我期待着在基于Scala的webapp上工作。我理解这个问题可以分为两部分,但我将它们作为一部分发布,因为它们依赖于相同的上下文,依赖于托管平台和使用的框架

我读过多篇关于游戏的辩论(很棒)!和升降机相比,却找不到好的玩法!2.1和升降机。我如何决定哪一个更适合我的场景(社交网络网站)

类似地,这也有一些很好的论据,如果我使用电梯,应该使用哪个平台,但这是从2010年开始的,似乎已经过时了。推荐的提供商(stax.net)已经死了(或者我猜它已经与cloudbees.com合并)。我个人倾向于GAE,因为他们一开始就很快,但不确定这些问题是否仍然存在:

  • 对演员的支持(我不确定Akka是否能帮助我们解决这个问题)
  • 对给定会话的请求由不同JVM提供服务,而不通知正在运行的应用程序
  • 引用大卫·波拉克(Lift的主要作者):
  • GAE速度慢且不可扩展,尽管谷歌声称(我见过的每个人都是如此) 与那些试图扩展GAE应用程序的人交谈,这些应用程序失败并消失了 其他地方)。GAE将您锁定在一个极不理想的存储中 机制。GAE是免费的,但Stax也是免费的,而且还有很多便宜的 选项包括切片主机。接下来是Amazon EC2和 货架空间。所以,我还没有找到一个很好的理由让任何人使用GAE。 如果没有充分的理由使用GAE,投入大量资源 围绕GAE JVM不兼容性(例如,没有新线程)进行编码 看起来像是浪费


    如果我选择GAE,另一个问题是缺少游戏!2.1支持。我还没有看到这方面的模块。另一个问题是将来很难迁移到其他数据库(尽管我听说迁移到MongoDB应该相对容易)。最坏的情况是离开GAE,使用AppScale。

    这个问题非常开放,因此我将分享我对Scala web app开发的经验和看法,因为这可能会帮助您做出决定

    我使用Scalatra和使用Jetty作为服务器的Scalate构建了我的第一个scala web应用程序。该应用程序托管在Amazon EC2实例上,我对此没有任何问题。。。它从2011年底开始运行,只出现了一个小问题,需要10分钟才能解决。我发现学习在web应用程序中使用Scala是一种很好的体验

    Typesafe()似乎选择了Play框架,因此对于我的下一个基于scala的web应用程序,我可能会选择Play。我一直在读的一本关于Play框架的书是“Play for Scala”。本月(2013年10月)刚刚出版

    我的印象是Lift在过去是go-to框架,但现在已经转移到Play框架。

    我个人使用,并且是我大多数项目的第一选择。我尝试了几种云主机服务,但都没有成功(特别是Heroku和RedHat。我不认为我尝试了GAE,因为你已经引用了David Pollak的帖子)。要使用cloudbees,您只需要一个。然后运行
    cloudbees部署
    目标就很容易了。在一分钟内,您的代码就启动并运行了。我被这件事的简单程度吓坏了。我之所以选择Mongo,主要是因为它非常出色(注意,现在有一个)

    Cloudbees和MongoLab的另一个我非常喜欢的地方是它们都有免费服务。这对我来说很好,因为我只在空闲时间做这些项目,所以我不想在我的想法还不成熟的时候花钱


    至于举重,我无法与之相比。我下载/安装了play,并立即被MVC关闭。我觉得视图优先的方法,尽管对我来说是陌生的,但似乎是一种更直观、更强大的构建web应用程序的方法。我喜欢Lift不会让我忘记我正在开发一个web应用程序的事实。我经常觉得MVC框架试图与HTML/CSS/JS等保持一定的距离。

    我的理解是,Lift放弃了使用Typesafe,而不是选择使用Typesafe。这里有一个解释:我不会说游戏是必经之路,但它似乎是Java/MVC世界中阻力最小的一条道路。Lift需要对Scala有更好的理解,并了解view-first体系结构,但一旦了解了,我认为与其他平台相比,Lift有很多优势,但最好的选择总是针对具体情况。我喜欢这些问题,并同意有很多关于它的讨论,这两个web框架似乎从来没有进行过主观比较。许多评论似乎总是徒劳的;“我曾经试过XXX五分钟,我不喜欢它,所以我改用了YYY。YYY太棒了…选择XXX会有风险。YYY获胜。”我现在正在学习自己玩,非常喜欢它。但我从来没有给电梯什么比草草一瞥-所以不能帮助实际回答你的问题。我很想读一篇关于2Re GAE的主观评论,问题是,你为什么想要GAE?如果您想要一个免费/按流量计费的JavaWeb服务器,现在还有很多其他选择。如果您想要一些特定于GAE的功能,那么您已经决定了。Lift似乎没有任何可重用的模块(如此处提到的身份验证等:)。另外,发展速度虽然很好,但似乎比游戏慢!。我说得对吗?我还想知道,如果我想公开一个后端API(比如移动应用程序),是否有一个简单的方法可以使用Lift(我甚至不知道Play是否有帮助)-比如GAE提供了一个非常快速开发的“后端API”。@Raj,Lift的一个弱点是它的文档。正因为如此,你有可能带着小鬼离开