2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

关注

评论

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

ImageView(图像视图)

芯动大师

imageView android布局 图像视图

2023-01-08:小红定义一个仅有r、e、d三种字符的字符串中, 如果仅有一个长度不小于2的回文子串,那么这个字符串定义为“好串“。 给定一个正整数n,输出长度为n的好串有多少个。 结果对10^9

福大大架构师每日一题

算法 rust Solidity 福大大

2023年玩兔年小游戏《兔兔保卫萝卜战》赢新年祝福「钱兔无量」

非喵鱼

Java swing 小游戏 新年祝福

MSE ZooKeeper 数据导入导出功能上线

阿里巴巴云原生

zookeeper 阿里云 云原生

React源码分析2-深入理解fiber

flyzz177

React

React源码解读之更新的创建

flyzz177

React

《零基础学 Python(2023 版)》学习笔记 Day1

IT蜗壳-Tango

让 Java Agent 在 Dragonwell 上更好用

阿里巴巴云原生

Java 阿里云 云原生

恭喜 OpenSergo 获得中国开源云联盟 2022 “优秀开源项目”

阿里巴巴云原生

阿里云 开源 云原生 OpenSergo

React源码分析3-render阶段(穿插scheduler和reconciler)

flyzz177

React

vivo 故障定位平台的探索与实践

vivo互联网技术

根因分析 聚类 K-Means 二阶指数

React源码分析4-深度理解diff算法

flyzz177

React

React源码解读之任务调度

flyzz177

React

自动驾驶技术平台分享:百度Apollo开放平台8.0再升级,更简单,更便捷,更高效

石臻臻的杂货铺

自动驾驶

模块一作业(架构实战训练营)

Justin

架构实战营

前端leetcde算法面试套路之堆

js2030code

JavaScript LeetCode

程序员为什么下班后只关显示器从不关电脑

风铃架构日知录

Java 程序员 后端 码农 IT

架构实战营模块 4 作业

刘博

微博评论的高性能高可用计算架构

闲人Eric

#架构实战营

Higress & Kruise Rollout: 渐进式交付为应用发布保驾护航

阿里巴巴云原生

阿里云 云原生 Higress

airserver2023最新版免费使用教程

茶色酒

AirServer2023

Spring 响应式编程,真香!!!

老周聊架构

响应式编程

React源码解读之React Fiber

flyzz177

React

对话开发者:Serverless 落地的困境与破局

阿里巴巴云原生

阿里云 Serverless 云原生

RocketMQ 多语言 SDK 开源贡献召集令

阿里巴巴云原生

阿里云 RocketMQ 云原生

模块四作业

Ryan

架构

流量路由技术解析

阿里巴巴云原生

阿里云 云原生 流量路由

年终盘点一 | 云原生的 2022 年:降本提效、全面 Serverless 化

阿里巴巴云原生

阿里云 Serverless 云原生

云原生人才培养计划2.0 之 消息产品「全家桶训练营」重磅来袭

阿里巴巴云原生

阿里云 云原生

用javascript分类刷leetcode9.位运算(图文视频讲解)

js2030code

JavaScript LeetCode

前端leetcde算法面试套路之回溯

js2030code

JavaScript LeetCode

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