SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZineニュース

JavaScript/TypeScriptランタイム「Deno 1.31」が公開、package.jsonを利用した依存関係の更新が可能に

  • このエントリーをはてなブックマークに追加

  • このエントリーをはてなブックマークに追加

 V8 JavaScriptエンジンとRust言語を使用したJavaScript/TypeScriptランタイム「Deno」の開発チームは、最新バージョンとなる「Deno 1.31」を2月24日(現地時間)に公開した。DenoはMITライセンスで公開しているオープンソース・ソフトウェア。

 「Deno 1.31」ではまず、「package.json」ファイルに対応した。このファイルはパッケージ・マネージャー「npm」で使用するもので、プロジェクトの名称や、バージョン、プロジェクトが依存しているパッケージなどをJSON形式で記述するものだ。Denoはこのファイルを自動的に検知し、コマンドを1回実行するだけで依存しているパッケージをすべてインストールすることが可能になる。

 また、バージョン1.15から「実験的」という位置付けで提供してきたNode.js互換機能が安定版となった。これにより、Node.jsのAPIに依存するパッケージをnpmでインストールするときに「--unstable」というフラグを付ける必要がなくなった。それでも、Node.js互換機能にはバグが残っているというが、開発チームは数週間以内に残っているバグを解消するとしている。

 そしてNode.jsとの互換性を保つ層を、Denoのランタイムに取り込んだ。これまで、Node.jsとの互換性を保つ層は、独立したライブラリとして提供してきたが、Denoをバージョン・アップするたびに互換層を追加でダウンロードしなければならなかった。さらに、互換層のデータ・サイズが大きくなってきており、アプリケーションの起動時間が長くなっていた。

 さらに、DenoアプリケーションからC/C++言語などで開発した関数などの呼び出しを可能にするFFI(Foreign Function Interface)に大きな変更が加わった。前バージョンまではFFIのポインタ(pointer)をDenoでは数値型(number型あるいはBigInt型)として扱ってきたが、今回の新バージョンからはオブジェクトとして扱う。このオブジェクトはV8 JavaScriptエンジンが直接生成するもので、V8の「Fast API」にも準拠している。その結果、FFIでポインタを利用するコードの実行速度が向上する。ただし、新バージョンでFFIのポインタを使用する場合はコードの書き換えが必要になる。

 加えて、今回の新バージョンから、Denoが使用するV8 JavaScriptエンジンのバージョンが10.9から11.0となった。

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17456 2023/03/07 10:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング