「Deno 2」正式リリース、Deno 1/Node.js互換性を保ち、フォーマッタ、リンター、Jupyter Notebook機能など統合。LTS版で企業ニーズにも対応

2024年10月15日

JavaScript/TypeScriptランタイムのDenoを開発するDeno Landは、Denoの登場以来初となるメジャーバージョンアップ「Deno 2」正式リリースを発表しました

Denoは、Node.jsの開発者であるライアン・ダール氏がNode.jsの開発の経験から得た反省を基に、あえてNode.jsとの互換性を捨て、Node.jsよりも優れたサーバサイドのJavaScript/TypeScriptランタイム実現を目指すとして開発を始めました。

そのためNode.jsのパッケージシステムであるNPMには対応せず、新たにシンプルなモジュールシステムとしてURLを使用するシステムを採用し、TypeScriptへの対応、より忠実なWeb標準への対応、フォーマッタやリンターなどのツールをオールインワンで提供することによる開発のシンプル化、などの方針が掲げられたのです。

しかしNode.jsのエコシステムの充実ぶりと、Denoの競合として登場したBunがNode.js互換を実現して注目されたことなどを背景に、ライアン・ダール氏は2022年に大幅な方針変更を発表。DenoにNode.js互換機能を搭載し、Node Package Manager(NPM)にも対応するとしました。

参考:Denoが大幅な方針変更を発表。3カ月以内にnpmパッケージへの対応を実現、最速のJavaScriptランタイムを目指しHTTPサーバを刷新

Deno 2は、この方針の下でのメジャーバージョンアップ版となります。

Deno 2は劇的な変更ではなく追加的な変更

ライアン・ダール氏がDeno 2へのバージョンアップは劇的な変更ではなく追加的な変更である(It's not like this is kind of a radical change. This is an additive change.)と今年(2024年)8月に公開されたStackOverflow Podcastのエピソード「Ryan Dahl explains why Deno had to evolve with version 2.0 | The Stack Overflow Podcast」で語っている通り、Deno 2は大きな目玉と言えそうな新機能はなく、比較的地味なメジャーバージョンアップと言えます。

参考:「Deno 2」が間もなく登場。Denoにとって初めてのメジャーバージョンアップに

もちろん、一定の機能追加や改善などは、Deno 2でも行われています。

例えば、フォーマッターの「deno fmt」はHTML、CSS、YAMLファイルのフォーマットに対応、「deno task」はpackage.jsonのスクリプトが実行可能になり、「deno compile」はWindowsの実行ファイルの署名とアイコン設定に対応、「deno serve」はマルチコアサーバでの並列処理に対応、DenoにJupyter Notebookを統合した「deno jupyter」では画像やグラフ、HTMLの出力に対応したことなどが挙げられます。

LTS版とエンタープライズ向け有償サポートを提供開始

Deno 2では、これまでなかったLTS(Long Term Support:長期サポート)版が登場します。

LTS版は今年(2024年)11月にリリース予定のDeno 2.1でスタートし、6カ月間メンテナンスによるバグフィクスが提供されます。次のLTS版は2025年4月にリリース予定のDeno 2.6で、これもリリース後6カ月間メンテナンスが提供されることになります。

LTS版もこれまで同様にMITライセンスのオープンソースで提供されるため、Denoを一定期間固定したバージョンで利用したいニーズでは、このLTS版を選択するのが適切でしょう。

Deno 2からLTS版が登場

また合わせて有償サポートが提供される「Deno for Enterprise」も発表されました。Slack上で一定期間内に返答が保証されるプライオリティサポートと、優先的な機能のリクエストを行うことができるようになります。

Deno 2へのバージョンアップは機能面での区切りというよりも、こうしたエンタープライズ向けソフトウェアとしてのDenoの再定義とリブートという側面が強いように見えます。

Deno 2の詳細な新機能や変更点などはリリースノートをご参照ください)。

あわせて読みたい

JavaScript プログラミング言語 開発ツール Deno TypeScript




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本