2月3日、Denoは「Deno in 2023」と題した記事を公開した。昨年(2023年)一年間においてDenoがどのような進化を遂げたかを解説している。以下に内容を抜粋して紹介する。詳細は元記事を参照していただきたい。
Nodeとnpmとの互換性強化
Denoは2023年の改善を経て、Nodeの組み込みAPIをサポートし、npmモジュールの読み込みに対応した。これによりNodeとの互換性が向上し、既存のNodeプロジェクトをスムーズにDenoに移行できるようになった。
シンプルで高速なWebサーバー Deno.serve()
Denoが導入したDeno.serve()
関数により、Webサーバーの作成が大幅に簡略化された。イベントループメカニズムの最適化やライブラリ統合により、スループットも大幅に増加している。
より柔軟な deno.json
deno.json
は以下のような改善により、柔軟性を大幅に増した。
- インポートマップとしての利用
- フォーマットオプションの向上
- Node / npmとの互換性の向上
- シンプルな構成構造への変更
- globサポートの追加
Language Server Protocol(LSP)を用いたスムーズな開発体験
DenoのLanguage Server Protocol(LSP)の統合が向上し、エディタやIDEでの開発体験が大幅に向上している。
WebGPUの統合
DenoがWebGPUを導入したことで、開発者はJavaScriptを使用してGPUハードウェアのパワーを直接利用できるようになった。
Jupyter Notebooksのサポート
JupyterがDenoをサポートすることで、JavaScriptおよびTypeScriptを使用したデータサイエンスや可視化が可能となった。実際の例や画像を挿入し、Jupyterのサポートがどのように利用されるかが示されている。
オープンソースで公開されているRustクレート
Denoが提供するRustクレートには、rustls-tokio-stream、fastwebsockets、monch、deno_task_shellなどがある。
Freshの進化
DenoのモダンなフルスタックWebフレームワークであるFreshが、新機能の追加や性能向上などで進化している。以下に、Freshの進化について具体的な改善点や利用シーンの拡充を箇条書きで示す。
- ルーティングの強化: URLルーティングの柔軟性が向上し、複雑なアプリケーションでも使いやすくなった。
- サーバーサイドレンダリング(SSR)のサポート: サーバーサイドレンダリングが追加され、SEO向上や初回表示の高速化が可能になった。
- Fresh CLIの拡充: プロジェクトの作成やビルド、デプロイなどの開発フローをサポートするCLIが更に充実。
Denoのクラウドサービスの拡充
Denoは2024年現在、Deno Subhosting、Deno KV、Queues、Cronと言ったクラウドサービスを提供している。
Deno Subhosting: Netlifyのエッジ機能やDeco.cxのeコマースストアなどに力を発揮しており、今回のアップデートでセルフサービスが可能となった。サードパーティのコードを安全に実行するために設計されており、最大テナントの分離を実現している。
Deno KV: グローバルに分散されたデータベースとして機能し、Deno Deployを使用することで最適なパフォーマンスを提供する。また、独自のオープンソースバイナリやNode/npm向けの公式Deno KV npmモジュールなど、多岐にわたるサポートが行われている。
Queues: イベントキューの形式でアプリケーションを拡張し、非同期処理をサポート。Deno Deploy上で利用することで、柔軟なキュー処理が実現されている。
Cron: タイムベースのジョブスケジューリングを提供し、定期的なタスクの実行を可能にしている。これにより、アプリケーションの自動化が容易に行える。
Deno 2がくる!
最後に、Denoは現在「Deno 2」に向けた準備を進めている。このアップデートでは、Nodeおよびnpmとの互換性向上が焦点となり、スムーズな移行を保証するためのマイグレーションガイドが提供される。さらに、改良されたランタイムに加え、プロジェクトの依存関係を管理し最適化するための新たなロードマップが今後数週間以内に予定されている。
詳細はDeno in 2023を参照していただきたい。
Deno's progress in 2023 is impressive with features like improved Node.js compatibility and Deno.serve. It’s exciting to see how this can enhance web development, just like platforms such as abcya bring creativity to gaming.
Geometry Dash Lite - Some stars are easy to grab, while others are hidden or placed in hard-to-reach areas, challenging you to perfect your skills.