我正在探索向应用程序的用户呈现可视化界面的可能性,该界面允许用户以数据流风格(类似Yahoo Pipes)输入一些自定义代码/功能。
我想知道,例如在管道中,他们的可视化编辑器是如何工作的。可视代码可以编译成文本语言并存储在数据库中吗?或者,各个块、连接器、变量等是否都可以存储在数据库中?
像微软的visual Studio这样的可视化编程语言IDE呢?代码是直接从可视化界面解释的吗?
发布于 2010-12-04 06:45:21
你在屏幕上看到的是冰山的顶端。组件是不同大小的、复杂的或简单的程序,具有公共接口。在数据流编程中,这些接口是生产者和消费者(输出和输入),因此组件可以可视化为输入和输出两端都有引脚的黑盒。当您连接引脚(端口)时,您将一个程序的输出引导到另一个程序的输入。组件已经为您预编译好了,可以运行了,您只需通过连接它们来设置它们的使用者(输入)和生产者(输出)即可。这就是为什么它们是黑盒:它们是程序,你不能改变它们(除非你得到了源代码)。
这些组件被设计为可以连接到其他组件。在某些情况下,组件可以独立运行,但通常它们必须连接在一起才能完成整个工作。基本上,有三种组件:- source:生成输出(这需要进一步的处理或显示),- process:接收输入,处理它,然后将其传递给进一步的处理或显示;- sink:接收输入,显示或保存它,并且不将其传递给任何人。
典型的完整数据流结构包含一个源-进程-进程-宿的链,其中进程类型组件的数量可以为零(源生成的数据由宿组件显示)。您可以考虑这三个组件,因为它们以前是一个程序,但它们已经损坏,现在您可以重新组装它们。
最公知的数据流系统之一是Unix外壳。CLI命令是组件。它们是预编译的,你只需在它们之间加上"|“就可以定义一个链。此外,大多数“源”命令可以独立使用,比如ls,并且大多数“宿”组件可以从定义为参数的文件接收输入,例如更多。
https://stackoverflow.com/questions/4280168
复制相似问题