我要写一个新的应用程序,它应该有一个GUI。当我最近读了一本关于Scala的书时(并且变得非常哽咽),我决定先学习这种语言,然后再尝试构建程序。
我想知道的是:有没有像样的方法可以在 Scala 中构建 GUI,而无需被迫使用 Swing/AWT 工具包?我不喜欢Swing/AWT,因为与Qt&Co相比,它们似乎不成熟,不幸的是,如果不依赖这些,我找不到太多关于在Scala中构建GUI的信息。
由于我对 Scala 还很陌生,对它了解不多,我也想知道是否可以在不牺牲 Scala 任何令人愉快的功能(例如模式匹配)的情况下在 Scala 中使用特定工具包的 Java 绑定。
进一步说明:该工具包应支持Linux和Windows,并且外观和感觉应与每个平台上的本机相同。
更新:这是我目前的工具包排名(随意对此发表评论):
1. SWT
+ 原生 L&F
+ 一个真正的Java解决方案
.还不确定性能
.还不确定学习和编码的难易程度
- 需要 Dealloc 来释放资源
2. Qt 占碑
+ 部分原生L&F
+ 多种可能性
+ 相当容易学习
.还不确定性能
- C++工具包的包装器 =>代码会变得丑陋吗?
3. Java Gnome
.还不确定任何事情 - 有人尝试过吗?
似乎不存在主动开发的Java包装器的工具包:
- WxWidgets
丢弃的工具包:
- Swing/AWT:老了,我不喜欢编码
- JavaFX:针对富互联网应用程序 - 我想要一个独立的应用程序
从头开始为Scala程序员编写一个新的工具包会很好,但我想这不会发生,因为有可能重用基于Java的解决方案。
Scala 应该能够做任何你能在 Java 中做的事情,所以是的,如果你有一个 GUI 库的 java 绑定,它应该可以正常工作。
您是否将SWT视为AWT/Swing的替代品?它尽可能使用本机小部件。Eclipse 是用 SWT 编写的。
JavaFX 呢? JavaFX 2.0预计将很快发布。你可以将JavaFX写入Scala:)
QT-Jambi 是要走的路,它不能开箱即用,
指示?此链接对您有用:http://www.davidlauzon.net/2010/01/getting-started-with-qt-jambi-on-linux/
http://qt-jambi.org/downloads
我建议使用 4.6.3,因为完整,测试版缺少文件
__
我决定先学习那门语言,然后再尝试构建程序。
我不知道你是否在寻找特定的Java解决方案,但Python是一个不错的选择,你可以选择QT(再次),wxWidgets等等。
Python QT 具体有 2 个绑定,一个是 PyQT 和 PySide,最后一个的优点是 LGPL 许可证,你可以通过它获利。
此处和此处的示例代码:http://qt-project.org/wiki/PySide_Example_Applicationshttps://github.com/PySide/Examples