【问题标题】:How do the Scala based frameworks stack up for a complete Scala newbie - Lift, Play, Circumflex, etc [closed]基于 Scala 的框架如何为完整的 Scala 新手堆叠 - Lift、Play、Circumflex 等 [关闭]
【发布时间】:2011-03-10 23:52:50
【问题描述】:

最近,基于 Scala 的 Web 框架社区发生了很多变化。来自 Rails、Rake、ActiveRecord 和迁移 - 这是一个很好的 Scala 框架,可以在其中构建生产站点?

如果提供更好的可维护代码,那么性能上的小幅下降是可以接受的。如果内置协作功能也会很好 - 例如诸如数据库迁移等。

【问题讨论】:

  • 哈哈!你担心 scala 比 rails
  • @Peter,性能评论是针对基于 Scala 的框架本身的。我以为我的语言很清楚。人们经常将 0.01% 的性能增益基准作为框架 A 优于框架 B 的原因——我希望避免这种情况。
  • 这是有道理的,我也有同感。我以为你的意思是你愿意牺牲一些速度来从 ruby​​ 到 scala,我认为这很有趣,因为 ruby​​/rails 通常被定型为相对较慢。

标签: java scala migration web-frameworks lift


【解决方案1】:

(主持人编辑:David Pollak 是 Lift 框架的创始人)

如果你想要一个简单的 Scala Web 框架来执行 CRUD 和一些页面,我的建议是 Play。它的开发周期很好,而且简单易上手。

如果您要构建一个会增长并处理大量流量的应用,我建议您使用 Lift ;-)

Lift 支持多种 ORM 系统。 Mapper 很像 ActiveRecord。 Mapper 不使用迁移,而是使用 Schemifier 从 Mapper 定义中读取模式定义并相应地更新 RDBMS。

如果您要构建任何类型的 Ajax 或 Comet 应用,Lift 是正确的选择。 Lift 的 Ajax 支持很简单……只需将服务器上的一个函数与一个 Ajax 控件相关联。当用户点击按钮、下拉选择等时,函数被调用。

Lift 拥有所有框架中最好的服务器推送(Comet)支持。请查看 http://liftweb.blip.tv/file/2033658/ 了解 Comet 支持的风格。

在性能和可扩展性方面,Lift 为 Foursquare 和其他高流量网站提供支持。

就简洁的代码而言,Lift 非常简洁,但类型安全(Play 和其他用字符串名称表示变量的框架并非如此)。因此,您将获得类型安全、非常可维护的 REST 支持,这里也非常简洁地展示了这种支持:http://www.assembla.com/wiki/show/liftweb/REST_Web_Services

【讨论】:

    【解决方案2】:

    在我看来,使用 scala 模块比提升要好得多,scala 是游戏中的一等公民。无状态,快速,简单,强大,在生产中使用,有可扩展模块,有活跃的用户/开发者,全栈框架,包括缓存,数据库,日志,... 看这个视频:http://vimeo.com/7731173

    【讨论】:

    • 我的两分钱都花在了 Play 上,这可能是最容易上手的。很棒的文档和简单的设置。非常类似于 Rails 项目结构
    • 一篇新文章:“Scala 和 Play 框架,哇!” mkaz.com/archives/1312/scala-and-the-play-framework 另一个 play-scala 视频:vimeo.com/11926707
    • scala 怎么不是电梯的一等公民?
    • @Peter:我也对 David Pollak 的回答印象深刻。他是 Lift 框架的开发者,也是最好的 scala 人之一。我最好的。
    • 我再次检查了lift,它有大量的状态,所以不能轻易扩展(我已经厌倦了foursquare样本,一切皆有可能,但开发成本很重要),play 默认是纯无状态的。并且使用 scala+scalete 玩更简单,更全栈,...
    【解决方案3】:

    Scala Web 框架当前(很可能是未来)的明星是 Lift,尽管您也可以使用任何其他 Java 框架,例如 Play with Scala。

    在从 Ruby 迁移到 Scala/Lift 时,您不必担心任何性能损失,期望它运行得更快(我听说比 Ruby on Rails 快 600% 到 2000% 之间的数字),但这取决于您的正在做。

    以下是 Lift 的创建者对来自 Rails 的人的两个简短解释,关于 what Lift doeswhy it might be interesting

    【讨论】:

      【解决方案4】:

      有关迁移,请参阅Scala Migrations

      Lift(目前)还没有构建器,但我认为游戏框架有。但是,如果您正在开发企业站点,Lift 可能是您要走的路。

      Lifty 是 Lift 的构建器/处理器

      有关 Lift 的介绍,请查看 Lift in Action(预发布)和 The Definitive Guide to Lift: A Scala-based Web Framework。后者也可以在Google Groups 看到文件“master.pdf”

      【讨论】:

        【解决方案5】:

        Lift
        应该类似于 Ruby on Rails 并且受到许多人的青睐。

        【讨论】:

          猜你喜欢
          • 2016-09-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-12
          • 2013-03-07
          • 2013-06-10
          • 1970-01-01
          • 2019-04-11
          相关资源
          最近更新 更多