写点什么

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

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

关注

评论

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

Android端信号处理总结

轻口味

android 音视频 11月日更

算法入门-插入排序

ES_her0

11月日更

[ 工程师书单推荐] - 年轻人,你渴望力量吗?

baiyutang

11月日更

工厂模式——猫粮公司的演进

蝉沐风

Java 设计模式 工厂模式 工厂方法模式

iOS开发:用XIB拖控件关联时报错:“Could not insert new outlet connection…”解决方法

三掌柜

11月日更

【Flutter 专题】19 图解【分享页面】底部对话框

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

一部亚马逊4.5高分的领域经典,首次落地中国

博文视点Broadview

linux之我常用的20条命令(之二)

入门小站

Linux

实验室lims系统解决方案

低代码小观

实验室管理系统 企业管理 LIMS实验室信息管理系统 LIMS系统 信息管理系统

苏丹2021年10月25政变断网事件

郑州埃文科技

【LeetCode】有效的完全平方数Java题解

Albert

算法 LeetCode 11月日更

如何免费下载学术文献?

Jackpop

Redis 日志篇:AOF 与 RDB 让数据持久化不丢失

码哥字节

redis 后端 Redis 核心技术与实战 11月日更

新书 | 这绝对是读起来最有趣的计算机科普绘本

图灵教育

少儿编程 绘本 逻辑启蒙

架构实战营 - 模块七作业

en

#架构实战营

尝鲜Windows 11一个月,被这3项巨变圈粉了....

Jackpop

系统架构面临的三大挑战,看 Kubernetes 监控如何解决?

阿里巴巴云原生

阿里云 Kubernetes 云原生 系统架构

基于消息队列 RocketMQ 的大型分布式应用上云最佳实践

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列 上云

架构训练营毕业总结

Clarke

架构实战营

让华为举步维艰,Android曾距离成为国产系统仅一步之遥!

Jackpop

把选择题变成问答题

FunTester

Java Python 测试 FunTester

毕业总结

Geek_ywh40v

第三期3天AI进阶实战营-Day1任务卡

IT蜗壳-Tango

11月日更

【设计模式】第十篇 - 外观模式 - 我来组成头部

Brave

设计模式 外观模式 11月日更

Apache APISIX 在腾讯云智能钛平台中的落地实践

API7.ai 技术团队

腾讯云 网关 API网关 Apache APISIX

架构实战营 王者荣耀商城异地多活架构设计

💤 ZZzz💤

架构实战营

在线文本纵向排版工具

入门小站

工具

Python代码阅读(第52篇):返回列表的头部和尾部

Felix

Python List Code 列表 阅读代码

架构实战营毕业总结

宁静志远

CSS架构之Theme层

Augus

CSS 11月日更

Apache RocketMQ 荣获 2021 中国开源云联盟优秀开源项目

阿里巴巴云原生

Apache 开源 RocketMQ 资讯

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