The 2015 Node.js Overview

Events of 2015
About io.js
Appendix

Events of 2015

Events of 2015

  • 2015/01:Node.jsからforkされた、io.jsのver1.0リリース
  • 2015/01TypeScriptのver1.4リリース
  • 2015/02:Node.jsのver0.12リリース
  • 2015/05:io.jsのver2.0リリース
  • 2015/05:HTTP/2 の RFC7540 が公開
  • 2015/06:ECMAScript 2015の仕様が承認された
  • 2015/07:TypeScriptのver1.5リリース
  • 2015/08io.jsのver3.0リリース(Node.jsとのMerge向け)
  • 2015/09:Node.jsio.jsとMergeして、ver4.0リリース
  • 2015/09:TypeScriptのver1.6リリース
  • 2015/10:最初のLTSとして、Node.jsのver4.2リリース
  • 2015/10:Node.jsのver5.0リリース
  • 2015/11:TypeScriptのver1.7リリース

Main Events for Node.js

  • 2015/01:io.jsのver1.0リリース
  • 2015/02:Node.jsのver0.12リリース
  • 2015/09:io.jsとMerge、ver4.0リリース
  • 2015/10:Node.jsのver4.2(LTS)リリース

The timeline of Node.js

About io.js

Why fork from Node.js

Why fork from Node.js

  • Node.jsのプロジェクトが、PRやIssueが放置気味で停滞気味だった
  • サポートポリシー的に新しいバージョンをリリースをしづらい
  • V8 Engineの更新をしたいが、新しいバージョンのリリースが必要になるため更新しづらい

それなら fork するよ

io.js 誕生!

  • io.jsには、Node.jsのメインコミッタも何人か参加
  • オープンガバナンスモデルでプロジェクトを運営することを明記
  • 週一程度のHangoutでのミーティングの様子をyoutubeにアップして公開している
  • semver(semantic versioning)準拠のバージョニング
  • V8のバージョンを着実にサポートする

Merge to Node.js

  • Node FoundationがLinux Foundationの協業プロジェクトとして発足し、Node.jsとio.jsがMergeされることになった
  • 今まで Fulltime CommitterはJoyentから給料が出ていたが、Node Fundationが設立されてそちらから給料が払われることになった
  • サポートポリシーが見直しされて、Long Term Support(LTS)とStableの各versionは別に管理されるようになった

Old version

偶数の安定バージョンを最新を含む2バージョンまでサポートする

新しい偶数の安定バージョンが出た(v0.14)場合、古い安定バージョン(v0.10)はその時点でサポートされなくなります。これが今までの Node.jsの中で痛みを伴う部分で、新しいバージョンのリリースを難しくしていた。

New version

LTSはリリースしてから2年半は確実にメンテナンスを行う

Long Term Support(LTS) version と stable version を別に管理することにしたことで、サポート期間が明確になった。

Enterprise向けとEgdeな人向けとも言える

Support Policy

Node.js LTS Release Schedule

Node.js LTS Release Schedule

Release LTS Start Maintenance Start LTS End
v0.10 (current) 2015-10-01 2016-10-01
v0.12 (current) 2016-04-01 2017-04-01
v4.2 2015-10-01 2017-04-01 2018-04-01
v.Next 2016-10-01 2018-04-01 2019-04-01

Appendix

semver(semantic versioning)

バージョンナンバーは、MAJOR.MINOR.PATCH とする。

バージョンを上げるには、以下のルールに従う。

  1. APIの変更に互換性のない場合は MAJOR を上げる
  2. 後方互換性があり機能性を追加した場合は MINOR を上げる
  3. 後方互換性を伴うバグ修正をした場合は PATCH を上げる

ECMAScript 2015

ES6と呼ばれていたもの

ECMAScript 2015 features

  • let, const keyword
  • class syntax
  • Default Parameters
  • Rest Parameters
  • Arrow Functions
  • Generator Functions
  • Array Spread
  • Destructing Assignment
  • Template Strings
  • Promise, Symbol, Reflect, Proxy, Set, WeakSet, Map, WeakMap Objects

Links

The 2015 Node.js Overview

By Hiroki Horiuchi

The 2015 Node.js Overview

  • 825