「Deno 2」正式リリース、Deno 1/Node.js互換性を保ち、フォーマッタ、リンター、Jupyter Notebook機能など統合。LTS版で企業ニーズにも対応
JavaScript/TypeScriptランタイムのDenoを開発するDeno Landは、Denoの登場以来初となるメジャーバージョンアップ「Deno 2」正式リリースを発表しました。
4 years after Deno 1.0, the next generation of JavaScript is ready for production at scale.
— Deno (@deno_land) October 9, 2024
Deno 2 is out today:
Fully backwards compatible with Node and npm Package management and node_modules and package.json
Long term supporthttps://t.co/LsV4D4Too8 pic.twitter.com/F6EI3whmX8
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 for Enterprise」も発表されました。Slack上で一定期間内に返答が保証されるプライオリティサポートと、優先的な機能のリクエストを行うことができるようになります。
Deno 2へのバージョンアップは機能面での区切りというよりも、こうしたエンタープライズ向けソフトウェアとしてのDenoの再定義とリブートという側面が強いように見えます。
Deno 2の詳細な新機能や変更点などはリリースノートをご参照ください)。
あわせて読みたい
増えすぎたデータベースと計画停止の苦労を、TiDBへの移行で解決できるか? レバテックの挑戦[PR]
≪前の記事
Windows 11にサードパーティのパスキー管理を統合できる「Passkey API」搭載へ。1PasswordやBitwardenなどシームレスにWindowsと統合可能に