Deno 2 正式版リリース!公式アナウンス内容を完全分解
Deno 2 正式版が10月9日にリリースされました。
Deno 2が目指すビジョンや詳しい変更内容については、公式ブログのアナウンス記事で詳しく説明されています。
今回はブログ記事と同名のタイトルで公開されたYouTube動画について、内容をチャプターごとに解説します。
内容そのものも興味深いので(特に最初の2分半)、ぜひ本記事を参考に視聴してみてください。
Announcing Deno 2
00:00 コールドオープン
Ryan Dahlが面白おかしな舞台演出で登場し、複雑になってしまったNode.jsの現状を指摘するとともに「Programming should be simple」というDenoのビジョンを説明するパートです。
このかっこいいオープニングだけは別動画に切り出されて公開されています。
Programming should be simple - YouTube
02:37 キーノート
JavaScriptはプログラミング言語の中で最も使われている「default language」であり、その開発体験をこれからもっと良くするためにDenoが存在することが説明されます。
03:59 デモ:単一ファイルのプログラム
Denoではpackage.jsonもnode_modulesも必要ありません。ファイル一つあればプログラムが実行できることをデモで示します。
TypeScriptコードも設定ファイルなしで書けるし、deno check
で型チェックさえできます。
Deno のインストール方法と新しい Deno プロジェクトの作成方法について説明します。簡単な "hello, world" プログラムを作成し、Deno の構文と機能を紹介します。
08:31 オールインワンツールチェイン
「オールインワンランタイム」であるDenoは、Node.jsのエコシステムを構成しているコンパイラーやフォーマッター、その他多くのツールを統合しています。
09:05 deno compile デモ
deno compile
でシングルバイナリー実行ファイルにコンパイルできるので、Denoなしでもプログラムを配布できます。デモ機はApple SiliconのMacですが、WindowsやLinux用の実行ファイルへのクロスコンパイルにも対応しています。
10:39 Deno 2の発表
Denoユーザーにとってこれまで課題だったのは、npmや既存プロジェクトなどのエコシステムとの互換性でした。Deno 2ではES Modulesで書かれたNodeプロジェクトとの後方互換性を確保し、Denoを少しずつ採用できるようになっています。
11:58 Next.js デモ
それを示すデモとして、Next.jsアプリを新規作成します。npx create next
の代わりに deno -A npm:create-next-app
を実行するとボイラープレートコードが展開されました。Astroをはじめとするその他のフレームワークでも同様のことが可能です。
14:18 Nodeとnpmとの互換性
URLによる直接インポートは、npmライブラリでは npm:
をプレフィックスにすることで可能です。chalkをはじめとする従来のライブラリが、node_modulesやpackage.jsonなしで使えることを見ます。
17:22 パッケージ管理
それでもパッケージ管理が必要な場合はあります。Deno 2では deno install
や deno remove
といったサブコマンドで、パッケージの追加や削除が簡単になりました。
18:17 deno install デモ
既存のNodeプロジェクトでnode_modulesを削除し、deno install
で再構築した後でもNext.jsが動作しています。
19:00 JSR
JSRはnpmを後継する新しいパッケージレジストリです。TypeScriptもサポートしており、Nodeだけでなく多くのランタイムに開かれています。代わりにCommonJS仕様にはもはや対応していません。
20:14 Deno標準ライブラリ
Nodeではテストやコレクション操作のためのライブラリがnpmのサードパーティーライブラリとして開発・提供されてきました。Denoではこれらを標準ライブラリとして提供し、ユーザーが迷わず利用できるようにしています。
21:18 JSR デモ
JSRライブラリを利用するには、名前に jsr:
プレフィックスをつけてインポートします。パッケージをパブリッシュするのも簡単で、コードの簡単な追加や修正を加えて deno publish
するだけです。
27:20 エンタープライズ機能
エンタープライズ企業にももっと利用してもらいたいので、Deno 2ではエンタープライズ向けの新しい機能が追加されています。これには、プライベートレジストリ、ワークスペース、および長期サポートが含まれます。
27:51 プライベートレジストリ
ひとつ目がプライベートレジストリです。npmと同様に、会社内部のプライベートレジストリにアクセスできます。
28:14 ワークスペースとモノレポ
ふたつ目はワークスペース機能で、複数のプロジェクトをひとつのリポジトリで管理できます。
28:44 長期サポート
最後が長期サポート(LTS)で、半年ごとにLTS版をリリースします。これにより企業は安定したバージョンのDenoを利用できます。
29:42 Denoは高速
DenoがNodeやBunよりも高速であることは、さまざまな種類のベンチマークで示されています。
30:36 deno jupyter デモ
DenoはなんとJupyter Notebookも標準でサポートしています。JSRやnpmのライブラリを利用して、データの分析やプロットなどによる可視化をJavaScriptコードで対話的に行うことができます。
34:42 アウトロ
Deno 2からはロゴも新しくなりました。みなさんもぜひ使ってみてください。
35:03 Q&A
Deno開発チームによるQ&Aのライブセッションが行われていました。
記事についての補足
最後にこの記事をどうやってまとめたかについて簡単に紹介します。
YouTube動画のURLとチャプター情報をGemini 1.5に渡してチャプターごとの要約を生成し、それを人手で書き直して解説を盛り込みました。
YouTube動画の撮影にはGyazoブラウザ拡張機能の動画フレーム撮影機能を利用しました。
Discussion