我可以使用哪些库来为 Erlang 应用程序构建 GUI?请每个答案选择一个。
8 回答
对于 Erlang 中的 GUI 应用程序,您应该使用 r13b 版本中包含的 wxErlang。Beta 版的源代码已经存在了一段时间,但现在,自 r13a 以来,它已包含在主要的 OTP 版本中。
大多数人不会在 Erlang 中编写实际的 GUI。更常见的方法是用 Java 或 C# 编写 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=IntegratingJavaandErlang
编辑 如果你真的打算在 erlang 中编写一个界面,你可能会考虑做一个基于 web 的 GUI,通过 Yaws 服务,erlang web 服务器:http: //yaws.hyber.org/appmods.yaws
我将违反“每个帖子一个选项”的要求 - 抱歉,但使用哪种工具实际上取决于您的优先级。
一个相当稳定的库是gtkNode。它使用一种简单但强大的方式将所有 GTK 小部件映射到 Erlang,并且应该在各个版本中继续保持稳定。它也适用于 Glade GUI 构建器。它由 Erlang 大师 Mats Cronqvist 积极维护,但它当然是尽力而为。
WxWidgets 很有前途,有望成为 Erlang 的主要 GUI 库,但它仍处于 beta 阶段,界面还不稳定,也没有承诺向后兼容。
因此,如果您想走在最前沿,WxWidgets 可能就是您的选择。否则,gtkNode 应该为您提供一个相对容易和安全的漂亮 GUI。
Erlang 唯一官方支持的 GUI 库是GS,它是 OTP 版本的一部分,并保证与即将发布的版本一起使用。因此,如果这比原生外观和现代外观更重要,它可能是一种选择。
我发现有人想用 Erlang 以外的东西为 Erlang 程序编写 GUI 有点令人费解?Erlang 的并发模型使其成为编写 GUI 的优秀语言。UI 元素和事件完美地映射到 Erlang 进程和消息。
对于为 Erlang 编写本机 GUI,wxErlang似乎是当今最成熟的库(也在SourceForge 上)。
有用于构建前端的新兴Scenic库。它具有的特定于 erlang 的方法看起来很有希望。