教育界、技術者コミュニティでJava言語の教育と啓蒙に長年携わってきた筆者が、独自の視点からJavaの面白さを掘り下げていく。(編集部)
今年はiPadが注目を浴びてタブレットマシンの人気が急上昇中した年でした。スマートフォンでも、Android・iPhoneともに大きな話題になって、これまでの携帯端末とは違った盛り上がりを見せています。スマートデバイス躍進の年として歴史に残りそうな勢いです。
そんな中、筆者はAndroid OSを搭載したタブレットマシン「Galaxy Tab」を使える機会があったので、いろいろと遊んでみました。スマートフォンだと、やはり性能が低いためにクライアント端末として利用することを前提としたアプリケーションが多いのですが、Galaxy Tabのような製品が市場に出てくると、サーバ機能を持った持ち運べるコンピュータとして利用したくなる人も多いはずです。
今回は、そういった用途も視野に入れて、Androidサーバアプリが開発できないか、見てみることにしましょう。
まずは、Galaxy Tabの性能について簡単に説明しておきます。詳細はNTTドコモのWebサイトの「GALAXY Tab SC-01C」や、SAMSUNGのWebサイトの「SAMSUNG mobile | 製品情報 | SC-01C」にあるとおりなので、そちらを見ていただくとして、ここでは開発時に気になる点についてチェックしておきましょう。
筆者はAndroidのスマートフォンとして、HT-03Aを持っていますが、そちらの性能はNTTドコモのWebサイトの「HT-03A サポート情報 : サービス・機能とスペック」を見ると分かるように、次のようなものでした。
発売時期から考えると当然のことですが、HT-03AよりもGalaxy Tabの方がプロセッサも速くなっていますし、RAMも2倍以上ありますから、マシンスペックは格段に良くなっています。
Galaxy Tabについては、世の中ではタブレットならではの使い方に注目をした記事が多いのですが、開発者としては、「クライアントマシンとしてどれぐらい使えるのか」「どんなアプリケーションを稼働させると便利になるのか」「サーバ機能の搭載はできるのか」といったことも気になると思います。
とはいえ、こういったAndroidマシンは、「どういったことに使う目的で購入されるのか」考えたうえで、タブレット向けアプリケーションを開発する必要はあります。
Galaxy Tabは携帯電話にしては大きく、パソコンにしては入力がしにくく、閲覧用情報端末にしては中途半端な画面サイズです。ですから、筆者の考えとしては、この製品を購入する人は、「現在持っている製品と併用すると便利そうだと思える人ではないか」と考えています。つまり、メインマシンをサポートするサブマシンとなるわけです。
みんながGalaxy Tabのようなマシンを1台ずつ持つような世界になると、それはそれで楽しいことがいろいろできるようになりそうですが、現実的には難しそうです。きっと「友達同士で一緒に集まるときに、誰かが1台持っていると便利」といった感じになるのでしょう。タブレットマシンを持つような人も、「携帯電話+Galaxy Tabで出かけるか」「ノートパソコン+Galaxy Tabで出かけるか」「iPad+Galaxy Tabで出かけるか」といった感じで、いずれにせよ「Galaxy Tab1台だけで何でもやろう」と考えている人は少ないでしょう。
そうやって考えてみると、ますます、Galaxy Tabはスマートフォンの代替機でもなく、ノートパソコンの代わりでもないので、あると便利なアプリケーションというのは、変わってきそうです。そういったアプリケーションとしては、どういったものがあるかというと、スマートフォンでは難しいけれどノートパソコンを取り出して動かすほどのことではないようなサービスを提供できると良さそうです。
そこで思い付くのが、「持ち運べるサーバとして利用できるのではないか」ということになります。クラウドへデータを置きたいこともあるでしょうが、手元に置きつつ持ち運びたいデータもあるでしょう。スマートフォンで持ち歩くには大きく、クラウドに置くにも大き過ぎて転送に時間がかかるようなデータについては、手軽に利用できる携帯サーバに入れて持ち運べると便利そうです。そうやって考えてみると、いろいろなアイデアが浮かんできそうです。
実際にAndroidアプリを検索してみると、いろいろ出てきます。root権限を持っていないとインストールしたり、動かしたりできないものもあります。セキュリティ面など保障できませんので、ご使用には十分にご注意ください。
「PAW Server」を使うと、AndroidでHTTP Webサーバを動かして、PCのWebブラウザからAndroidへアクセスできるようになります。システム情報を参照したり、ファイルシステムを閲覧したり、壁紙を変更したりといったことが可能です。
「ServersMan」というのもあります。Android端末をサーバにすることでネットワークストレージとして活用しやすくし、ファイル共有もしやすくしています。Androidを「パーソナルデータセンタ」化することを目指しているようです。
また、「droid VNC server」や「android-vnc-server」のように、Android端末でVNCサーバを稼働させて、PCなどから利用すると便利そうだと考えている人もいるようです。
ちょっと調べてみると分かりますが、Servletコンテナ/アプリケーションサーバの「Jetty」を移植した「i-jetty」というAndroidアプリもあります。あまり話題にはなっていないので、こういった分野はニッチなのかもしれません。とはいえi-jettyを使うと、Galaxy Tabでサーブレット/JSPが動かせそうなので、ちょっとわくわくしてきます。
探せば、ほかにもサーバ機能を持ったAndroidアプリはたくさんありそうです。
さて、こうやっていくつかの携帯サーバ用アプリケーションがあることを知ると、実際に自分でも開発したくなってくるはずです。その方法を次のページから解説します。
Copyright © ITmedia, Inc. All Rights Reserved.