Node.jsはV8エンジン上で動くサーバーサイドJavaScript実行環境。ノンブロッキングI/O・イベントループ・npmの仕組みと、主要フレームワークの選び方を解説します。
Node.js(ノードジェイエス)とは、ChromeのV8 JavaScriptエンジン上で動くサーバーサイドJavaScript実行環境です。2009年にRyan Dahlが開発。ノンブロッキングI/O(非同期処理)とイベントループによる高い並列処理性能が特徴で、APIサーバー・リアルタイムアプリ・CLIツール開発に広く使われます。
I/O処理を待たずに次の処理を実行。高い並列性能を実現。
シングルスレッドでも大量リクエストを処理できる仕組み。
200万以上のパッケージが公開。機能をすぐに追加できる。
フロントエンドと同じ言語でバックエンドも書ける。
| フレームワーク | 特徴 | 向いているケース |
|---|---|---|
| Express | 軽量・シンプル・自由度高 | 小〜中規模API・プロトタイプ |
| Fastify | 高速・低オーバーヘッド・型安全 | パフォーマンス重視のAPI |
| NestJS | TypeScript対応・DI・本格設計 | 大規模エンタープライズアプリ |
DenoはNode.jsの作者Ryan Dahlが開発した次世代ランタイムです。TypeScriptネイティブサポート・セキュリティ設定デフォルト・URLでモジュールをインポートなどの特徴があります。一方Node.jsはnpmエコシステムが巨大で実績も豊富なため、現在もNode.jsが主流です。
MySQLにはmysql2、PostgreSQLにはpg、MongoDBにはmongooseなどのnpmパッケージを使います。ORMはPrismaやTypeORMが人気で、型安全なDBアクセスが可能です。
はい。フロントエンドエンジニアでもNode.jsの基礎知識はあったほうが良いです。ビルドツール(Webpack・Vite)の理解・BFF開発・全体的なWeb開発の理解が深まります。フルスタックエンジニアを目指すなら必須です。
ITエンジニア向け転職サービス2強を並行利用するのが最も効果的です。
※どちらも完全無料。登録だけで市場価値を確認できます。