Node.jsとは?|Node.jsで出来ることやインストール方法について解説!

- システム
エンジニア - Node.jsは何ができるのですか。
- プロジェクト
マネージャー - Node.jsはサーバーサイドで動くJavaScript実行環境のことです。インストールの方法についてもご紹介しましょう。
Node.jsとは?
Node.js(ノード・ジェイエス)とは、サーバーサイドで動くJavaScript実行環境のことです。
JavaScriptとは古くから存在する人気のプログラミング言語のことで、主にHTML/CSSといったマークアップ言語と併用され、Webブラウザに表示されたオブジェクトにアニメーション動作を加えたりできるフロントサイド側の言語でした。
Node.jsを使えば、PHPやPythonのような見えない部分(サーバーサイド)で活躍する言語のように、サーバーサイドでJavaScriptを扱うことが可能になります。
Node.jsはどんなことができる?
サーバーサイドで動かせないというJavaScriptの制限を克服したNode.jsですが、その誕生によりJavaScriptで実現できることが増えました。
「Node.jsはサーバーサイドで動く」とはいっても、同じサーバーサイドで動くPHPなどの言語とは少し違っていて、データの送受信を非同期処理させる「Non-BlockingI/O 方式」を採用していることなどが特徴となっています。
Node.jsを使えばどんなことができるのか、詳しくみていきましょう。
Webサービスの開発ができる
Node.jsには、Webサービスの開発を効率化してくれるフレームワークが豊富に用意されていることもあり、YouTubeやAmazon、TwitterのようなWebアプリを簡単に作成することができます。
フレームワークとは、便利な機能をあらかじめパッケージ化したコード群のことで、使用すると多くの面倒な作業から解放された状態でWebアプリを作成できます。
また、「Non-BlockingI/O 方式」で大量の情報を同時に処理できるというNode.jsのメリットは、チャットサービスや動画配信サービス、タクシー配車サービスの開発などに多く活用されています。
スマホアプリの開発ができる
Node.jsを利用すれば、スマホアプリも開発することができます。
スマホアプリを開発するための言語と言えばSwiftやJavaですが、Node.jsのフレームワークを活用することでHTML/CSS/JavaScriptでスマホアプリを作れてしまいます。
Webサービス開発に使うのと同じ言語をスマホアプリ開発の方でも共有でき、AndroidやiOS双方に同じソースで対応できるのはメリットと言えます。
Webサーバーの構築ができる
Webサーバーの構築も、Node.jsの使用用途として挙げられます。
例えば、下記のようなコードを書くだけで、必要最低限の機能を持った簡易サーバーをあっという間に構築することができます。
1
2
3
4
|
var http = require('http');
http.createServer(function(req, res){ res.end('Hello World');}).listen(0000);
|
Node.jsのインストール方法
この章では、Node.jsをインストールする方法を2つ紹介します。
注意点として、こちらではmac OS環境を前提に手順を解説しています。
公式サイトからインストール
下記リンクにある公式サイトから、インストーラーをダウンロードすれば、簡単にインストールできます。(推奨はLTS版です)
インストール後に、ターミナルを起動して下記コマンドを打ち、バージョンが表示されればインストール完了です。
1
|
node-v
|
nodebrewによるインストール
nodebrewとは、Node.jsのバージョンを管理できるツールのことですが、こちらの方法でNode.jsをインストールすれば複数のバージョンに切り替えができるので、バージョンの更新が楽になるメリットがあります。
インストール方法ですが、まずターミナルに下記コマンドを打ち、Homebrewをインストールします。
Homebrewとは、nodebrewをインストールするために必要になってくるものです。
1
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
下記コマンドを入力して「Your system is ready to brew.」が出てくれば、インストール完了です。
1
|
brew doctor
|
1
|
brew install nodebrew
|
1
|
nodebrew setup
|
1
|
echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bash_profile
|
1
|
source ~/.bash_profile
|
1
|
nodebrew -v
|
1
|
nodebrew install-binary stable
|
下記コマンドで、インストールしたNode.jsのバージョンを確認できます。
1
|
nodebrew ls
|
1
|
node -v
|
Node.jsの起動方法
それでは、Node.jsを起動してWebサーバーを立ち上げてみましょう。
まずは、「hello.js」など拡張子が「〇〇.js」になるように適当にファイルを作成してPCの好きな場所に保存してください。
そして、テキストエディターでファイルを開き、下記のコードをコピー&ペーストします。
テキストエディターとは、プログラミング言語を書いたり編集したりできるソフトウェアのことです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
|
1
|
node hello.js
|
- システム
エンジニア - Node.jsとは何かよく分かリました。
- プロジェクト
マネージャー - Node.jsはJavaScriptをサーバーサイドで扱うこともでき、そうすると、JavaScriptだけでWebアプリや便利なフレームワークを使ってフロントエンドの面倒な作業を自動化させることができます。
Node.jsを活用して効率的な開発をしよう
本記事で、「Node.jsとは何か」をご理解いただけたでしょうか。
JavaScriptをサーバーサイドで扱うことができるNode.jsを習得すれば、JavaScriptだけでWebアプリを開発できたり、便利なフレームワークを使ってフロントエンドの面倒な作業を自動化させることができ、非常に効率的な開発が可能になります。
興味が湧いた方はぜひ、Node.jsを今後のエンジニア業務に活用してみてはいかがでしょうか。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


新着案件New Job
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅) -
PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)