Ide 可视化编程语言是如何工作的?

Ide 可视化编程语言是如何工作的?,ide,dataflow,Ide,Dataflow,我正在探索向应用程序的用户提供一个可视化界面的可能性,该界面允许他们以dataflow-ish样式(la Yahoo Pipes)输入一些自定义代码/功能 我想知道,例如在管道中,他们的可视化编辑器是如何工作的。可视代码是否可以编译成文本语言存储在数据库中?或者单个块、连接器、变量等都可以存储在数据库中吗 那么像微软的VisualStudio这样的可视化编程语言IDE呢?代码是直接从可视界面解释的吗 你在屏幕上看到的是冰山的顶端。组件是不同大小、困难或简单的程序,具有公共接口。在数据流编程中,这

我正在探索向应用程序的用户提供一个可视化界面的可能性,该界面允许他们以dataflow-ish样式(la Yahoo Pipes)输入一些自定义代码/功能

我想知道,例如在管道中,他们的可视化编辑器是如何工作的。可视代码是否可以编译成文本语言存储在数据库中?或者单个块、连接器、变量等都可以存储在数据库中吗


那么像微软的VisualStudio这样的可视化编程语言IDE呢?代码是直接从可视界面解释的吗

你在屏幕上看到的是冰山的顶端。组件是不同大小、困难或简单的程序,具有公共接口。在数据流编程中,这些接口是生产者和消费者(输出和输入),因此组件可以可视化为一个黑匣子,在其输入和输出端有引脚。连接管脚(端口)时,将一个程序的输出引导到另一个程序的输入。组件是为您预先编译的,它们已经准备好运行,您只需通过连接它们来设置它们的使用者(输入)和生产者(输出)。这就是为什么它们是黑匣子:它们是程序,你不能更改(除非你有源代码)

这些组件被设计为与其他组件连接。在某些情况下,组件可以独立运行,但通常必须连接它们才能完成整个工作。基本上,有三种组件: -来源:生成输出(需要进一步处理或显示), -处理:接收输入,对其进行处理,然后将其传递给进一步的处理或显示, -接收器:接收、显示或保存输入,不将其传递给任何人

典型的完整数据流构造包含一个源-进程-进程-接收器链,其中进程类型组件的数量甚至可以为零(源生成的数据由接收器组件显示)。您可以像以前一样考虑这三个组件,但它们已经损坏,现在您可以重新组装它们


unixshell是最著名的数据流系统之一。CLI命令是组件。它们是预编译的,您只需通过在它们之间放置“|”来定义链。此外,大多数“源”命令可以独立使用,如ls,大多数“接收器”组件可以从定义为参数的文件接收输入,例如更多。

很好的解释。那么,在一个像Yahoo Pipes(比方说PHP)这样设计的系统中,这些源、进程和接收器可能只是实际PHP类的可视化表示,这些类被动态调用和运行?那是个好办法吗?或者,在用户编辑了这个数据流之后,比如说,编译、存储、获取和运行这些类是更好的方法吗?是的,我不熟悉Yahoo管道。我在C++中编写了一个数据流系统,其中数据流程序(组件DEFS&连接列表)首先被编译成C++,然后到O,然后它与预编译的组件和分派器.O文件链接在一起。或者参见Unixshell,其中组件是可执行文件,连接是文件描述符(stdin、stdout)。数据流只是一种方法,它没有定义任何技术。电子表格也是DF系统,其中组件是单元格中的公式,连接是参考-在这种情况下,原始问题甚至不适用。