メニューを閉じる

テクノデジタルグループ

メニューを開く

2024.11.14

プログラミング

いまさらNode.jsを知ろう~環境構築も~

本日もお疲れ様です。テクノデジタルのキリン🦒さんです。

皆様はふと、「node.js触ったことないな」と思うことはないでしょうか。
私はここ最近、ふと「node.js触ったことないな」や「firebase触ったことないな」と思うことがあります。

なので今回は、勉強がてら軽く触れとこうと思い立ち、 node.js についての記事を執筆しました。
知っている人も復習がてら一緒に学んでいきましょう。

Node.jsとは

Node.jsは、JavaScriptをサーバーサイドで実行するためのプラットフォームです。従来、JavaScriptはブラウザ上でしか実行できませんでしたが、Node.jsの登場により、サーバーサイドの開発にもJavaScriptが使えるようになりました。

Node.jsの特徴

  • 非同期I/O:
    複数のタスクを並行して処理できるため、高負荷な処理も効率的に行えます。
  • イベント駆動:
    特定のイベントが発生したときにのみ処理を実行するため、リソースの無駄遣いを防ぎます。
  • シングルスレッド:
    複数のリクエストを一つのスレッドで処理するため、スレッド管理のオーバーヘッドが少なく、スケーラビリティが高いです。
  • npm (Node Package Manager):
    豊富なモジュールを簡単にインストールして利用できます。

Node.jsでできること

  • Webアプリケーション:
    Express.jsなどのフレームワークを使って、大規模なWebアプリケーションを開発できます。
  • APIサーバー:
    REST APIやGraphQL APIなどを構築できます。
  • リアルタイムアプリケーション:
    WebSocketを使って、チャットアプリやオンラインゲームなどのリアルタイムなアプリケーションを開発できます。
  • コマンドラインツール:
    npmで配布できるコマンドラインツールを作成できます。

JavaScriptの歴史

JavaScriptは、1995年にNetscape社のBrendan Eichによって開発され、Webブラウザ上で動作する初のスクリプト言語として登場しました。当初は「Mocha」という名前でしたが、すぐに「LiveScript」と改名され、最終的に「JavaScript」となりました。以下、その歴史的な進展について見ていきましょう。

1995年: 誕生と最初の用途

JavaScriptはNetscape Navigator 2.0に組み込まれ、ブラウザ上で動的にHTML要素を操作できるスクリプトとして登場しました。当初はクライアントサイドでの軽量なインタラクションを目的としていました。

1997年: 標準化への道

JavaScriptは、より幅広い利用のために「ECMAScript」として標準化されました。ECMA-262仕様がECMAScriptの初版であり、JavaScriptの基盤となっています。

2009年: サーバーサイドへの進出(Node.jsの登場)

JavaScriptのサーバーサイド開発のきっかけとなったのが、Ryan Dahlによって開発されたNode.jsの登場です。これによりJavaScriptは、サーバーサイドでも利用可能な汎用的な言語へと進化しました。

2015年: ECMAScript 6(ES6)の大幅な進化

JavaScriptの歴史で特に重要なのが、2015年にリリースされた「ECMAScript 6(ES6)」です。アロー関数、クラス構文、モジュールシステムといった新機能が追加され、モダンなJavaScriptとして生まれ変わりました。

近年の進化

2020年以降も、JavaScriptの新機能は毎年のように追加され続けており、非同期処理の改善(async/awaitの導入)やエラーハンドリングの強化、オプショナルチェイニングなど、開発者の利便性を高める機能が増え続けています。

環境構築

1. Node.jsのインストール

Node.jsの公式サイト( https://nodejs.org/en/ )、指示に従ってインストールします。

2. Node.jsのバージョン確認

インストールが完了したら、ターミナルやコマンドプロンプトで以下のコマンドを実行し、Node.jsのバージョンを確認します。

node -v
npm -v

Hello, Worldプログラムの作成

1. テキストエディタで新しいファイルを作成:任意の場所に hello.js という名前で新しいファイルを作成します。

2. コードを記述:以下のコードを hello.js に記述します。

console.log('Hello, World!');

3. プログラムを実行:ターミナルやコマンドプロンプトで、作成したファイルのディレクトリに移動し、以下のコマンドを実行します。

node hello.js

4. 正しく実行されると、ターミナルに Hello, World! と表示されます。

5. ブラウザ表示用のファイルを作成:任意の場所にhello-world.jsという名前で新しいファイルを作成します。

6. コードを記述:以下のコードをhello-world.jsに記述します。

import { createServer } from 'node:http';

const server = createServer((req, res) => {
  console.log('url:', req.url);
  console.log('method:', req.method)
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello, World!\n');
});

server.listen(8081, 'localhost', () => {
  console.log('Listening on localhost:8081');
});

7. プログラムを実行:ターミナルやコマンドプロンプトで、作成したファイルのディレクトリに移動し、以下のコマンドを実行します。

node hello-world.js

8. [URL] http://localhost:8081 にアクセスします。

9. 正しく実行されていると、ブラウザに Hello, World! と表示されます。

より詳しく

  • npm:npmは、Node.jsのパッケージマネージャーです。世界最大のソフトウェアレジストリであるnpmレジストリから、パッケージをインストール、更新、削除することができます。
  • モジュール:Node.jsのプログラムは、モジュールと呼ばれる小さなコードの塊を組み合わせて作成されます。Node.jsには、HTTPサーバーの作成、データベースへの接続、ファイルシステムの操作など、様々な機能を提供するモジュールが数多く存在します。
  • フレームワーク:Express.jsやKoa.jsなどのフレームワークを利用することで、より効率的にWebアプリケーションを開発することができます。

まとめ

Node.jsは、JavaScriptを使ってサーバーサイドの開発を行うための強力なツールです。非同期I/Oやイベント駆動といった特徴を活かして、高性能なWebアプリケーションを開発することができるらしいです。これから機会があれば積極的に使っていきたいですね。


【記事への感想募集中!】

記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!
  • こんな記事が読んでみたい、こんなことが知りたい、調べてほしい!という意見も募集中!
  • いただいた感想は今後の記事に活かしたいと思います!

感想フォームはこちら


【テクノデジタルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』

【テクノデジタルのインフラサービス】

当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。

https://www.tcdigital.jp/infrastructure/

最近の記事