我可以使用哪些库来用Erlang构建GUI?
我可以使用哪些库为Erlang应用程序构建GUI?请每个答案一个选项。
解决方案
大多数人不使用Erlang编写实际的GUI。一种更常见的方法是用Java或者Cand编写GUI层,然后通过套接字或者管道与Erlang应用程序对话。
考虑到这一点,我们可能希望研究用于在Java或者.Net应用程序与Erlang之间进行RPC的各种库:
http://weblogs.asp.net/nleghari/archive/2008/01/08/integrating-net-and-erlang-using-otp-net.aspx
http://www.theserverside.com/tt/articles/article.tss?l=集成Java和Erlang
编辑如果我们真的想用erlang编码接口,则可以考虑通过erlang Web服务器Yaws进行基于Web的GUI:
http://yaws.hyber.org/appmods.yaws
我不确定是否有任何...但是我在网上找到了Erlbol,听起来很有趣的X11 GUI和GTK2(pdf链接)
对于为Erlang编写本机GUI,wxErlang似乎是当今最成熟的库(也在SourceForge上)。
我感到有些困惑,有人想用Erlang以外的东西为Erlang程序编写GUI吗? Erlang的并发模型使它成为编写GUI的绝佳语言。UI元素和事件完美地映射到Erlang进程和消息上。
很抱歉,我会违反"每个帖子一个选项"的要求,但是要使用哪种工具确实取决于优先级。
gtkNode是一个相当稳定的库。它使用一种简单但功能强大的方法将所有GTK小部件映射到Erlang,并且在各个发行版中应继续保持稳定。它也可以与Glade GUI构建器一起很好地工作。它由Erlang大师Mats Cronqvist积极维护,但这当然是最大的努力。
WxWidgets非常有前途,有望成为Erlang的主要GUI库,但它仍处于测试阶段,并且该接口还不稳定,并且没有向后兼容性的保证。
因此,如果我们想稍微领先一点,WxWidgets可能就是选择。否则,gtkNode应该为我们提供外观相对简单且安全的GUI。
唯一受官方支持的Erlang GUI库是GS,它是OTP版本的一部分,并且保证可以与以后的版本一起使用。因此,如果这比本地外观和现代外观更为重要,则可以选择。
对于Erlang中的GUI应用程序,应使用r13b发行版中包含的wxErlang。该beta已在源代码上发布了一段时间,但自r13a以来,现已包含在主要的OTP版本中。
我已经在http://wxerlang.dougedmunds.com上发布了wxErlang教程