【发布时间】: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