2011-11-08 53 views
1

我正在进入斯卡拉,我觉得面向对象&功能范式组合真的很有趣。因此,我已经阅读了一些关于基本Scala的教程,但是现在我想深入到Scala中来,以便进一步了解Web应用程序。 任何人都有教程,链接,博客或任何有用的信息?斯卡拉为web应用程序

回答

4

绝对结帐play。它的语法非常流畅,具有动态加载的类(当您进行更改时不会重新启动JVM),并且可以很好地考虑API。

4

我还建议看一下Lift,因为它很好地利用了Scala的实力。例如,嵌入式SiteMap DSL用于构建您的网站,以及actor-based Comet implementation

在这个Interview with David Pollak他解释了他开始这个项目的原因和(简而言之)Lift相比Rails,Wicket,Smalltalk Web框架Seaside和Struts的好处。

有关于它的一些书籍(Lift in ActionThe Definitive Guide to Lift: A Scala-based Web Framework),其中包括两名beeing免费提供(Simply Lift由大卫·波拉克,Exploring Lift包括一个非常有趣的chapter about Lift's internals)。

当您来自MVC背景时,您应该了解为什么Lift为Web应用程序使用不同的"View First" architecture。但也有一个MVC Helper。关于这一点,另请参阅chapter 13 in Simply Lift

对于不同有趣的代码片段,我推荐Seven Things Demo Application,但也有another offical demo

当您阅读一些示例视图代码时,您可能会遇到像<lift:surround with="default" at="content">这样的标签。你将不得不导入xml命名空间来传递(x)带有这些标签的html验证器。由于这不是非常适合设计人员的方式,所以在视图中嵌入lift语义的新方法是使用常规html元素的class属性:<div id="main" class="lift:surround?with=default;at=content">

+0

实际上,我对Scala的Web框架感到非常失望,它们都很杂乱,无法读取,没有很好的记录。 – juliomalegria

+0

国际海事组织尤其是探索电梯是一个很好的文件的例子。但当然不在API文档的意义中......而关于可读性:如果函数式编程,嵌入式DSL,中缀表示法等等,我不想开始讨论......使代码更多或更少可读。两者都可以是这种情况,也取决于读者。但是,当我第一次阅读Lift码时,我经常感到困惑。 – Silas

+0

困惑?我迷路了。这是一个很大的改变,来自于像Django这样美丽,可读(以及有据可查)的东西。 – juliomalegria