Deno JavaScript プラットフォーム リリース 1.16

Deno 1.16 JavaScript プラットフォームがリリースされました。これは、JavaScript と TypeScript で書かれたアプリケーションを (ブラウザを使用せずに) スタンドアロンで実行できるように設計されています。このプロジェクトは、Node.js 作者の Ryan Dahl によって開発されました。プラットフォーム コードは Rust プログラミング言語で書かれており、MIT ライセンスに基づいて配布されます。 Linux、Windows、macOS 用に既製のビルドが用意されています。

このプロジェクトは Node.js プラットフォームに似ており、同様に V8 JavaScript エンジンを使用していますが、Node.js の作成者によると、以前のプロジェクトの多くのアーキテクチャ上の欠陥が修正されており、次のニュアンスで異なります。 :

  • 開発者によれば、メイン言語として Rust を使用することで、低レベルのメモリ管理 (バッファ オーバーフロー、解放後の使用など) に関連する脆弱性のリスクが軽減されます。
  • Deno は npm パッケージ マネージャーと package.json を使用せず、インストールするモジュールへの URL またはパスを指定してモジュールをインストールするようにユーザーに求めます。ただし、このプロジェクトでは、サードパーティ モジュールの使用を簡素化するためのユーティリティがいくつか提供されています。
  • アプリケーションはサンドボックス内で個別に実行され、明示的に許可が与えられない限り、ネットワーク、環境変数、ファイル システムにアクセスできません。
  • このアーキテクチャは、Deno システムと通常のブラウザの両方で動作するユニバーサル Web アプリケーションを作成する機能を提供します。
  • 「ES モジュール」を使用していて、require() サポートが不足している。
  • プログラマが処理しない Web アプリケーションのエラーは強制終了につながります。
  • JavaScript に加えて TypeScript もサポート。
  • すぐに使用できるプラットフォームのフルサイズは、単一の実行可能ファイルの形式で 84 MB (zip アーカイブ内 - 31 MB) です。
  • このキットは、依存関係を解決し、コードをフォーマットするためのシステムを提供します。
  • 高性能アプリケーションに焦点を当てます。

Dino は、イベント駆動型アーキテクチャに基づいて高性能アプリケーションを構築するために設計された Tokio プラットフォームを使用して、ノンブロッキング方式でリクエストを処理します。また、Deno の組み込み HTTP サーバーがネイティブ TCP ソケット上の TypeScript で実装されていることも興味深いことであり、これがネットワーク操作のパフォーマンスにプラスの影響を与えています。

新しいバージョンでは次のように注意されています。

  • パフォーマンスの最適化 (4 パッチ);
  • 15 を超えるエラーが修正されました。特に、TLS クライアントが HTTP/2 をサポートし、エンコード サブシステムが追加のエンコード マークをサポートするようになりました。
  • 8 を超えるイノベーションのうち、以前にテストしたサブシステム Deno.startTls と Deno.TestDefinition.permissions の安定化、V9.7 JS エンジンのバージョン 17 への更新、および React XNUMX JSX 変換のサポートに注目することができます。

出所: オープンネット.ru

コメントを追加します