我打算写一个新的应用程序,它应该有一个GUI . 当我最近浏览了一本关于Scala的书(并且变得非常窒息)时,我决定首先学习该语言,然后尝试构建该程序 .
我想知道:在没有被迫使用Swing / AWT工具包的情况下,是否有任何可靠的方法在Scala中构建GUI?我不喜欢Swing / AWT,因为它们看起来与Qt&Co . 相比还不成熟 . 遗憾的是我找不到有关在Scala中构建GUI而不依赖于它们的更多信息 .
因为我对Scala很新,并且对它不太了解,但是,我也想知道特定工具包的Java绑定是否可以在Scala中以不牺牲任何Scala的令人愉快的方式使用功能(例如模式匹配) .
还有一点需要注意:该工具包应该支持Linux和Windows,并且Look-and-Feel应该与每个平台上的本机相同 .
UPDATE: 这是我目前的工具包排名(随意评论):
- SWT
本地L&F
真正的Java解决方案
. 还不确定性能
. 还不确定学习和编码的简单性
- dealloc需要释放资源
- Qt Jambi
部分原生L&F
很多可能性
很容易学习
. 还不确定性能
- 围绕C工具包的包装器=>代码可能会变丑吗?
- Java Gnome
. 不确定任何事情,但是 - 还有人试过吗?
似乎不存在没有积极开发的Java包装器的工具包:
- WxWidgets
丢弃的工具包:
- Swing / AWT:老了,我不喜欢编码
- JavaFX:针对富Internet应用程序 - 我想要一个独立的应用程序
从头开始为Scala程序员编写的新工具包会很好但我想这不会发生,因为有可能重用基于Java的解决方案 .
3 回答
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 Specific有2个绑定,一个是PyQT,另一个是PySide,最后一个的优点是LGPL许可证,你可以通过它获利 .
此处和此处的示例代码:http://qt-project.org/wiki/PySide_Example_Applications https://github.com/PySide/Examples