【问题标题】:What libraries can I use to build a GUI with Erlang?我可以使用哪些库来构建带有 Erlang 的 GUI?
【发布时间】:2010-09-10 23:34:59
【问题描述】:

我可以使用哪些库来为 Erlang 应用程序构建 GUI?请每个答案选择一个。

【问题讨论】:

  • 看看会有什么反应会很有趣 - 不幸的是,erlang 并不是最流行的语言之一。

标签: user-interface erlang


【解决方案1】:

有用于构建前端的新兴 Scenic 库。它具有的特定于 erlang 的方法看起来很有希望。

【讨论】:

    【解决方案2】:

    对于为 Erlang 编写原生 GUI,wxErlang 似乎是当今最成熟的库(也在 SourceForge 上)。

    【讨论】:

      【解决方案3】:

      我将违反“每个帖子一个选项”的要求 - 抱歉,使用哪种工具实际上取决于您的优先级。

      一个相当稳定的库是gtkNode。它使用一种简单但强大的方式将所有 GTK 小部件映射到 Erlang,并且应该在各个版本中保持稳定。它也适用于 Glade GUI 构建器。它由 Erlang 大师 Mats Cronqvist 积极维护,但当然是尽力而为。

      WxWidgets 很有前途,有望成为 Erlang 的主要 GUI 库,但它仍处于测试阶段,界面还不稳定,也没有承诺向后兼容。

      因此,如果您想走在最前沿,WxWidgets 可能是您的理想之选。否则,gtkNode 应该为您提供一个相对容易和安全的漂亮 GUI。

      唯一官方支持的 Erlang GUI 库是 GS,它是 OTP 版本的一部分,并保证与即将发布的版本一起使用。因此,如果这比原生外观和现代外观更重要,那么它可能是一种选择。

      【讨论】:

        【解决方案4】:

        我已经在http://wxerlang.dougedmunds.com发布了一个 wxErlang 教程

        【讨论】:

        • 本教程需要账号。笏。此外,第一段代码是 C++ 生成的,没有对等效的 Erlang 代码进行注释。笏。如果我不熟悉 C++ API 怎么办?如果我不熟悉 C++ 怎么办?
        • 不确定您在寻找什么。教程中没有 C++,只有使用 wxErlang 的 Erlang。
        【解决方案5】:

        对于 Erlang 中的 GUI 应用程序,您应该使用 r13b 版本中包含的 wxErlang。 Beta 版的源代码已经存在了一段时间,但现在,自 r13a 以来,它已包含在主要的 OTP 版本中。

        【讨论】:

          【解决方案6】:

          我发现有人想用 Erlang 以外的东西为 Erlang 程序编写 GUI 有点令人费解? Erlang 的并发模型使其成为编写 GUI 的优秀语言。UI 元素和事件完美地映射到 Erlang 进程和消息。

          【讨论】:

          • 这并不是说 erlang 不适合 GUI,而是因为它非常擅长网络应用程序和消息传递,它使人们不再将 UI 界面直接硬编码到 erlang 中系统。
          • 相反,人们通常编写非常瘦的客户端,只将按钮按下或其他 UI 交互传递回 erlang 应用程序。这样,您就不必依赖用户在他们的系统上实际拥有 erlang 运行时。
          • 同样,由于 erlang 主要用于分布式服务器端应用程序,因此即使它非常适合该任务,也没有太多兴趣为其提供 GUI。
          【解决方案7】:

          大多数人不会在 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 中编写一个界面,你可能会考虑做一个通过 Yaws 提供的基于 web 的 GUI,erlang 网络服务器: http://yaws.hyber.org/appmods.yaws

          【讨论】:

          • Erlang 不是我推荐用于小事的那种语言。当你需要它疯狂地扩展,或者当你需要一个永不宕机的平台时,它真的开始发光了,即使你升级了代码。这些往往已经是大项目了。
          • 对于我来说,为 Erlang 推荐一个 GUI 库的第一件事永远不会是链接到 Java/C#。 :-) 不过,对于一个庞大的项目,这是一个有效的选择。
          【解决方案8】:

          我不确定有没有...但我在网上找到了Erlbol,还有一个听起来很有趣的X11 GUI,还有GTK2(pdf 链接)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-02-20
            • 1970-01-01
            • 2023-03-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多