基于Scala的框架如何为完整的Scala新手堆叠 – Lift,Play,Circumflex等

最近,基于Scala的Web框架社区出现了很多变化。 来自Rails,Rake,ActiveRecord和迁移 – 这是一个很好的Scala框架来构建生产站点?

如果它提供了更好的可维护代码,那么性能上的一小部分是可以接受的。 如果内置协作function也会很好 – 例如数据库迁移等。

(主持人编辑: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和其他表示String名称变量的框架也是如此)。 因此,您可以获得类型安全,可维护的REST支持,这也是非常简洁的示例: http : //www.assembla.com/wiki/show/liftweb/REST_Web_Services

在我看来,使用scala模块远比提升更好,scala是一流的公民。 无状态,快速,简单,function强大,在生产中使用,具有scalate模块,拥有活跃的用户/开发人员,完整的堆栈框架,包括缓存,数据库,日志记录,…查看此video: http : //vimeo.com/7731173

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

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

以下是Lift的创建者关于Lift的内容以及为什么来自Rails的人可能感兴趣的两个简短解释。

有关迁移,请参阅Scala迁移

Lift还没有构建器(但是),但我认为play框架有这个。 但是,如果您正在开发企业站点,那么Lift可能就是您的选择。

Lifty是Lift的制造商/加工商

有关Lift的介绍,请参阅Lift in Action (预发布)和The Definitive Guide to Lift:基于Scala的Web框架 。 后者也可以在Google网上论坛查看文件“master.pdf”

电梯
假设像Ruby on Rails并且被许多人所喜欢。