问题描述
最近基于Scala的Web框架社区出现了很多变化。来自Rails,Rake,ActiveRecord和迁移 - 这是一个很好的Scala框架来构建生产网站吗?
There has been a lot of movement in the Scala based web framework community of late. Coming from Rails, Rake, ActiveRecord and migrations - which is a good Scala framework to build production sites in ?
如果它能提供更好的性能,那么性能上的一小部分是可以接受的可维护的代码。如果内置协作功能也会很好 - 例如像数据库迁移等等。
A small hit in performance is acceptable if it gives a much better maintainable code. It would also be nice if collaboration features are built in - e.g. something like DB migrations, etc.
推荐答案
(主持人编辑:David Pollak是Lift框架的创始人)
如果你想要一个简单的Scala web框架来做CRUD和几页,那么Play就是我的建议。它有一个很好的开发周期,而且简单易用。
If you want a nice simple Scala web framework for doing CRUD and a few pages, Play would be my suggestion. It's got a nice development cycle and it's simple and approachable.
如果您正在构建一个将要增长并处理大量流量的应用程序,那么Lift是我的建议; - )
If you're building an app that is going to grow and handle lots of traffic, Lift is my recommendation ;-)
Lift支持各种ORM系统。 Mapper很像ActiveRecord。 Mapper使用Schemifier从Mapper定义中读取模式定义,并相应地更新RDBMS,而不是使用迁移。
Lift supports a variety of ORM systems. Mapper is much like ActiveRecord. Rather than using migrations, Mapper uses Schemifier to read the schema definition from the Mapper definitions and updates the RDBMS accordingly.
如果您正在构建任何类型的Ajax或Comet应用程序,Lift是正确的选择。 Lift的Ajax支持很简单......只需将服务器上的函数与Ajax控件相关联即可。当用户单击按钮时,下拉选择等等。函数被调用。
If you're building any kind of Ajax or Comet app, Lift is the right choice. Lift's Ajax support is simple... just associate a function on the server with an Ajax control. When the user clicks the button, pulls down the select, etc. the function gets invoked.
Lift具有任何框架的最佳服务器推送(Comet)支持。请查看 Comet支持的味道。
Lift has the best server-push (Comet) support of any framework. Please check out http://liftweb.blip.tv/file/2033658/ for a flavor of the Comet support.
在性能和可扩展性方面,Lift为Foursquare和其他非常高流量的网站提供支持。
In terms of performance and scalability, Lift powers Foursquare and other very high traffic sites.
就简洁代码而言,Lift非常简洁,但类型安全(Play和其他表示String名称变量的框架也是如此)。因此,您可以获得类型安全,可维护的REST支持,这里也非常简洁地证明:
In terms of concise code, Lift is very concise, yet type-safe (the same is not true of Play and other frameworks that represent variables with String names). So, you get the kind of type-safe, very maintainable REST support that's also very concise demonstrated here: http://www.assembla.com/wiki/show/liftweb/REST_Web_Services
这篇关于基于Scala的框架如何为完整的Scala新手堆叠 - Lift,Play,Circumflex等的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!