Scala 中的 GUI 编程

我正在尝试学习Scala,我想通过编写一个简单的swing应用程序来学习,但我不确定GUI编程在功能世界中是什么样子的,特别是在使用Scala时。

任何来自OO / Java背景的指针,教程或陷阱都将非常受欢迎。


答案 1

Scala中的编程》一书确实包含了Scala-swing项目的概述。总的来说,这本书非常好,值得花钱作为一般参考,听起来就像你正在寻找的一样。

Scala-swing是一种“包装”库方法,所以,我不会称之为功能性的,真的。状态到处都是变异的,主要是因为这就是Swing的工作方式。

我还没有真正了解这个主题的许多“像啤酒一样免费”的资源,我认为Syngeca scala wiki可能会列出一些成为scala-swing的初步方法,但是,这只是一个猜测。:)


答案 2

我所知道的GUI编程的唯一函数式范式是Lisp的Cell。

Scala目前的Swing库是反应式的,这还不错。我听说它正在为2.8版本进行重做。

但是,还有其他框架。例如,最近的一个是SWT的Scala包装器。

我认为,在这一点上,还没有完成足够的项目来让任何特定的模式成为一个更好的选择。我建议看看那里的所有东西,并选择一个更适合你的。谁知道呢?您甚至可能成为最好的Scala GUI框架的主要贡献者,该框架后来成为...