2010-12-08 54 views
3

我很好奇什么是用Scala编程RIA的“最佳”方式。斯卡拉与电梯RIA和

我是新来的斯卡拉,只想知道从哪里开始学习。看起来很明显,对于网络应用来说,Lift是与Scala结合的完美选择。但是从我目前看到的,Lift并没有真正提供伟大视觉效果的关键。当然,由于Java的可兼容性,有数百种可能的框架,但这不是很有用。

您会推荐什么?

什么是常见设置?

其中我发现卡布奇诺,一个非常令人印象深刻的框架。 http://www.scala-lang.org/node/7281 它看起来像卡布奇诺是为一种名为Objective-J的语言而设计的。这对我来说听起来不太可能。但不知何故,他们可以一起工作。 http://frothy.liftweb.net/

回答

1

当然这都取决于。就个人而言,我从Lift开始就没有问题,即使我之前只在REPL中使用了Scala,只是为了了解一些语法。

如果您已经知道如何在没有显式循环的情况下以功能方式使用集合,它肯定会有所帮助,因此您可以更轻松地阅读和理解其他人的代码。但基本上,我认为即使没有功能语言背景,同时学习Lift和Scala也是可行的。这只是你必须习惯的集合,如果你碰巧知道Ruby(或者带有列表解析的语言),你很容易理解它。

Frothy整合尚未更新到最新版本的电梯,我不知道任何网站实际使用它,但也许这是一个问问Lift mailing list。无论如何,我认为Frothy只会帮助你连接一个Lift设置和一些Cappuccino前端,但是不会为Objective-J代码提供很多包装,所以你仍然需要在Objective-J中编写代码。

在这一点上,你可以问自己:为什么不用卡布奇诺来写整个事情,然后决定是否需要提升集成。

单独考虑电梯:您当然可以使用Lift和一些UI工具包,如JQuery UI用于视觉效果。Lift有许多先进的可能性,可以构建复杂的Web应用程序,但您必须关心自己的视觉布线。 (可以说,像Lift这样的有状态,非MVC('先看')框架可能比纯粹的MVC框架更适合富Internet应用程序......)

2

好吧,如果你是新来斯卡拉你应该尝试Play,因为学习web框架一种新的编程语言是很难的。

玩有一个大的社区,似乎是相当用户友好(在您的浏览器中按F5重新加载您的代码,并显示出现的任何错误)。

通常任何Java Web框架都可以在Scala中使用,但Play似乎对Scala友好。

也有相当多的Scala特定的Web框架,但我不知道足以告诉你更多关于它们的信息。

电梯是一个强大而令人印象深刻的框架,但对初学者来说当然没有什么。 (我认为“斯卡拉新手”并不意味着“我在Haskell,ML和Scheme中编程数十年”)。

+0

你说得对:“Scala新手”并没有隐藏其他功能语言的丰富经验。此外播放看起来不错。不过,因为我还没有使用过Play,所以学习Scala和Play将学习一门新的语言+框架,以及学习Scala和Lift。学习Lift是为了与Scala一起使用,而不是用于Java的Play吗? – lhk 2010-12-09 14:32:58

+1

Play主要针对Java开发人员,因此它更迎合了“普通”的需求。我使用Scala已经有一段时间了,但我仍然不明白Lift的所有功能。 – soc 2010-12-09 23:19:07