Node.js は、もともと Ryan Dahl によって作成され、2009 年にリリースされた Chrome の V8 JavaScript エンジン上に構築された、オープンソースのクロスプラットフォームのサーバー側 JavaScript ランタイム環境です。
Node.js は Windows で動作しますか?
はい。 Windows では、Node.jsを使用してアプリを開発するための 2 つの異なる環境がサポートされています。
NodeJS でできること
Node.js は、主に高速でスケーラブルな Web アプリケーションを構築するために使用されます。 イベント ドリブンの非ブロッキング I/O モデルを使用するため、軽量で効率的です。 これは、分散デバイス間で実行されるデータ集中型のリアルタイム アプリケーションに最適なフレームワークです。 ここでは、Node.jsで作成する可能性があるいくつかの例を示します。
- シングルページ アプリ (SPA): これらはブラウザー内で動作する Web アプリであり、新しいデータを取得するためにページを使用するたびにページを再読み込みする必要はありません。 SPA の例としては、ソーシャル ネットワーキング アプリ、メール アプリやマップ アプリ、オンライン テキストツールや描画ツールなどがあります。
- リアルタイム アプリ (RTA): これらは、ユーザー (またはソフトウェア) がソースの更新プログラムを定期的に確認することを要求するのではなく、作成者によって公開されるとすぐに情報を受信できるようにする Web アプリです。 RTA の例としては、インスタント メッセージング アプリやチャット ルーム、ブラウザーでプレイできるオンライン マルチプレイヤー ゲーム、オンライン コラボレーション ドキュメント、コミュニティ ストレージ、ビデオ会議アプリなどがあります。
- データ ストリーミング アプリ: これらは、接続を開いたままデータ/コンテンツを送信する (または作成される) アプリ (またはサービス) であり、必要に応じてさらにデータ、コンテンツ、またはコンポーネントをダウンロードし続けます。 たとえば、ビデオ ストリーミング アプリやオーディオ ストリーミング アプリなどがあります。
- REST API: これらは、他のユーザーの Web アプリが対話するためのデータを提供するインターフェイスです。 たとえば、Calendar API サービスでは、他のユーザーのローカル イベント Web サイトで使用できるコンサート会場の日付と時刻を提供できます。
- サーバー側レンダリング アプリ (SSR): これらの Web アプリは、クライアント (ブラウザー/フロントエンド) とサーバー (バックエンド) の両方で実行でき、既知のコンテンツを動的に表示 (HTML の生成) し、使用可能と呼ばないコンテンツをすばやく取得できます。 これらは、多くの場合、"同型" または "ユニバーサル" アプリケーションと呼ばれます。 SSR は、SPA メソッドを使用するたびに再読み込みを行う必要がないように SPA メソッドを使用します。 ただし、SSR には、サイトのコンテンツを Google の検索結果に表示したり、アプリへのリンクが X や Facebook などのソーシャル メディアで共有されている場合にプレビュー 画像を提供したりするなど、重要な利点がいくつかあります。 潜在的な欠点は、常にNode.jsサーバーを実行する必要があることです。 例では、ユーザーが検索結果やソーシャル メディアに表示するイベントをサポートするソーシャル ネットワーキング アプリは SSR の恩恵を受けることができますが、メール アプリは SPA として問題ありません。 サーバーでレンダリングされた SPA なしのアプリを実行することもできます。これは WordPress ブログのようなものかもしれません。 ご覧のように、物事は複雑になる可能性があります。重要なものを決めるだけで済むのです。
- コマンド ライン ツール: 反復的なタスクを自動化し、ツールを広大な Node.js エコシステムに分散できます。 コマンド ライン ツールの例として、クライアント URL を表す cURL があり、インターネット URL からコンテンツをダウンロードするために使用されます。 cURL は、多くの場合、Node.js や、Node.js バージョン マネージャーなどをインストールするために使用されます。
- ハードウェア プログラミング: Web アプリほど人気はありませんが、センサー、ビーコン、送信機、モーター、大量のデータを生成するものからデータを収集するなど、IoT の用途で人気が高まっている Node.js。 Node.js は、データの収集、そのデータの分析、デバイスとサーバー間の通信、分析に基づくアクションの実行を可能にします。 NPM には、Arduino コントローラー、Raspberry pi、Intel IoT Edison、さまざまなセンサー、Bluetooth デバイス用の 80 を超えるパッケージが含まれています。
次のステップ
- Windows での NodeJS のインストール
- WSL での NodeJS のインストール
- Node.jsラーニング パスを使用して JavaScript アプリケーションを構築する
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Windows developer