Node.jsとは?Androidのapp開発をする方法を紹介!

Node.jsはサーバーサイドで使用可能なJavaScriptとして開発されました。その利便性から多くのサービスがNode.jsを使用して開発されており、Node.jsのおかげでサーバーサイドにタッチできるという人もいるのではないでしょうか。この記事では、Node.jsについて詳しく見ていきたいと思います。

Node.jsとは?

サーバーサイド側のJavaScript

Node.jsはJavaScriptの一種です。その大きな特徴はサーバーサイドで動かすことができるという点にあります。JavaScriptは本来フロント側の言語ですが、Node.jsを用いることによってサーバーサイドの記述もできるようになり、幅広い対応が可能となりました。

JavaScriptはフロントデザイン等で触れたことがある人が多いため、その延長線上でサーバーサイドの開発ができれば良いという形でNode.jsが開発されました。それに加え、一つの言語でフロントとサーバーサイドを可能にしたことによるエンジニアの増加という意図もあるようです。

ノンブロッキングI/Oの言語

Node.jsはノンブロッキングI/Oを採用しているため、I/Oの結果を待つことなく他の処理を進めることが可能です。それによりCPUを無駄にせず、効率的な処理を行うことができるでしょう。しかしI/Oの結果が処理の完了に必要な場合は、そのまま待機状態になります。

処理速度の速さが特徴

Node.jsはその処理速度の速さも特徴の一つといえるでしょう。その理由としては上述したノンブロッキングI/Oの採用やGoogleのV8エンジン、そしてイベントループの採用等が挙げられます。

Androidのapp開発

開発環境を整える

Node.jsを使用してAndroidアプリを開発するには、まずその開発環境を整える必要があります。Node.jsの開発環境を整えるには、Node Version Manager(NVM)やNode.js、npm(Node Package Manager)、エディタ。そして、GoogleCloudSDK、Node.js用GoogleCloudクライアントライブラリ等をインストールする必要があります。

そして、アプリ側の開発環境を整えるためにAndroidStudioもインストールしておきましょう。AndroidStudioはGoogleオフィシャルのIDEになるため、Androidアプリ開発に適した環境が構築されます。

WebSocketかSocket.IOで実装

Webでの通信を使用するアプリを開発する場合、リアルタイム処理をどのように行うかという部分を考える必要があります。リアルタイムWeb技術には様々なものがありますが、Node.jsを使用してAndroidアプリを開発する際にSocket.IOを検討してみても良いかもしれません。

WebSocketもJavaScriptから通信を行うことのできるプロトコルですが、一部古いブラウザでは利用できないといった面があります。対してSocket.IOはプロトコルではありませんが、ユーザーが使用しているOSやブラウザに適したリアルタイムWeb技術が選択されるため、汎用性が高いシステムです。

Socket.IOはNode.jsのサーバーサイドライブラリと、JavaScriptのフロント用ライブラリがセットになっています。上述した通りNode.jsはサーバーサイドで使用できるJavaScriptになるため、Socket.IOではJavaScriptを学んでおけばサーバーサイドとフロント両側の開発を行うことが可能です。

アプリ実行はAndroidStudio

最終的なアプリ実行はAndroidStudioで行うことになります。その際、サーバーサイドのアプリを起動するのを忘れないようにしましょう。

Android上でNode.jsを書く方法

termuxのインストール

Android上でNode.jsを記述したい場合は、まずtermuxをインストールしましょう。termuxはAndroid上でパッケージ管理やLinux環境を提供してくれるアプリです。アプリのインストールで環境構築が完了するため、その手軽さが魅力です。

apt install nodejsを入力

termuxのインストールが完了したら起動し、下記のコマンドを順に打ち込むことでNode.jsをインストールすることができます。

apt update

apt upgrade

apt install coreutils

apt install nodejs

ディレクトリを作る

続いて、下記コマンドを入力し、ディレクトリを作成します。

termux-setup-storage

cd /storage

cd shared  ※機種によって異なる

cd android/

cd data/

cd com.termux/

cd files/

ls ※なにもない

mkdir nodejstuts

ls ※nodejstutsが作られているのを確認

cd nodejstuts

ls

nodemonを入れる

引き続き、下記処理を行います。

server.jsをファイラーで作成

nodejstutsに新規でserver.jsをつくる

server.jsを編集 ※簡易Webサーバー

default.htmlをファイラーで作成

default.htmlを編集 ※テスト用表記

npm install -g nodemon

nodemon server.js

まとめ

Android上でNode.jsを動かす方法を記載しましたが、余程必要に駆られない限りはPC上から行った方が効率は良いかもしれません。しかし、勉強会等にタブレットやスマホ一つあれば身軽に参加できるといったメリットも存在します。

関連記事

ページ上部へ戻る