1

我正在探索向应用程序用户呈现可视化界面的可能性,该界面允许他们以数据流风格(如 Yahoo Pipes)输入一些自定义代码/功能。

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

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

4

1 回答 1

2

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

这些组件旨在连接到其他组件。在某些情况下,组件可以独立运行,但通常必须将它们连接起来才能完成全部工作。基本上,有三种组件: - source:生成输出(需要进一步处理或显示), - process:接收输入,处理它,然后将其传递给进一步处理或显示, - sink:接收输入,显示或保存它,并且不会传递给任何人。

一个典型的完整数据流构造包含一个source-process-process-sink链,其中process-type组件的数量甚至可以为零(source生成的数据由sink组件显示)。您可以考虑这三个组件,因为它们以前是一个程序,但它们已经损坏,您现在可以重新组装它们。

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

于 2010-12-03T22:45:21.083 回答