BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Deno 1.8が、WebGPUサポート、動的アクセス許可などと共にリリースへ

Deno 1.8が、WebGPUサポート、動的アクセス許可などと共にリリースへ

原文(投稿日:2021/03/05)へのリンク

Deno 1.8は最近、WebGPUサポート、国際化API、安定化されたインポートマップ、プライベートモジュールのフェッチのサポートなど、多くの新機能を備えてリリースされた。DenoパーミッションAPIが安定化された。 Deno 1.8には、TypeScript 4.2が追加で付属する。

リリースノートでは、WebGPU APIのサポートの背景にあるモチベーションを次のように説明した。

最近では、ほとんどのニューラルネットワークはPythonで定義されており、計算はGPUにオフロードされています。適切なインフラストラクチャが存在すれば、Pythonの代わりにJavaScriptが数学的なアイデアを表現するための理想的な言語として機能し得ると私たちは信じています。DenoでWebGPUサポートをすぐに使用できるように提供することは、この方向への第一歩です。私たちの目標は、GPUアクセラレーションを使ってDenoでTensorflow.jsを実行することです。これは、今後数週間あるいは数か月以内に達成されると予想しています。

WebGPUは、Appleによって最初に提案されたAPIである。多くのデバイスで利用できるGPU計算機能を公開している。WebGPUでは、並列処理のメリットを享受できるタスクでWebGLよりも優れたパフォーマンスを得られる可能性がある。このようなことは、科学計算、機械学習、グラフィックス、ゲーム開発でよく起きる。この機能は特定のデバイスでは利用できないか許可されていない可能性があるため、開発者は次のように機能検出を行う必要がある。

// Run with `deno run --unstable  
// https://deno.land/posts/v1.8/webgpu_discover.ts`

// Try to get an adapter from the user agent.
const adapter = await navigator.gpu.requestAdapter();
if (adapter) {
  // Print out some basic details about the adapter.
  console.log(`Found adapter: ${adapter.name}`);
  const features = [...adapter.features.values()];
  console.log(`Supported features: ${features.join(", ")}`);
} else {
  console.error("No adapter found");
}

Deno 1.8は、International Components for Unicode(ICU)をサポートする。これは、多くの低レベルの国際化(i18n)操作を実装するために使用されている。ICUに依存するすべてのブラウザ国際化APIがDenoで利用できるようになる。JavaScript国際化APIは、ほとんどのアプリケーションで必要とされる言語依存機能に関する重要な部品をいくつか提供する。それは、文字列比較(照合)、数値フォーマット、日付と時刻のフォーマット、表示名、リストのフォーマット、複数化ルール、大文字と小文字の変換である。

最近、Chrome 89で追加されたインポートマップは、安定化されたDeno機能になった。import-mapオプションは、ローカルパスとURLの両方を許可する。Denoユーザは、インポートマップを提供するときに--unstableフラグを使用する必要がなくなった。

deno run --import-map=https://example.com/import_map.json ./mod.ts

インポートマップは、どのURLがJavaScriptのimportステートメントとimport()式によってフェッチされるかを指定する(たとえば、import moment from "moment")。したがって、インポートマップを使用すると、ソースコードを変更せずにインポートを再マッピングできる。

Denoユーザは、認証トークンを使用してプライベートサーバーからリモートモジュールをフェッチできるようになった。Denoユーザは、ドメインごとの認証トークンを指定して、DENO_AUTH_TOKENS環境変数(例:DENO_AUTH_TOKENS=a1b2c3d4e5f6@deno.land)を使ってプライベートモジュールをフェッチできる。

Denoのアクセス許可、リンク、シンボリックリンクが安定化された。Deno.permissions APIを使うと、開発者は実行時にアクセス許可を照会、要求、取り消すことができる。以前は、Deno開発者は起動時に、必要な権限をすべて付与する必要があった。これは、一部の開発者によって最適でないとして説明されている動作である。

Denoユーザは、ターミナルでdeno upgradeを実行することでアップグレードできる。Deno 1.8は大規模なリリースであり、開発者は新機能と安定化されたAPIの完全なリストと説明を確認することが推奨される。

Denoは、MITライセンスの下で利用可能なオープンソースソフトウェアである。コントリビューションはDenoプロジェクトを通じて奨励されており、その際、Denoプロジェクトを通してDenoコントリビューションガイドラインに従う必要がある。

この記事に星をつける

おすすめ度
スタイル

BT