【问题标题】:Interact with the Cytoscape.js API usiing Ruby使用 Ruby 与 Cytoscape.js API 交互
【发布时间】:2020-12-13 07:30:18
【问题描述】:

我正在编写一个用于创建有向无环图数据结构的 Ruby 模块,该模块将包括添加/删除节点、边、防止循环和维护拓扑顺序的所有功能。最终,它将成为评估可能相互依赖的表达式的类似电子表格的实用程序的核心。

如果我的数据结构可以在用于绘制图形的众多功能强大的 js 库之一中可视化,这将非常有帮助,尤其是对于测试 - 我选择了Cytoscape.js。它的设置非常简单,它有一个很好的 JavaScript API 可以与图形交互和修改。我想知道 Ruby 是否可以通过某种方式与浏览器窗口进行通信,特别是与在那里运行的 Cytoscape 实例进行通信。实际上,我想我想将浏览器用作我的 Ruby 程序的 GUI。理想情况下,我可以在 IRB 中加载我的模块,调用 my_graph.add_edge('node_a', 'node_b'),一旦我的 Graph 类检查循环并根据需要重新排序,它会在 Cytoscape 实例上调用 cy.add({edge JSON...}),并且它会全部更新。

我在 Windows 10 上运行 ruby​​ 2.66,我的浏览器是 Firefox。

对不起,如果这是一个幼稚的问题,我对 ruby​​ 相当了解,但对 Web 开发知之甚少。 GUI 在 Ruby 世界中并不是一个大话题,它们似乎都用于制作小型桌面应用程序。我还想避免 Ruby of Rails 的复杂性。感谢阅读!

【问题讨论】:

    标签: javascript ruby user-interface cytoscape.js web-frontend


    【解决方案1】:

    我不知道是否有一个库可以从 Ruby 中控制 cytoscape。 很多时候,缺乏用于科学的 Ruby 库。 您可以选择创建自己的。

    如果我必须制作 ruby​​-cytoscape,我会使用 https://github.com/cytoscape/cyREST

    使用 Ruby 的 method_missing 和动态方法定义,创建一个运行良好的客户端并不难。

    祝你好运!

    PS。 我找到了这个。 https://github.com/kozo2/rb2cytoscape 但这只是一个骨架。

    【讨论】:

      猜你喜欢
      • 2017-07-24
      • 2014-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-05
      • 2012-05-12
      • 2020-10-08
      • 2012-03-10
      相关资源
      最近更新 更多