ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript ランタイム: JavaScript ランタイムの概要。

JavaScript ランタイム: JavaScript ランタイムの概要。

Susan Sarandon
Susan Sarandonオリジナル
2025-01-06 06:54:40797ブラウズ

JavaScript Runtimes: Introduction to JavaScript Runtimes.

導入

UI 要素を操作するために特別に構築された言語である JavaScript が、なぜ最も広く使用される言語になったのか疑問に思ったことはありますか?もはや UI 操作だけではありません。 JavaScript は現在、フロントエンドからバックエンド開発、機械学習など、あらゆる場所で広く使用されています。このシリーズでは、ランタイム、特に人気のある JavaScript ランタイムを詳しく掘り下げ、これらのツールによってどのように JavaScript がブラウザを超えて動作できるようになったのかを探っていきます。

JavaScript: 起源と背景

90 年代半ば、ウェブは初期段階にありました。毎日ホストされる Web サイトが増え、大衆がパーソナル コンピューティングを利用できるようになったことで、Web は驚異的な速度で成長しました。

当時、ウェブは主に静的であり、ユーザーとの対話はありませんでした。ほとんどの人は、AOL、Yahoo、Netscape Navigator などの Web ブラウザを使用して Web を閲覧していました。これら 3 つのブラウザの中で、Netscape はユーザー数と技術革新の両方でリードしていました。 Netscape のチームは、ウェブの成長に伴い双方向の対話が必要であることに気づきました。

このニーズに対処するために、彼らは 1995 年 4 月にブレンダン・アイヒを雇い、新しい言語を作成しました。 Scheme やその他のプログラミング言語の経験があったアイヒ氏は、1995 年 5 月にわずか 10 日間で JavaScript の最初のバージョンを開発し、その後 Netscape Navigator 用の JavaScript エンジンを作成しました。この開発は Web 2.0 の始まりを示しました。

JavaScript エンジン: 最新の Web を強化する

JavaScript エンジンは、単に JavaScript コードを解釈するコンピューター プログラムです。エンジンはコードの実行を担当します。最初の JavaScript エンジンはブレンダン・アイヒによって開発されましたが、それは単なるインタープリターでした。最新の JavaScript エンジンは大幅に進化しており、JIT (ジャストインタイム) コンパイルなどの手法を使用してパフォーマンスを向上させています。 JIT コンパイルでは、コード全体が一度にマシンコードに変換され、すぐに実行されます。

すべての JavaScript エンジンには、コール スタックとヒープという 2 つの基本コンポーネントが含まれています。コール スタックはコードが実行される場所であり、ヒープはアプリケーションで必要なすべてのオブジェクトが保存されるメモリ内の場所です。

Google の V8 エンジンは JIT コンパイルを初めて導入したものであり、ゲームチェンジャーでした。現在、これは最も広く使用されているエンジンであり、すべての Chromium ベースの Web ブラウザー、Electron フレームワークを使用して構築されたアプリケーション、Node.js や Deno などのランタイム システム、および Chromium を組み込むその他のフレームワークで利用されています。

V8 以外にも、次のような注目すべき JavaScript エンジンがあります。

  • SpiderMonkey - Firefox とそのフォークで使用されます。
  • JavaScriptCore - Safari ブラウザと Bun ランタイム システムで使用されます。

JavaScript ランタイム: ランタイムとは正確には何ですか?

一言で言えば、ランタイムとは、コードをコンパイルしたりリアルタイムで実行したりできるシステムです。 JavaScript ランタイムは本質的に、JavaScript エンジン、コールバック キュー、一連の API を含むラッパーであり、JavaScript コードを実行する環境を提供します。

コードを実行するには JavaScript エンジンが重要であることは理解していますが、それを便利にするには API が必要です。これらの API により、コードは Web ページ、ネットワーク、データベース、ファイル システムと対話できるようになります。たとえば、Web ブラウザーはブラウザー イベントを処理し、DOM と対話するための Web API を提供しますが、Node.js は I/O 操作用の API を提供します。

ランタイムとは何かについて説明したので、サーバー上でコードを実行するために最も広く使用され、高く評価されている 2 つの JavaScript ランタイム システムを見てみましょう

  • Node.js:

    • Node.js は、オープンソースのクロスプラットフォームの JavaScript ランタイム環境です。
    • Google Chrome のコアである V8 JavaScript エンジンをブラウザの外部で実行します。これにより、Node.js のパフォーマンスが非常に向上します。
    • Node は、JavaScript コードのブロックを防ぐ非同期 I/O プリミティブのセットを標準ライブラリで提供します。
  • Bun.sh:

    • Bun は、速度を重視して設計されたオールインワンの JavaScript ランタイムおよびツールキットで、バンドラー、テスト ランナー、Node.js 互換のパッケージ マネージャーを備えています。
    • これは、Safari 用に構築されたパフォーマンス重視の JS エンジンである JavaScriptCore を拡張します。これにより、JavaScript ランタイムが最速になります。
    • Bun は、HTTP サーバーの起動やファイルの書き込みなどの一般的なタスクを実行するための、高度に最適化された API の最小限のセットを提供します。

今回のエピソードはここまでです。次回のエピソードでは、Node.js の起源と、強力なサーバーサイド アプリケーションを構築するためのそのコア API について詳しく説明します。乞うご期待!

以上がJavaScript ランタイム: JavaScript ランタイムの概要。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。