第1章 ノードの基礎
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
Node は、開発者がJavaScript言語を使ってバックエンド・サービスを作成できる、オープンソースのクロスプラットフォーム実行環境だ。ChromeウェブブラウザのJavaScriptエンジンであるV8の上に構築されており、一般にノンブロッキングモデルとして知られるイベント駆動型のアプローチで非同期的に使用するように設計された数十のモジュールが組み込まれている。Node開発者は、イベントとハンドラ関数を使用することで、複数のプロセスやスレッドの複雑さに対処することなく、複数の演算子を効率的に並行して実行することができる。
この第1章では、Nodeの概要、仕組み、そして人気の理由を説明する。まずはNodeの紹介から始め、その仕組みと人気の理由を説明する。Node CLI の基本、モジュールとパッケージの使い方、同期と非同期の演算子について学ぶ。Nodeのイベント駆動、ノンブロッキングモデルの基本について説明し、コールバック、プロミス、イベントを使用して非同期操作の結果を処理する方法を学ぶ。
注
本書では、簡潔にするためにNode.jsではなく Nodeという用語を使う。ランタイム環境の正式名称はNode.jsだが、単にNodeと呼ぶのが一般的だ。
ノードの紹介
ライアン・ダール Google ChromeウェブブラウザのJavaScriptエンジン V8のパフォーマンスに触発され、2009年にNodeプロジェクトを開始した。V8は、 イベントドリブン・モデルを使用しており、同時接続やリクエストを効率的に処理できる。ライアンは、この高性能なイベント駆動アーキテクチャをサーバ側のアプリケーションにも導入したいと考えた。イベント駆動モデルは、Node(そしてV8エンジンも同様)について理解する必要がある最初の、そして最も重要な概念だ。この章では簡単に説明し、第3章でさらに詳しく説明する。
チップ
ライアン・ダールがNodeを紹介するために行ったプレゼンテーションを見て、Nodeを試してみることにした。あなたもそこから始めると利点があると思う。YouTubeで「Ryan Dahl introduction to Node」を検索してみよう。Nodeはその後大きく変わったので、例ではなく概念と説明に注目してほしい。
Nodeの核心は、開発者がウェブ・ブラウザを必要とせず、どのマシン上でもJavaScript言語を使えるようにすることだ。Nodeは通常、"バックエンドサーバ上のJavaScript "と定義される。Node以前は、それは一般的なことではなかったし、簡単なことでもなかった。JavaScriptは主にフロントエンドのものだった。
しかし、この定義は完全には正確ではない。Nodeが提供するのは、サーバ上でJavaScriptを実行する機能だけではない。実際、JavaScriptの実際の実行は、NodeではなくV8 JavaScriptエンジンが行う。Nodeは、JavaScriptコードを実行する際のV8へのインタフェースに過ぎない。
V8はGoogleのオープンソースJavaScriptエンジンで、JavaScriptコードをコンパイルして実行することができる。NodeやChrome、その他いくつかのブラウザで使われている。2018年にライアン・ダールによって作成された新しいJavaScriptランタイムであるDenoでも使用されている。 ...