基于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并且被许多人所喜欢。
- 关于线程的困惑
- Spring @SessionAttribute如何在同一个控制器中检索会话对象
- youtube.subscriptions.list(api v3) – nextPageToken不可用
- Netflix Archaius动态配置
- Xuggler支持哪些编解码器?
- java.lang.ClassNotFoundException:org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
- Java从DAO中删除重复的try,catch,最后的样板
- Java Joda Time – 实现Date范围迭代器
- 将原始数组转换为Object并返回