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

Deploy Brinjel on Clever Cloud

Brinjel is an open-source field management software designed for market gardeners, helping them plan seasons, track harvests, and optimize agricultural production. Created by and for market gardeners, it emphasizes an intuitive interface and features tailored to real-world needs.
Company

Simplify the management of Clever Cloud services via Kubernetes with our new operator

For the past two years, we've been enabling our customers to combine the ease of deployment of Clever Cloud with an existing Kubernetes infrastructure through an operator.
Engineering

Keycloak as a Service: identity management without the complexity

Ensuring identification and access management (IAM) in an application is a challenge that is as strategic as it is complex. But beyond the initial configuration, it is the maintenance, updates and supervision of the solution that most mobilise your teams. What if you could concentrate on your applications... while a managed solution took care of the rest?
Company