Codeflow
Reviewed July 18, 2019Codeflow is an open-source, node-and-wire IDE built on top of NodeJS. The product was inspired by one of the founder's experiences with "business process workflow" software. He saw companies like Tibco, a visual backend editor a la Zapier but for enterprise, make millions of dollars just for the license, let alone $100k per server. Founded in 2013, Codeflow bootstraps by using the tool in their consulting work.
Product Feel
- đź‘ŤSlick Electron app: solid logo, colors, little details
- đź‘ŤClose to production-ready: few glitches and many libraries
- đź‘ŽFeels similar to text-based NodeJS
- 👎Java-inspired (“isInterface”, “annotationSchema”, “inherits”)
Basic Usage
The above video demonstrates:
- creating an HTTP server
- creating two route patterns via conditionals
- accessing query params via the structured editor
- text concatenation via the structured editor
Asynchronous flow
Nodes-and-wires are for asynchronous or side-effectful computations, but with a synchronous-like arrow-based interface, avoiding “callback hell.” The inside of nodes are for pure, functional, and synchronous expressions. Most node-and-wire languages suffer from information overload, but this model hides much inside nodes, keeping the node-and-wire interface as a high-level overview of the asynchronous and side-effectful code.
You can join asynchronous computations like so:
And handle asynchronous errors like so:
Fluid Structured Editor
The structured editor has a unique tree menu for searching for functions:
Once you select a function, it pulls up its documentation with examples inline:
The structured editor is limited to prefix notation a la LISP. Even arithmetic operations are prefix in Codeflow, but these are compiled to infix JavaScript under the hood for performance. Because everything is prefix, "surround with function" covers all possible ways to extend an expression:
You can drag & drop and delete expressions:
The following video demonstrates adding parameters, accessor properties, and detecting and a type error:
Debugger
It’s a bit clunky, but it definitely beats console.log’s everywhere.
However step-debugging isn't as necessary because it saves every HTTP request and intermediate value since the start of the server in debug mode.
API Creator
It automatically generates Swagger documentation.
Schema Creator
The tool features a special structured editor for constructing schemas for objects.
Pricing
Codeflow is free and open-source.
Wishes
- Import npm libraries without building a Codeflow wrapper
- Automatic hosting and deployment
- Edit via web browser
- Not have to worry about files and just live in their node-and-wire world