序文
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
私はNode.jsを初期の頃から使っているが、期待を裏切られたことは一度もない。Node.jsのためにコードを書くたびに、私のNode.jsに対する評価は高まるばかりだ。Nodeのために新しいスキルを開発するたびに、生産性の向上を実感してきた。
Node.jsは 、革命的というほかない。素晴らしいパワーを持ったプラットフォームだ。Node.jsの基礎と非同期の扱い方に慣れてしまえば、あとは簡単だ。すぐに使いこなせるようになり、バックエンド・サービスを想像以上に速く構築し、スケールできるようになるだろう。
この本を読むべき人
この本( )は、Node.jsを効率的に学ぶための私の試みである。いくつかのJavaScriptの概念にも当然触れているが、一般化として、この本から最大の価値を得るためには、JavaScript言語の十分な基本的理解が必要だ。
JavaScriptのオブジェクト、関数、演算子、イテレータの扱いに慣れていない場合は、本書の前にJavaScriptの入門書を読むといいだろう。
この本は、私がNode.jsを学び始めたときにあったらいいなと思った本だ。当時、私は主にフロントエンドに集中していた。当然ながら、フロントエンド向けの開発者がバックエンドに経験を広げたい場合にも本書は適している。
この本を書いた理由
Node.jsを学ぶとなると、多くのチュートリアルや書籍、コースは、Node.jsのランタイム環境そのものではなく、Node.jsのエコシステム内で利用可能なライブラリやツールに焦点を当てる傾向がある。Node.jsのネイティブ機能から始めるのではなく、人気のあるNode.jsライブラリやフレームワークの利用方法を教えることを優先している。
Node.jsは低レベルの実行環境なので、このアプローチは理解できる。Node.jsは包括的なソリューションを提供するのではなく、ソリューションの作成をより簡単かつ高速にする、小さな必須モジュールのコレクションなのだ。例えば、本格的なウェブサーバには、静的ファイル(画像やCSSファイルなど)を提供するようなオプションがある。Node.js組み込みのhttp モジュールを使えば、バイナリデータを提供するウェブサーバを構築できる。Node.js組み込みのfs モジュールを使えば、ファイルシステムからファイルの内容を読み取ることができる。この2つの機能を組み合わせれば、独自のJavaScriptコードを使って静的アセットを提供することができる。ウェブ・サーバの下で静的アセットを提供するNode.js組み込みの方法はない。
Node.js自体の一部ではない人気のあるNode.jsライブラリ(Express.js、Next.js、その他名前に.jsが付く多くのライブラリ)は、特定のドメイン内でほぼ完全なソリューションを提供することを目的としている。例えば、Express.jsはウェブサーバの作成と実行に特化している(静的アセットの提供や、その他多くの優れた機能もある)。実際、ほとんどの開発者はNode.jsを単独で使うことはないだろうから、教材が包括的なソリューションを提供するライブラリに焦点を当てるのは理にかなっている。ここでの一般的な考え方は、これらのライブラリを書くことが仕事の開発者だけが、Node.jsの基礎となるベースレイヤーを理解する必要があるというものだ。 ...