体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

リアルタイム通信で活用!注目の技術「Node.js」とは【初心者向け】

今回は、Node.jsについて解説します。

Node.jsとは一体何ができて、使う上でどんなメリット・デメリットがあるのか気になる方もいるでしょう。比較的新しい技術ですが、Netflixなど有名なサービスでも採用されています。

エンジニアでなくてもどんな技術が理解しておくことをおすすめします。

 

なお本記事は、TechAcademyのNode.jsオンライン講座の内容をもとに作成しています。

 

Node.jsとは

Node.jsとはサーバーサイドのJavaScriptです。

Node.jsはJavaScriptを使用して処理しています。したがって、Node.jsを操作する上で使用する言語はJavaScriptです。

ただし、フロントエンドのJavaScriptではなく、サーバーサイドのJavaScriptです。

フロントエンドとは、HTMLやCSSと組み合わせて、ブラウザ上にグラフィカルに表示する部分を操作するためのJavaScriptです。一方、サーバーサイドとは、インターネット上のデータが保存されているコンピューター上で動作する処理系の事です。

最近で言うとクラウドと呼ばれるような、データセンター内のコンピューターをサーバーと呼びます。

Node.jsは、PHPやRubyやPythonやJava等のプログラム言語と同様に、サーバーで動作するJavaScriptです。

また、Google Chromeに搭載されているV8というレンダリングエンジンをコマンドラインから使用することができます。

 

Node.jsのバージョン

Node.jsの最新バージョンは、推奨版が8.9.3で、最新版が9.3.0です。

ただし、通常使用する場合は推奨版の8.9.3のように先頭の数字が偶数の物を使用します。

最新版のように先頭の数字が奇数の場合は、新しい機能を追加して、問題がないかを確認しているバージョンになりますので、Node.jsでの先進的な開発を行う上級者向けのバージョンになります。

Node.jsのインストール方法もぜひチェックしておきましょう。

 

また、Node.jsをコマンドラインから使用する場合は、次のように記載します

node 対象ファイル名.js

 

Node.jsを使用用途

メモリ消費量が少ないため、小さな規模の開発・運用時に、他の環境と比べるとよりパフォーマンスを出すことが可能です。

Webアプリ

これまでのプログラミング言語同様にWebアプリケーション開発時に使用されます。

 

Webサーバー

これまでのでのプログラム言語とは異なり、Webサーバーとしても使用されます。

 

スマホアプリ

ネイティブアプリやハイブリッドアプリの開発に使用できます。

 

Node.jsのメリット

C10K問題の解決につながる高速性能

C10K問題とは、従来のサーバーで発生していた問題で、サーバーへの接続台数が10,000台を超えると、表示が遅くなるという問題です。

もちろん、技術的に解決することが可能ですが、Node.jsのノンブロッキングI/Oという処理により、Node.jsを使用するだけでC10K問題を解決することができます。

 

Node.jsのデメリット

Node.jsは当初、フロントエンドとサーバーサイドを同じJavaScriptを使用して、連動して処理させることも目標の1つでした。

しかし、最終的に、サーバーサイド(Node.js)のJavaScriptとフロントエンドのJavaScriptとの処理上の互換性はありません。

そうは言っても、JavaScriptで有ることは変わりないため、フロントエンドで習得したJavaScriptに関する基本知識は非常に役立ちます。

 

今回はNode.jsについて解説しました。

有名なサービスやゲームにも使われていて、今後ますます需要が増す技術になるでしょう。Node.jsの習得を目指したい方はぜひ全体像を理解しておきましょう。

Node.jsの学習サイトをまとめた記事も合わせてご覧ください

 

また、オンラインのプログラミングスクールTechAcademyでは、Node.jsオンライン講座を開催しています。

Node.jsを使ってWebアプリケーションを開発することができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

独学に限界を感じている方はぜひご覧ください。

TechAcademyマガジンの記事一覧をみる
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。