写点什么

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:537461
用户头像

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

关注

评论

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

敏捷开发工具leangoo时间线视图管理项目

顿顿顿

Scrum 敏捷开发 甘特图 敏捷开发管理 时间线

程序调试利器——GDB使用指南

京东科技开发者

c++ debug gdb 企业号 3 月 PK 榜 程序检测

FL Studio编曲2023最新水果中文版本功能介绍

茶色酒

FL Studio 21

详解基于 Celestia、Eclipse 构建的首个Layer3 链 Nautilus Chain

鳄鱼视界

初识VUE响应式原理

京东科技开发者

Vue 系统架构 Proxy 企业号 3 月 PK 榜 响应系统

Deploy Workshop|DIY部署环境,让OceanBase跑起来

OceanBase 数据库

数据库 oceanbase

用友BIP事项会计 X 全面预算:多维数智预算助力企业敏捷算赢未来

用友BIP

智能会计

走进RocketMQ(四)高性能网络通信

白裤

Java RocketMQ io RocketMQ网络通信

你也能成为“黑客”高手——趣谈Linux Shell编程语言

京东科技开发者

Linux 系统架构 操作系统 开发 企业号 3 月 PK 榜

写入性能:TDengine 最高达到 InfluxDB 的 10.3 倍,TimeScaleDB 的 6.74 倍

TDengine

大数据 tdengine 性能测试 时序数据库 国产数据库

类加载机制

Apache IoTDB

IoTDB

如何使用 Apache IoTDB 中的 UDF

Apache IoTDB

UDF IoTDB

详解Docker容器运行GUI程序的方法

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 3 月 PK 榜

基于 eBPF 的 Serverless 多语言应用监控能力建设

Serverless Devs

Serverless

详解基于 Celestia、Eclipse 构建的首个Layer3 链 Nautilus Chain

股市老人

A/B实验避坑指南:为什么不建议开AABB实验

字节跳动数据平台

大数据 云服务 数据产品 AB testing实战

2022 IoTDB Summit:京东刘刚《Apache IoTDB 在京东万物互联场景中的应用》

Apache IoTDB

大数据 时序数据库 IoTDB

CDR2023下载安装图文教程coreldraw23

茶色酒

CorelDraw2023

Serverless 时代开启,云计算进入业务创新主战场

Serverless Devs

Serverless

开源即时通讯IM框架 MobileIMSDK:快速入门

JackJiang

网络编程 即时通讯 IM

数据基础设施 NFTScan 新增支持 Gnosis 网络

NFT Research

NFT 区块链、

更人性化的无阈值监控不再为无效告警烦恼

观测云

运维 可观测性 监控告警 观测云 可观测性用观测云

云原生应用配置管理的5个最佳实践

HummerCloud

云原生

打造成熟产品矩阵,瓴羊Quick BI数据可视化获认可

小偏执o

OceanBase 第六期技术征文活动|小鱼还能“更快”吗?你来试试

OceanBase 数据库

数据库 oceanbase

OceanBase 4.0 解读:全链路追踪要解决什么问题?从一条慢SQL说起

OceanBase 数据库

数据库 oceanbase

超越ChatGPT:大模型的智能极限

OneFlow

人工智能 深度学习 ChatGPT

面对“中国式报表”需求, 瓴羊 Quick BI的电子表格优于Tableau?

夏日星河

详解基于 Celestia、Eclipse 构建的首个Layer3 链 Nautilus Chain

威廉META

k8s 探测方法总结

Geek_f24c45

#k8s

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