我听说过很多关于 Scala 被用于 Web 开发的消息,但我很少听到关于 Scala 被用于桌面应用程序的消息。它在桌面应用程序中使用得不多,这是真的吗?造成这种情况的原因是什么?
3 回答
Scala 没有更多地用于桌面应用程序,原因与 Java 没有更多地使用相同。这就是缺乏好的工具包和框架。当然你有 swing、swt 和其他的,但它们不是很复杂,当你尝试使用它们时,你会觉得你过去了 10 年。真正的问题是为什么 java 桌面工具包那么糟糕,但这超出了本文的范围。scala 的驱动设计原则之一就是利用现有的 java 库。scala 在很大程度上做到了这一点。由于java现在主要存在于服务器端应用程序和android(而不是桌面)上,因此命运大致相同。
这在未来可能会改变,但我对此表示怀疑。
我认为这是因为缺乏工具。经常听说为工作选择合适的工具,其中工具可以是平台、框架、操作系统,或者在这种情况下,是编程语言。
Scala 本身没有任何东西可以阻止编写桌面应用程序。关键是您永远不会用一种语言编写程序:您使用工具包编写程序。工具包由语言、库和辅助工具组成,可将所有内容粘合在一起。Scala 是一门不错的语言,并且还从 Java 继承了一些很酷的小部件库,但是没有用于构建桌面应用程序的 Scala 框架。
因此,即使没有什么能阻止开发人员,也没有什么可以鼓励他们,这就是为什么通常选择其他平台进行桌面开发的原因。它经常成为 Tcl/Tk的例子
我认为这是因为该语言相对较新,它的功能主要有助于开发处理大而复杂的数据的应用程序(功能编程语言中常见的功能)或已经开发的框架有助于编写 Web 应用程序。
与 C++、java 等语言相比,将 scala 用于普通的“桌面”应用程序并没有太大的优势……但当然,一段时间后会有更多的开发人员在 scala 中编码,也会有更多的各种标准桌面 scala 应用程序。