Node.js 16がApple Siliconバイナリとともにリリース、JavaScript V8エンジンが9に強化

Table of Contents

Node.js 16がApple Siliconバイナリとともにリリース、JavaScript V8エンジンが9に強化

Node.js 16 は、ビルド済みの Apple Silicon バイナリと V8 JavaScript エンジンのバージョン 9.0 とともにリリースされました。

Node.jsのリリースは約6ヶ月ごとに行われます。新しいバージョンが最新リリースとなり、奇数番号のリリースは6ヶ月間のみサポートされますが、偶数番号のリリースは長期サポート(LTS)リリースとなります。直近3回のLTSリリースはそれぞれ10、12、14(それぞれDubnium、Erbium、Fermium)でした。バージョン16は、6ヶ月の成熟期間を経てGalliumと呼ばれるようになります。

このリリースはV8 JavaScriptエンジンのバージョン9.0をベースにしており、Node.js 15で使用されているバージョン8.6以降に追加された新しい言語機能をサポートしています。劇的な変更点はありませんが、開発者の皆様にはTimers Promises API、RegExp Matchインデックスなどの便利な機能にご期待いただけます。バージョン9.0は3月中旬にリリースされており、新機能の詳細についてはこちらでご覧いただけます。

これは、Apple Silicon 用のビルド済みバイナリを備えた最初の Node.js リリースであり、Mac インストーラーは、Intel と ARM の両方のアーキテクチャが含まれたファットバイナリとして出荷されます。

マウスが汚れている

2020年なので、マウス設定ツールはNode.JS Electronアプリであるだけでなく、悪意のあるWebページによって乗っ取られる可能性もあります。

続きを読む

Node.jsチームにES6モジュールのサポート進捗について尋ねました。JavaScript開発における課題の一つは、一部のライブラリやツールがrequire文でモジュールをインポートするCommonJSを使用している一方で、import文を使用するより新しいES6、あるいはESM(ECMAScript)標準を使用していることです。この2つのシステムは実行時の動作が異なります。ESMモジュールはWebブラウザでサポートされていますが、CommonJSはサポートされていません。

Red Hatのシニアソフトウェアエンジニアであり、Node.js TSC(技術運営委員会)のメンバーでもあるBethany Griggs氏は、「Node.jsはES6モジュールへの移行を進めています。プロジェクトでは、APIドキュメント全体のコードサンプルを更新し、ESMの例を含める作業も開始しました。しかし、CommonJSとその相互運用性も、当面は重要な課題であり続けるでしょう」と述べています。

「Node.jsプロジェクトには、Node.jsにおけるECMAScriptモジュール(ESM)の実装を推進することに重点を置いたモジュールチームがありました。このチームの作業の結果、Node.jsにおけるESM実装は2020年11月(v15.3.0)に安定版に昇格しました」とグリッグス氏は説明した。

最近、Node.js 12 と 14 の両方で ESM 実装を安定させるためのプル リクエストも開かれました。今月末に Node.js 10 がサポート終了となり、次の LTS アップデート セットがリリースされると、基盤となる ESM 実装は、Node.js のすべてのサポート対象リリース ラインで安定する可能性があります。

この点において、Node.js 16は画期的なリリースと言えるでしょう。しかし、Griggs氏は「一部のESM APIはまだ実験段階にあります。これには、インストルメンテーションやモックなどのユースケースを念頭に現在再設計中のLoaders APIが含まれます。また、まだ実験段階ではありますが、Node.js 14以降ではESMでTop-Level Awaitがサポートされています」とも指摘しています。

「ESM導入における障壁の一つは、アプリケーションパフォーマンス管理/モニタリング(APM)ソリューションの可用性です。しかし、ESM実装がNode.jsのすべてのサポート対象バージョンでまもなく安定稼働し、Loaders APIの再設計に向けた取り組みが進むことで、この分野でのソリューションの実現につながることを期待しています」と彼女は締めくくりました。®

Discover More