Skip to main content

Node.js 8.9.0がプロダクションレディに - エレガントなコーディングと、Webアプリ パフォーマンス最大20%増を実現

By 2017-10-311月 25th, 2018Press Release

Node.js 8が長期サポート対象になり、新しいJavaScript機能で安定性・スピード・簡潔さが向上

2017年10月31日、サンフランシスコ発 - オープン ソース プラットフォームNode.jsのサステナブルなエコシステム保守に取り組む、コミュニティ主導・業界支援コンソーシアムNode.js Foundationは、Node.js 8が製品利用可能 (production-ready) となり、事実上の長期サポート リリース ラインに加えられることを発表しました。Node.js 8は、機能的にNode.jsコミュニティによる過去最大のリリースの1つで、通常のWebアプリでは先行のNode.js 6より最大20%高速になります (nearFormより)。パフォーマンスが大幅に向上し、ラージ コードベースの保守も簡単になり、他の言語からの移行を考えている人々にとってもNode.jsが一層利用しやすいものになりました。

Node.jsは、企業アプリ、ロボティクス、APIツールキット、高スケーラブル サーバーレス アプリなどに使用されるJavaScriptランタイム環境です。軽量なアーキテクチャとモジュール方式を採用し、Netflix、Airbnb、Twitter、PayPal、Walmart、Yahoo!などよく知られたWebサイトやサービスで使われています。毎日約900万インスタンスがオンライン状態にあるNode.jsのプラットフォームは、デジタル トランスフォーメーションの主要な促進力であり、瞬く間にサーバーレス ・マイクロサービスベース・コンテナ化ワークロードのためのデファクト プラットフォームになりつつあります。

Node.js Foundationのエグゼクティブ ディレクターであるMark Hinkleは、次のように述べています。
「企業の最優先事項は、アプリケーションのパフォーマンス確保です。HTTP/2や最新のV8 JavaScriptエンジンのような新機能は、グローバル組織の大規模な事業展開に必要なパフォーマンスを提供します。Node.jsのビルドは、長期サポート戦略のおかげでこれまで以上に急成長し、13の作業部会、12人からなる技術運営委員会、およびNode.jsへの1,700人以上の貢献者からなる大規模で活発なコミュニティが、Node.js Foundaionのもとに集結しています。」

また、OpenTableのプリンシパル ソフトウェア エンジニアであるThomas Hunter氏は次のように述べています。
「OpenTableは、フロントエンド、API、およびフルスタックの開発に関してNode.jsに頼っています。Node.jsで開発者のアウトプットも一般のワークフローも改善されました。」

さらにライブ配信サイトMixerのシニア ソフトウェア エンジニアであるConnor Peet氏は次のように述べています。
「Node.js 8へのアップグレードによるパフォーマンス向上と、Async Awaitのような新機能によるエレガントなコーディングを期待しています。Node.js 8は、弊社のWebレスポンスを全体で70%カットし、さらにES7機能のアンロックによって、シンプルでメンテナンス可能なコードの記述を可能にします。」

Web &企業アプリのパフォーマンス向上

Node.js 8はV8 JavaScript Engine 6.1を使用しています。この新しい V8エンジンにはTurbofanとIgnitionのパイプラインがあり、Node.jsアプリ全体のメモリ消費低減と高速起動を実現しています。以前のテストでは、Node.js 8 は一般的なWebアプリでNode.js 6より最大20%高速で (nearForm https://www.nearform.com/ のテスト)、ライブ配信WebサイトのMixerによれば、一部ユーザーのWebレスポンス タイムが70%短くなっています。

HTTP/2 (今後変更の可能性あり) により、アプリケーション開発の高速化が可能になります。HTTP/2によって、JavaScript開発者はHTTP/1.1の次善策の多くを見直し、より高速・シンプル・パワフルなアプリケーションに置き換えることができます。

コミュニティのコラボレーションがNode.jsの安定性を強化

Googleのオープン ソース ハイパフォーマンスJavaScriptエンジンの担当グループであるV8チームは、現在Node.jsとChromiumを優先し、Node.jsをクラッシュさせる場合はV8をアップグレードできないようにして、Node.jsメンテナー コミュニティの負担を軽減し、ESNext機能の安定性と早期適応を強化しています。Node.jsの長期サポート (LTS) リリースとともに、この安定性はNode.jsを採用する多くの企業にとって重要です。

v8の変更とは独立しているステーブル モジュールのNode.js API (N-API) はNode.js 8で使用できますが、まだ実験段階です。この技術は、Google、IBM、Intel、Microsoft、nearForm、NodeSource、および個人貢献者のコラボレーションによって開発されました。ネイティブ モジュールを新バージョンのNode.jsに対して再コンパイルせずに実行できます。このためパッケージ メンテナーが依存関係を更新する必要がなく、より安定し、利用モジュールの選択の幅が広がります。また、VMを中立化し、Node.jpをIoTや自動車をはじめとする各種システムの新しい環境にも開放するための基盤作りもしています。

Async / Await がもたらすエレガント コーディングなど

Async / AwaitはNode.js 8でフルサポートされ、開発者はコールバックでなくリニアなコードを書けるようになるため、JavaScriptに慣れない人や、他の言語 (C#など) からNode.jsに移行する人々にも受け入れやすくなっています。大量のコード ベースをメンテナンスする人にも魅力です。

実験段階のES Modules

2015年に初めて標準化されたES Modulesは、WebでもNode.jsでも実行できるモジュール型JavaScriptコードを記述するための標準仕様です。Node.js 8.x LTSでは、実験段階のES Modules実装により、開発者はNode.jsで標準モジュール パターンの実験を開始でき、チームがファーストクラス サポートを行います。
Node.jsは、モジュールのロードに伝統的にCommonJSパターンを使用してきたため、8.x LTSでは引き続きこれがNode.jsのデフォルト動作になります。

Node.js 9の紹介

Node.js 9は、テストおよび実験に興味のある開発者向けです。このリリースは、試作段階の新機能の追加・テストにフォーカスしたもので、頻繁に更新されます。したがって、製品に使用することはお勧めできません。

この新版に含まれる大量の変更の中には、レガシーAPIの廃止や削除も含まれています。なお、Node.jsのコア コードベースは、新しいエラー システムにゆっくり移行します。この移行作業の目的は、ユニーク コードとNode.jsからのすべてのエラーとを関連付けることです。これによって、エラー メッセージを滞りなく変更できます。また、エラー メッセージに依存しないことでユーザー コードがよりロバストになります。このNode.jsリリース ライン ストラテジについては、こちらを参照してください。

このNode.jsリリースには、Alibaba、GoDaddy、Google、IBM、Intel、Joyent、Microsoft、nearForm、NodeSourceなどの企業のほか、大勢の個人開発者が貢献しています。現在 13の作業部会、12人からなる技術運営委員会、およびNode.jsへの1,700人以上の貢献者が存在し、GitHubでは4万以上のスター数を獲得しています。Node.js 10は2018年4月頃の発表が予定されており、2018年10月にはNode.js LTS版に入る予定です。

その他の資料

Node.js Foundationについて

現在 Node.js は 200 か国以上の何万という組織で利用され、毎日約900万インスタンスがオンラインになっています。Node.js は高性能かつ低レイテンシなアプリケーションのためのランタイムの代表格で、企業アプリケーションをはじめ、ロボット、API エンジン、クラウド スタック、モバイル Web サイトなどあらゆるものを強化します。

同財団は多様性のある企業によって構成され、IBM、Intel、Joyent、Microsoft、Google、Red Hat などがプラチナ メンバーとして参加しています。現在のゴールド メンバーは、GoDaddy、PayPal、NodeSource、シルバー メンバーは、Bitnami、Cars.com、Chef、Codefresh、Dynatrace、Fidelity、Groupon、HackerOne、Keymetrics、^Lift Security、Profound Logic、nearForm、npm、RisingStack、Sauce Labs、SAP、Snyk、SafetyCulture、YLD、Yahoo! です。詳細についてはこちらをご覧ください。https://nodejs.org

The Linux Foundation
Follow Us