50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

无惧挑战,英特尔将以全面人工智能战略重新破局

科技新消息

英特尔中国研究院“双轮驱动,融合创新”,解锁智能发展新机遇

科技新消息

从Python到C++调用过程分析|OneFlow学习笔记

OneFlow

Python 人工智能 机器学习 深度学习框架 oneflow

要想推荐系统做的好,图技术少不了

华为云开发者联盟

推荐系统 图分析 图技术 单部图 异构图

Trino多租户最佳实践

移动云大数据

多租户 trino

浅析Alluxio元数据管理的实现原理

移动云大数据

元数据 Alluxio

web前端培训Nestjs模块机制概念与实现原理

@零度

前端开发 nest

英特尔中国研究院携手南京麒麟科创园成立智能边缘计算联合研究院,首批项目公布!

科技新消息

你还在因为数学对AI望而却步?看看这本秘籍吧!

博文视点Broadview

Apache ShardingSphere 企业行|走进 bilibili

SphereEx

数据库 哔哩哔哩 ShardingSphere SphereEx 走进企业

解决方案| anyRTC金融音视频解决方案

anyRTC开发者

音视频 WebRTC 解决方案 在线金融 视频通话

直播技术干货分享:千万级直播系统后端架构设计的方方面面

JackJiang

直播技术 即时通讯IM 音视频技术

直播预告 | 浅谈:云原生和容器的定义与关系

BoCloud博云

容器 云原生 直播预告

大数据培训如何实现集成Kafka与Storm的结合

@零度

kafka Storm 大数据开发

直面英伟达竞争,英特尔人工智能战略解析

科技新消息

深度学习模型:GPU服务器的主要应用场景

Finovy Cloud

人工智能 GPU服务器 GPU算力

适合中小企业的文档管理软件有哪些?

小炮

企业 文档管理

TiDB 在连锁快餐企业丨海量交易与实时分析的应用探索

PingCAP

构建具有跨域容灾能力的Zookeeper服务

移动云大数据

备份容灾

​深度解析英特尔的多样化人工智能战略

科技新消息

如何通过云效流水线扩展代码检测

阿里云云效

云计算 阿里云 代码 代码管理 代码检测

java培训和自学哪个适合你,自学需要什么条件

@零度

JAVA开发 自学java

王世杰:读博被美国拒签之后

OneFlow

人工智能 深度学习 计算机视觉 深度学习框架 oneflow

走进英特尔中国研究院,探索科技创新无穷奥秘

科技新消息

北京朝阳医院与英特尔中国研究院宣布合作,共同打造未来智慧急诊创新模式

科技新消息

Linux驱动开发-编写VS1053芯片音频驱动

DS小龙哥

4月月更

如何从阿里云Code升级至Codeup | 云效

阿里云云效

阿里云 研发效能 代码 代码管理 Codeup

Android C++系列:C++最佳实践1虚函数

轻口味

c++ android 4月月更

当 dbt 遇见 TiDB丨高效的数据转换工具让数据分析更简单

PingCAP

郑州轻工业大学——脑卒中患者延续性护理辅助系统的开发分享

HarmonyOS开发者

HarmonyOS 智慧生活

图数据库|基于 Nebula Graph 的 Betweenness Centrality 算法

NebulaGraph

数据库 算法 图数据库

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