「Node.js」とは?プログラミング初心者におすすめの入門編!

「Node.js」とは?プログラミング初心者におすすめの入門編!

フロント、サーバー両方で使用することができ、Webサイトやアプリケーション、ゲームなど様々なプロダクトを作ることができるのが「Node.js」です。初めてアプリを作ってみたい人にも「Node.js」はおすすめです。

この記事ではそんな「Node.js」の特徴からインストール方法まで詳しく紹介します。

 

Node.jsとは?

Node.js2009年にリリースされた、サーバーサイド用のJavaScriptアプリケーションのプラットフォームです。一言でいうと、Node.jsはサーバーサイドのJavaScriptです。

Node.js できること

Node.jsの大きな特徴は、普段はブラウザで活用されているプログラミング言語「JavaScript」をサーバーサイドやデスクトップで活用できることです。

先ほど、Node.jsはサーバーサイドのJavaScriptと言いましたが、最近ではNode.jsはフロントエンド(クライアントサイド)の開発でも使われることがあります。

また、Node.jsでのリクエストやレスポンスなどの処理はシングルスレッドで処理されるので、大量のアクセスを処理できるという特徴があります。

Node.jsの特徴やメリットをご紹介 

続いて、Node.jsの特徴、そして利用するメリットを紹介しましょう。

①大量のデータ処理が可能

Node.jsはノンブロッキングI/Oモデルを採用しています。そのため、I/Oの処理を待たずに次の処理を始めることができるので、大量のデータ処理などが可能です。

②メモリの消費が少なく動作も速い

Node.jsはイベントループを採用しています。そのため、複数のリクエストやレスポンスなどの処理は順番にイベントループで処理されていきます。

イベントループによってCPUを抑えることができるため、メモリの消費が少なく動作も速いです。

③処理速度が非常に速い

Node.jsのエンジンはGoogleが開発したJavaScript実行エンジンである「Google V8 JavaScript Engine」であるため、処理速度が非常に速いです。

④サーバーサイドで使える

Node.jsはサーバーサイドでも動きます。以前までプログラミング言語「JavaScript」はサーバーサイドでは使用できませんでしたが、Node.jsの誕生により実行することが可能になりました。

 

Node.jsで開発できるものとは? 

特徴がわかってきたところで、Node.jsで開発できるものを紹介しましょう。非常に多くの開発に活用できるため、覚えておいて損はないと言えます。

Node.js 開発

Webサイト

Node.jsにはWebサイトの開発に使える多くのフレームワークが用意されていて、それらを活用すれば簡単にウェブサイトを制作、構築することが可能です。

Webアプリケーション

Webサイトと同じように、フレームワークを活用してWebアプリケーションを作ることもNode.jsでは可能です。初心者でも簡単なチャットアプリなどを作ることができます。

Webサーバー構築

Node.jsではWebサーバーも簡単に構築することができます。Node.jsはイベント駆動型言語であるため、プログラムを起動するだけイベント待機の状態になります。そのため少しコードを書いただけで、Webサーバーを構築することが可能になっています。

ゲームアプリ

Node.jsを利用してゲームアプリを作ることも可能です。JavaScriptのみで実装することもできますが、ゲーム通信に適した通信プロトコルを使用できるようになるライブラリを使用した方が品質の高いアプリを作ることができます。

スマートフォンアプリ

スマートフォンアプリもNode.jsで作ることができます。そして、Node.jsはリアルタイム通信が可能なため、チャット機能などをアプリに実装することができます。

ウェブAPI

Expressというフレームワークを利用すれば、Node.jsで簡単にウェブAPIを構築することも可能です。大量のアクセスをスピーディに処理する必要がある時は、Node.jsで構築するのがおすすめです。

 

Node.jsで作られたサービス3

実際に、Node.jsを使用して作られたサービスにはどんなものがあるのでしょうか?3つの具体例を紹介しますので、活用イメージを膨らませてみてください。

①Paypal

電子メールアカウントとインターネットを利用する決済サービス「Paypal」のWebアプリケーション開発にはNode.jsが使用されています。

サーバー側の開発言語をJavaからNode.jsに切り替えることによって、フロント側との開発においての隔たりが減ったそうです。

②Uber

タクシーの配車サービスを提供している「Uber」も基幹システムにNode.jsを使用しています。Uberのサービスは世界中で使用されているため、膨大なネットワークシステムを運用する必要があり、Node.jsが採用されました。

③LinkedIn(モバイル版)

ビジネスに特化したソーシャルネットワーキングサービス「LinkedIn」のモバイル版にもNode.jsが使用されています。以前はRuby on Railsを使用していましたが、アクセスの速度を上げるためにNode.jsに移行されました。

 

\文字より動画で学びたいあなたへ/

Udemyで講座を探す >

Node.jsでよく出てくるnpmとは? 

続いて、Node.js への理解をより深めるために、Node.jsのパッケージ管理ツールである「npm」について解説します。

「npm」とは「Node Package Manager」の略で、Node.jsのパッケージを管理するツールです。Node.jsには開発に役立つパッケージが多数用意あり、それらをnpmで管理しています。

 

npmの代表的なパッケージ3選

ここからは、npmの代表的なパッケージ3つを紹介します。

Express

Express」はWebアプリケーションフレームワークです。

Express を利用することで、Webアプリケーションを効率良く開発することができます。Node.jsMVCフレームワークの中でも代表的なフレームワークといえます。(MVC:Model-View-Controller

Request

Request」を利用すれば、HTTPリクエスト機能が簡単に使えるようになります。HTTP/HTTPSのリクエスト自体はNode.jsの標準機能で実装できますが、Requestを利用した方が簡単に実装できます。

Meteor

Meteor」はWebアプリケーション、モバイルアプリケーションなどをJavaScriptでつくれるフルスタックフレームワークです。Expressに負けないくらい人気の高いフレームワークです。

 

Node.jsのインストール方法は?

最後にNode.jsのインストール方法を紹介します。

はじめにNode.jsのサイトで自分のOS用のインストーラ、もしくはソースコードをダウンロードします。インストーラは実行することで実行ファイルがインストールされ、ソースコードの場合はコンパイルする必要があります。

また、コマンドを打ってNode.jsをインストールすることも可能です。その場合は「nvm」というツールを導入すると便利です。以下のコマンドを打つとnvmをインストールできます。

$ git clone git://github.com/creationix/nvm.git ~/.nvm

次に、以下のコマンドを打ってNode.jsをインストールします。インストール可能なバージョンは「nvm ls-remote」と打てば確認できます。 

$ nvm install インストールするバージョン

これでNode.jsのインストールは完了です。インストールされているか確認したい時は、「nvm ls」と打てば確認できます。

 

Node.jsを使えば、複数の言語を学ばなくてもWebサイトやWebアプリケーションなどを作ることができるようになります。

チャットなど、リアルタイム通信ができるアプリを作りたい人には、Node.jsの学習を始めるのがおすすめです。