最近基于Scala的Web框架社区出现了很多变化。来自Rails,Rake,ActiveRecord和迁移 - 这是一个很好的Scala框架来构建生产站点?
如果它提供了更好的可维护代码,那么性能上的一小部分是可以接受的。如果内置协作功能也会很好 - 例如比如数据库迁移等等。
答案 0 :(得分:16)
(版主编辑: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
答案 1 :(得分:6)
Scala Web框架的当前(很可能是未来)明星是Lift,尽管您也可以使用Play with Scala等任何其他Java框架。
从Ruby迁移到Scala / Lift时,你不必担心任何性能损失,期望它运行得更快(我听说数字比Ruby on Rails快600%到2000%),但这取决于你的内容正在做。
对于来自Rails的人来说,以下是来自Lift的创建者关于what Lift does和why it might be interesting的两个简短解释。
答案 2 :(得分:6)
在我看来,使用scala模块玩游戏远胜于提升,scala是一流的公民。无状态,快速,简单,功能强大,在生产中使用,具有scalate模块,拥有活跃的用户/开发人员,完整的堆栈框架,包括缓存,数据库,日志记录,... 观看此视频:http://vimeo.com/7731173
答案 3 :(得分:4)
有关迁移的信息,请参阅Scala Migrations
Lift还没有构建器(但是),但我认为play框架有这个。但是,如果您正在开发企业站点,那么Lift可能就是您的选择。
Lifty是Lift的构建器/处理器
有关Lift的介绍,请查看Lift in Action(预发布)和The Definitive Guide to Lift: A Scala-based Web Framework。后者也可以在Google Groups看到文件“master.pdf”
答案 4 :(得分:3)
Lift
假设像Ruby on Rails并且被许多人所青睐。