Introducing io.js VS Node.js – Press Start

Change is happening in the Node landscape.
A group of rebels forked the main Node project, tired to wait for new versions and ES6 features. Their goal is to provide a npm compatible framework that always runs over the latest V8 version. The underlying goal is to profit from ES6 features that are being implemented in V8.

Today, Clever Cloud gives you the possiblity to run your io.js app in the cloud.

PRESS START

A soundtrack is available for this post, in order to cope with its visual artwork:

Here comes the rain again

It is inevitable. Agent Smith, Matrix Reloaded (2003)

Open Source generates diversity. Node.js fork io.js hits its version 1.0 (1.0.4 now). After a slight clash with Joyent last year, one of the Node.js developers, Fedor Indutny, decided to go on his own to maintain a new version of Node.js.
As mentionned above, the goal it to support the features of version 6 of the ECMA-262 specification [PDF], which implementation timeframe was judged too slow on Node.js.

Why is supporting io.js great?

While it is great to have a production-ready environment, addressing stability and security concerns, we are still nerds. We love to use cutting edge technology. The io.js framewok just released version 1.0.4. This is not a stable version. It is just a version different enough from the node.js project that io people just felt they needed to express it in the version number.

Is io going to replace Node.js on Clever Cloud?

No. We will go on supporting Node.js and io together. For now, the default is the latest Node.js version. In the future, the standard for server-side javascript might be io, or Node.js, or another framework that does not exist yet. It is still a young ecosystem.
Even if the entire community switches to another Node.js fork, we will still support Node.js for compatibility reasons.

How do I use io.js on Clever Cloud?

It's fairly simple: as you specified the Node.js version in package.json, you just prefix the version with io.js:

{
  "engines": {
    "node": "iojs-v1.0.3"
  }
}

And that's it! The "node" executable will be the one provided by io.js.

What can I do with io.js?

First, you can do everything you could do with Node.js. In addition to that, io.js is mostly about new features. Check the "ES6 support" page: https://iojs.org/es6.html.
You can use Map instead of Object, you have out-of-the box Promises/A+, you can (and will) use the "let" keyword…

Try it now on Clever Cloud!

Credits & Thanks to nervewax for its great background image used for this post.

Blog

À lire également

Azimutt on Clever Cloud: easily view and manage your SQL databases

Simply creating databases is great, but being able to explore, analyze and manage them in a user-friendly interface is even better. With this in mind, we worked with Loïc Knuchel to integrate Azimutt on Clever Cloud.
Company

FrankenPHP, sessions in Materia KV, lifecycle: what will change in PHP on Clever Cloud

Since the first week of the year, we've delivered. There have been many new features on Clever Cloud, some more visible than others.
Company

SuperBOL: The COBOL revolution in the Cloud

COBOL, a programming language that is over 60 years old, continues to power a large proportion of the IT systems of the world's major companies, particularly in the financial and insurance sectors.
Features