我听过很多关于Scala用于Web开发的内容,但我听到很少有关于Scala用于桌面应用程序的事情。它是否真的不适用于桌面应用程序?这是什么原因?
答案 0 :(得分:14)
Scala不再用于桌面应用程序,完全出于同样的原因,Java使用不多。这就是缺乏良好的工具包和框架。当然你有摇摆,swt和其他,但他们不是很复杂,当你尝试使用它们时,你觉得你过去10年了。 真正的问题是为什么java桌面工具包不好,但这超出了这个范围。 scala的驱动设计原则之一就是利用现有的Java库。而斯卡拉在很大程度上做到了这一点。由于java现在主要生活在服务器端应用程序和android(而非桌面)上,因此主要有相同的命运。
这可能会在未来发生变化,但我对此表示怀疑。
答案 1 :(得分:8)
我认为这是因为缺乏工具。通常会听到为作业选择合适的工具,其中工具可以是平台,框架,操作系统,或者在本例中是编程语言。
Scala本身没有任何东西阻止编写桌面应用程序。关键是你永远不会用语言编写程序:你用工具包编写程序 。工具包由语言,库和帮助工具组成,可以将所有内容粘合在一起。 Scala是一种很好的语言,并且还从Java继承了一些很酷的小部件库,但是没有用于构建桌面应用程序的Scala框架。
因此,即使没有什么能阻止开发人员,也没有什么可以鼓励他们,这就是为什么通常选择其他平台进行桌面开发。它经常以Tcl/Tk
为例答案 2 :(得分:1)
我认为这是因为语言相对较新,其功能主要可以帮助开发处理大型复杂数据的应用程序(功能性编程语言中常见的功能),或者已经开发的框架有助于编写Web应用程序。
与C ++,java等语言相比,将scala用于普通的“桌面”应用程序并没有什么大的优势......但是,经过一段时间后,将会有更多的开发人员在scala中编写代码以及更多各种标准桌面scala apps。