# flow-platform-sdk

> Flow: Flow-based programming for JavaScript ======================================================== [![Build Status](https://travis-ci.org/flowappplatform/flow-platform-sdk.svg?branch=master)](https://travis-ci.org/flowappplatform/flow-platform-sdk) [![

Latest version **1.3.3** (published 2019-05-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install flow-platform-sdk
pnpm add flow-platform-sdk
yarn add flow-platform-sdk
bun add flow-platform-sdk
```

## Health

**Score 35/100 (D)** — status: abandoned.

Positive: esm support; no vulnerabilities; high maintenance score.

Warnings: low downloads; no types.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 1.3.3 |
| Published | 2019-05-17 |
| First published | 2018-09-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 2 |
| Unpacked size | 135.2 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1 |
| Maintainers | hackerbayadmin |

## Links

- npm: https://www.npmjs.com/package/flow-platform-sdk
- Repository: https://github.com/flowappplatform/flow-platform-sdk
- Homepage: https://github.com/flowappplatform/flow-platform-sdk#readme
- Issues: https://github.com/flowappplatform/flow-platform-sdk/issues
- npm.io page: https://npm.io/package/flow-platform-sdk

## Dependencies (2)

- [url-regex](https://npm.io/package/url-regex.md) ^4.1.1
- [event-emitter](https://npm.io/package/event-emitter.md) ^0.3.5

## Recent versions

- 1.3.3 (latest) — 2019-05-17
- 1.3.2 — 2019-05-17
- 1.3.1 — 2019-02-01
- 1.2.0 — 2018-11-27
- 1.1.0 — 2018-11-18
- 2.0.99 — 2018-10-04
- 2.0.94 — 2018-09-25
- 2.0.74 — 2018-09-17
- 2.0.72 — 2018-09-17

## README

Flow: Flow-based programming for JavaScript 
========================================================
[![Build Status](https://travis-ci.org/flowappplatform/flow-platform-sdk.svg?branch=master)](https://travis-ci.org/flowappplatform/flow-platform-sdk)
[![codecov](https://codecov.io/gh/flowappplatform/flow-platform-sdk/branch/master/graph/badge.svg)](https://codecov.io/gh/flowappplatform/flow-platform-sdk)
[![npm version](https://badge.fury.io/js/cloudboost-flow.svg)](https://badge.fury.io/js/cloudboost-flow)

CloudBoost is an implementation of [flow-based programming](http://en.wikipedia.org/wiki/Flow-based_programming) for JavaScript running on both Node.js and the browser. From WikiPedia:

> In computer science, 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.

Developers used to the [Unix philosophy](http://en.wikipedia.org/wiki/Unix_philosophy) should be immediately familiar with FBP:

> This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.

It also fits well in Alan Kay's [original idea of object-oriented programming](http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en):

> I thought of objects being like biological cells and/or individual computers on a network, only able to communicate with messages (so messaging came at the very beginning -- it took a while to see how to do messaging in a programming language efficiently enough to be useful).

CloudBoost components can be written in JavaScript. The system is heavily inspired by [J. Paul Morrison's](http://www.jpaulmorrison.com/) book [Flow-Based Programming](http://www.jpaulmorrison.com/fbp/#More).


## Suitability

CloudBoost Flow is not a web framework or a UI toolkit. It is a way to coordinate and reorganize data flow in any JavaScript application. As such, it can be used for whatever purpose JavaScript can be used for. 


## Requirements and installing

CloudBoost Flow is available for Node.js [via NPM](https://npmjs.org/package/flow-platform-sdk), so you can install it with:

```bash
$ npm install flow-platform-sdk --save
```


### Installing from Git

CloudBoost Flow requires a reasonably recent version of [Node.js](http://nodejs.org/), and some [npm](http://npmjs.org/) packages. Ensure that you have CloudBoost Flow checked out from Git, and all NPM dependencies installed. Build and test CloudBoost Flow with:

```bash
$ npm run-script test
```

CloudBoost Flow is available from [GitHub](https://github.com/flowappplatform/flow-platform-sdk) under the MIT license.


## Development

CloudBoost Flow development happens on GitHub. Just fork the [main repository](https://github.com/cloudboost/cloudboost), make modifications and send a pull request.

We have an extensive suite of tests available for CloudBoost Flow. Run them with:

```bash
$ npm run-script test
```

## Docs

If you want to build new components using Flow SDK. Please read out the documentation for the SDK [here.](/docs)

## Contributing

If you're contributing to the Flow SDK. Please read the docs [here.](/docs/contributing)

---
_Source: https://npm.io/package/flow-platform-sdk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
