最近 Deno フレームワーク 1.28 の新しいバージョンのリリースのニュースがリリースされましたこれにより、サーバー上で実行されるコントローラーの作成に使用できるスタンドアロンの JavaScript および TypeScript アプリケーションの実行が可能になります。
Deno は、ユーザーにより安全な環境を提供するために作成されました Node.js アーキテクチャの概念的なエラーを排除します。 セキュリティを向上させるために、V8 エンジンのバインディングは Rust で記述されており、低レベルのメモリ処理が原因で発生する多くの脆弱性を回避しています。
ノンブロッキング モードでリクエストを処理するために、同じく Rust で記述された Tokyo フレームワークが使用されます。 Tokyo では、マルチスレッドをサポートし、非同期モードでネットワーク要求を処理する、イベント駆動型アーキテクチャに基づく高性能アプリケーションを作成できます。
機能の一部 Deno の原則は次のとおりです。
- JavaScript に加えて、組み込みの TypeScript 言語サポート。 型のチェックと JavaScript の生成には通常の TypeScript コンパイラが使用されるため、V8 で JavaScript を解析する場合に比べてパフォーマンスが低下します。
- ランタイムは、単一の自己完結型実行可能ファイル (「deno」) の形式で提供されます。 Deno を使用してアプリケーションを実行するには、お使いのプラットフォーム用の実行可能ファイル (サイズは約 30 MB) をダウンロードするだけです。このファイルには外部依存関係がなく、システムに特別なインストールを行う必要はありません。
- HTTP を介したネットワーク リクエストの効率的なアプリケーション処理。このプラットフォームは、高性能ネットワーク アプリケーションを作成するように設計されています。
- Deno と通常の Web ブラウザーの両方で実行できるユニバーサル Web アプリを作成する機能
- モジュールの標準セットの存在。その使用には外部依存関係へのバインドは必要ありません。
- Standard Collection モジュールは、互換性についてさらに監査およびテストされています。
- このパッケージには、組み込みの依存関係検査システム (deno info コマンド) とコード フォーマット ユーティリティ (deno fmt) が含まれています。
- すべてのアプリケーション スクリプトを XNUMX つの JavaScript ファイルにまとめることができます。
Deno 1.28 の主な新機能
新しいバージョンの主な変更点は、 npm リポジトリでホストされているパッケージとの安定した互換性、 何 Deno は 1,3 万以上のモジュールを使用できます Node.js プラットフォーム用に構築されています。 たとえば、Deno ベースのアプリケーションは、Prisma、Mongoose、MySQL などの永続的なデータ アクセス モジュールや、React や Vue などのフロントエンド フレームワークを使用できるようになりました。
一部の npm モジュールは、まだ Deno と互換性がありませんたとえば、package.json ファイルなどの特定の Node.js 環境へのバインディングが原因です。 また、NPM モジュールで「deno compile」コマンドを使用することもできません。 今後のリリースでは、これらの非互換性と制限に対処する予定です。
モジュールシステム Deno から継承された ECMAScript と Web API モジュール モデルは同じままです、および Deno のよく知られた URL ベースの読み込みスキームを使用して、NPM モジュールをインポートします。
Deno での NPM パッケージの使用は、Node.js での使用よりもはるかに簡単です、モジュールを事前にインストールする必要がないため (アプリケーションの初回起動時にモジュールがインストールされます)、package.jsonファイルは使用されず、node_modulesディレクトリは使用されません。 これはデフォルトで使用されます (モジュールは共有ディレクトリにキャッシュされますが、「–node-modules-dir」オプションを使用して以前の動作に戻すことができます)。
に基づくアプリケーション NPM は、アクセス制御メカニズムを使用する機能を保持します。 セキュリティに影響する高度な機能の Deno 分離とアクティブ化。 疑わしい依存関係による攻撃に対抗するには、 デフォルトでは、Deno は依存関係からシステムにアクセスしようとするすべての試みをブロックします 検出された問題に関する警告を表示します。 たとえば、モジュールが /usr/bin/ に書き込もうとすると、この操作の確認プロンプトが表示されます。
NPM に関連しない機能強化 新しいバージョンで V8 エンジンのアップグレードを含む バージョン 10.9 の場合、 ロックされたファイルの自動検出、Deno.bench()、Deno.gid()、Deno.networkInterfaces()、Deno.systemMemoryInfo()、および Deno API の安定化。 .uid()、コマンドを実行するための新しい不安定な API Deno.Command() の追加 (Deno.spawn、Deno.spawnSync、および Deno.spawnChild の普遍的な置き換え)。
最後に、それは言及する価値があります Node.js と同様に、Deno は V8 JavaScript エンジンを使用します。、Chromium ベースのブラウザーでも使用されます。 同時に、Deno は Node.js のフォークではなく、ゼロから構築された新しいプロジェクトです。 プロジェクトのコードは MIT ライセンスの下でリリースされており、既製のビルドは Linux、Windows、および macOS で利用できます。
もしあなたが それについてもっと知りたい、 あなたは相談することができます 次のリンク。