BT

NoFlo Aims to Enable Visual Flow-Based JavaScript Programming with Kickstarter Funding

by Zef Hemel on Aug 16, 2013 |

NoFlo is a 2 year-old project aiming to bring flow-based programming to JavaScript, both in the browser and server (node.js). Until now, flows had to be defined using the textual FPB language or JSON. NoFlo's creator, Henri Bergius, now seeks $100k in Kickstarter funding to be able to build a web-based visual designer to develop these flows visually as well.

Flow-based programming is a programming paradigm developed by J. Paul Morrison in the early 1970s. Wikipedia defines it as follows:

Flow-based programming (FBP) is a programming paradigm that defines applications as networks of "black box" processes, which exchange data across predefined connections by message passing, where the connections are specified externally to the processes. These black box processes can be reconnected endlessly to form different applications without having to be changed internally. FBP is thus naturally component-oriented.
FBP is a particular form of dataflow programming based on bounded buffers, information packets with defined lifetimes, named ports, and separate definition of connections.

NoFlo brings this box-and-arrow programming style to JavaScript. By combining some of the currently 250 reusable components, including components to use git,  Markdown, XML, HTML, CouchDB, Redis, programs can be written. Here is an example programming encoded using the FBP domain-specific language that NoFlo supports:

# In the graph we first need to define the nodes and the connections between them
Read(filesystem/ReadFile) OUT -> IN Display(core/Output)

# Start off the graph by sending a filename to the file reader
'myfile.txt' -> IN Read()

This little program reads the file myfile.txt and prints it to standard output.

Since flow-based programs are graphs, they scream for a visual representation. However, until now NoFlo programs had to be written either using the FBP language or JSON. To change this, NoFlo now created the NoFlo Development Environment Kickstarter. The goal of this project is to develop a web-based designer for NoFlo programs.

As of today the Kickstarter project has raised $78k out of its $100k goal.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

NoFlo and AppStrom by AppStrom AppStrom

NoFlo is revolutionizing the Visual Programming space. We'll be part of the revolution by building a Ruby port for NoFlo. AppStrom is a tool to build web applications without writing code. It allows non-tech people who have little or no knowledge on programming to kick start their Ruby On Rails app development with a cool set of visual tools. Along the way, AppStrom provides the flexibility to write code to the customize applications further.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

1 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT