写点什么

NoFlo 的目标:借助 Kickstarter 基金实现基于流的 JavaScript 可视化编程

  • 2013-08-22
  • 本文字数:912 字

    阅读完需:约 3 分钟

NoFlo 是一个两岁的项目,它旨在为 JavaScript 在浏览器端和服务器端( node.js )提供带来基于流的编程。到目前为止,流的定义必须使用文本 FPB 语言或者 JSON。为了能够创建一个基于 Web 的可视化设计器用于流的可视化开发,NoFlo 的创建者 Henri Bergius 正通过 Kickstarter 募集 10 万美元的资金。

基于流的编程是一种编程范式,由 J. Paul Morrison 在 20 世纪 70 年代初创建 。维基百科这样定义它

基于流的编程(FBP)是一种编程范式,它将应用程序定义为“黑盒”进程的网络,进程之间通过预定义的连接,以消息传递的方式交换数据,而连接是从外部指定到进程。这些黑盒进程可以通过无限重连形成不同的应用程序,而不需要从内部更改进程。因此,FBP 天生是面向组件的。

FBP 是数据流编程的一种特殊形式,它基于有限缓冲区、定义了生命周期的信息数据包、命名端口和单独定义的连接。

NoFlo 为 JavaScript 带来了“方框和箭头(box-and-arrow)”的编程风格。程序编写可以通过组合已有的组件来实现。当前有 250 个可重用的组件,其中包括使用 Git、Markdown、XML、HTML、CouchDB 和 Redis 的组件。下面是一个示例程序,其中使用了 NoFlo 支持的 FBP 领域专属语言进行编码:

复制代码
# 首先,需要在图中定义节点及节点间的连接
Read(filesystem/ReadFile) OUT -> IN Display(core/Output)
# 在图的开始,把一个文件名传递给文件读取器
'myfile.txt' -> IN Read()

这一小段程序会读取文件 myfile.txt 的内容,并打印到标准输出设备。

因为基于流的程序是图,所以非常需要一种可视化表示法。然而到目前为止,NoFlo 程序必须使用 FBP 语言或 JSON 编写。为了改变这种情况,NoFlo 团队如今在 Kickstarter 上创建了 NoFlo 开发环境项目。该项目的目标是为 NoFlo 程序开发一种基于 Web 的设计器。

截至今天,该 Kickstarter 项目已经筹集了 10 万美元目标中的 7.8 万美元。

查看英文原文:**** NoFlo Aims to Enable Visual Flow-Based JavaScript Programming with Kickstarter Funding


感谢侯伯薇对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-08-22 21:537849
用户头像

发布了 256 篇内容, 共 99.0 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

自研 DSL 神器:万字拆解 ANTLR 4 核心原理与高级应用

Java随想录

编译 #java

华为云云服务高级顾问叶正晖:华为对多模态大模型的思考与实践

数新网络官方账号

攻破天网系统——Real World CTF (2022) 解题实录

qife122

CTF SQL注入

NeurIPS 2022机器学习论文精选

qife122

机器学习 算法公平性

基于增强与迁移学习的糖尿病视网膜病变分级方法

qife122

深度学习 迁移学习

多模态统一框架:基于下一帧预测的视频化方法

qife122

深度学习 多模态学习

ROS系统MoveIt玩转双臂机器人系列(二)--生成MoveIt配置包

芯动大师

movel

VMware ESXi 8.0U3g macOS Unlocker & OEM BIOS 2.7 集成网卡驱动和 NVMe 驱动 (集成驱动版)

sysin

esxi

VMware NSX 4.2.3 发布,新增功能概览

sysin

nsx

AI如何重塑芯片设计未来

qife122

芯片设计 半导体技术

Animate.css - 轻松实现网页动画效果

qife122

CSS 前端

某机构测试新型"氛围编程"工具Opal

qife122

AI编程 应用生成

IK 字段级别词典升级:IK reload API

极限实验室

ik easysearch

SonarQube Server 2025 Release 4 新增功能简介 - 代码质量、安全与静态分析工具

sysin

SonarQube

[大厂实践] Netflix 分布式计数器抽象

俞凡

架构 大厂实践

2020年Q1/Q2机器学习研究奖项公布

qife122

机器学习

NSF与某机构公布AI公平性资助项目

qife122

人工智能 算法公平性

什么是列存储(Columnar Storage)?深度解析其原理与应用场景

镜舟科技

数据分析 StarRocks 湖仓一体 列存储 延迟物化

设备端语音处理技术解析

qife122

语音识别 模型压缩

Studio 3T 2025.13 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端

sysin

Studio 3T

Shotcut 25.07 (Linux, macOS, Windows) - 免费开源视频编辑器

sysin

Shotcut

Splunk Enterprise 10.0.0 发布,新增功能简介

sysin

Splunk Enterprise

后量子密码学的真正价值:超越量子威胁的密码革新

qife122

网络安全 密码学

Metasploit Framework 6.4.76 (macOS, Linux, Windows) - 开源渗透测试框架

sysin

Metasploit

基于Ollivier-Ricci曲率的流形结构恢复算法

qife122

机器学习 计算几何

跨行星共识(IPC)实现区块链突破性扩展

qife122

区块链 web3

Metasploit Pro 4.22.8-2025071801 (Linux, Windows) - 专业渗透测试框架

sysin

Metasploit

VMware ESXi 8.0U3g macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版

sysin

esxi

Nexpose 8.16.0 for Linux & Windows - 漏洞扫描

sysin

Nexpose

e&公布2025年上半年合并净利润增长60.7%,达88亿迪拉姆

财见

JT-Math:大语言模型高级数学推理的多阶段框架

qife122

强化学习 大语言模型

NoFlo的目标:借助Kickstarter基金实现基于流的JavaScript可视化编程_JavaScript_Zef Hemel_InfoQ精选文章