# DCF.js Overview

DCF.js is a fast and general-purpose cluster computing system. It provides high-level API for [Node.js](https://nodejs.org/), and an optimized engine that supports general executing graphs. It's a re-implementation of [Apache Spark](http://spark.apache.org/docs/latest/index.html).

## Installing and Running the Shell

To get a quick shot of DCF.js, you can install dcf with npm or yarn. You must install node.js 8.0+ first. If  you haven't, download from [Download | Node.js](https://nodejs.org/en/download/current/).

{% tabs %}
{% tab title="npm" %}

```bash
npm install -g dcf
```

{% endtab %}

{% tab title="yarn" %}

```bash
yarn global add dcf
```

{% endtab %}
{% endtabs %}

Then you can run interactive shell cli with

```
dcf-shell
```

## Running the Examples from Source

You can download source of DCF.js from [git repo](https://github.com/dcfjs/dcf), install dependencies:

{% tabs %}
{% tab title="npm" %}

```
git clone https://github.com/dcfjs/dcf.git
cd dcf
npm install
```

{% endtab %}

{% tab title="yarn" %}

```
git clone https://github.com/dcfjs/dcf.git
cd dcf
yarn
```

{% endtab %}
{% endtabs %}

Then you can run examples like following:

```bash
npm run ts-node src/samples/tutorial-0.ts
```

## Install as Dependency

If you decide to use DCF.js in product, you should install it as a dependency

{% tabs %}
{% tab title="npm" %}

```
npm install --save dcf
```

{% endtab %}

{% tab title="yarn" %}

```
yarn add dcf
```

{% endtab %}
{% endtabs %}

We suggest you to use [typescript](http://www.typescriptlang.org) as scripting language. Type declaration of DCF.js is included in npm package.
