第1回 iアプリのつくりかた コネクト(1)

新連載「もばいるのつくりかた」では,私たちが普段便利に使っているモバイル機器の仕組みや部品について取り上げていきます。たとえば「どういう仕組みで動くの?」とか「なんで光るんだろう?」とか。そんな素朴な疑問を,作っている人たちに直接ぶつけちゃいましょう!

【国内記事】 2001年5月9日 更新

 ZDNet Mobile読者の皆さん,はじめまして! 新しく始まりました連載「もばいるのつくりかた」です!

 この連載では,私たちが普段便利に使っているモバイル機器の仕組みや部品について取り上げていきたいと思っています。たとえば「どういう仕組みで動くの?」とか「なんで光るんだろう?」とか。そんな素朴な疑問を,作っている人たちに直接ぶつけちゃいましょう!

 ということで,本連載を担当しますのは,ワタクシ,絵本智と申します。PCやモバイルを使って遊ぶのはスキ! でもメカの仕組みは知りません!(えっへん)……いばってどうする,私。

 私からしたら,メカの専門家さんなんて,神様か,エイリアン……っと失礼。でも,がんばってしっかりお話を聞いて,皆さんに分かりやすくお伝えできるようにがんばりますので,どうぞよろしくお願いしますね! さーて,まずはお勉強しなきゃね。なになに?「異星人と仲良くする方法(第1章)」ふむふむ……。

 さてさて。第1回は何から始めようかなー,と,ZDNet編集部で相談していたところ,最近の携帯電話での一大トピック!「iアプリ」のお話になりました。知ってます! 私も知ってますよ! えっと,あのー,ケイタイでゲームができるんですよ,ね?(不安)。

 ということで。記念すべき第1回は題して,「iアプリのつくりかた」!

 やって来ました,ここ東京の神保町にある携帯電話用Javaアプリの開発会社,コネクトさま。

 一般に「iアプリ」と呼んでいるものは,実はNTTドコモの携帯電話に使用するものの名称で,それは本来は「Java」というプログラミング言語で書かれたプログラム(アプリ)なので,「携帯電話用Javaアプリ」と呼ぶのが正しいとのこと。で,これを教えてくれたのが,写真の……むむむ,なんとなく,スケールの大きさを感じさせる(体が大きいって意味じゃないですよ!)この方が,コネクト社長,加来徹也さんです。

 すいませーん,じゃ,その「携帯電話用Javaアプリ」ってどうやって作るんでしょうか? というか,まず,それってこれまでのiモードとどう違うんですか??

i携帯電話用Javaアプリ……って,なに?

 「たとえばね,NTTドコモの携帯電話を例に取ると……まず,iモードっていうのは,皆さんがパソコンでZDNet見るのと同じ。言ってみれば,ブラウザソフトで,ある種のWebページを見てるんですよ。コンテンツを読み込むたびに,通信代がかかります。でも,たとえばゲームをしようとした時,タイトル画面なんかを毎回毎回パケット代払って見たくないですよね。そこで,一部を携帯電話本体のほうに入れてしまおう! と。それがiアプリを代表とする携帯電話用Javaアプリの考え方です」

 それってパソコンにゲームソフト入れるのと似た仕組みですね。で,さらに携帯電話は通信回線を持ってるから……ネットワークゲームとか,いろんなことができちゃいそうですね!

 「そうそう,でもね,さらにそれだけじゃなくて,表現の幅もぐっと広がりました。これこれ,どうですか?」

 といって加来さんが自分の電話を取り出して見せてくれたのは,車が走っているアニメーションの画面。おお,動いてる動いてる。

 普通のiモードだと文字ばっかりか,Webっぽいレイアウトでの画像表示ばっかりでしたけれども,これはまるで携帯用のゲーム機みたいです。赤い自動車が画面を横にすいすい走って,その後ろに背景が流れていき……お,BGMも流れ始めました。あ,この曲知ってる!「あなたの近所の秋葉原〜♪さ・とーむせ」……って,なんでやねん!

 「いいじゃなーい,かっこいいじゃなーい,電気屋さんのCMソング〜,ねえ?」

 ねえ? って同意を求められても,あの……なんだか加来さん,やたら嬉しそうです。

 加来さんは,もともとは外資系のコンピュータメーカーに勤めていたそうなのですが,この技術の将来性を感じて独立されたとのこと。「小さいもの,好きなんですよねー」と携帯を眺めながら語る加来さん。

 ……そうか,この技術が好きなんですよね? CMソングじゃないんですね??(ほっ)

 さてさて。では,気を取り直して次行ってみましょー。

 携帯電話に,パソコンみたいにソフトが入れられると便利なのは分かりました。アニメーションがぐりぐり動いたりするのも面白いですよね。電気屋さんのテーマも聞けるし(?)

 でも……。すっごく基本的なことで恥ずかしいんですけれど……なんでJavaなんですか? というか,Javaってなんですか??(すみません。。)

なぜJavaなの?

 「Javaってね,プログラミング言語なんですよ。……なんとなく,分かりますよね?」

 はい! いろんなソフト作るための,あれですよね? C言語とか,そういうのですよね?

 「そうそう……でね,Javaっていうのもその一種なんですけれども,これって生まれたのがわりと新しめの言語なんですよ」

 加来さんによると「言語としてモダン(現代的)なこと」というのは,開発を行う上で非常に重要なことで,それにより,いろいろなメリットがあるのだそうです。既に,Javaという言語は「絵本さんも気づかないうちにいっぱい使ってますよ」(加来さん)とのことで,たとえば,自動販売機の中に入っている賢いプログラムなども,Javaで書かれていることが多いようです。

 でも,「新しい」だけでは選ばれたりしないんじゃないかな? 新しいがゆえのメリットって,何かあるのかな? と聞いたところ……。

 「Java VM,っていうのがあるんですよね」

 ……わ,分かりません!(びくびく)

 「あはは,はいはい。えっとですね,VMって,Vertual Machine(仮想マシン)の略で,この考え方のおかげで,Javaで書いたプログラムっていろいろなハードに移植するのが楽なんですよ」

 うーん……。

 「そもそも,たとえば携帯電話を例にとると,パソコンみたいに『CPUはインテル!』とかって決まっていないし,家電という意味ではいつもコストと戦って設計の変更をしたりしています。しかも,携帯電話はハードの構成もまだまだどんどん進化している真っ只中ですし。そんな中で,ハードにべったりくっついたソフトを作ると,機種ごとにまた一からプログラムを書き直さなければなりません。小さなプログラムなら全部書き換えても,まだいいのですが,最近の携帯のソフトって,でかいんですよ」

 ふむふむ,なんとなく分かります。Windows用のソフトはMacintoshでは動きませんものね。携帯電話では機種がみんなバラバラで,そのまんまでは,ソフトに互換性がなくなっちゃう,ってことなのかな。

 また,全般にソフトが大きくなる傾向があるのはなぜかというと,たとえばいろいろな家電などのインタフェースにしても,人にやさしいものになってきているからなのだそうです。どんな人にも使いやすいように,いろいろ分かりやすく親切に表示しようとすると,プログラムはどんどん複雑化していってしまうとのこと。

 携帯電話などは特にどんどん進化しているし,プログラムもそれこそどんどん複雑化していっているんだろうな。

 「純粋にプログラミングの合理性という意味で,どんなハードでも,同じプログラムを走らせる方法を考えたんですよ。……それは,ハードとプログラムの間に,もう1つプログラムを置く! というものでした」

 加来さんはにっこりして「それが,Java VM!」と言いましたが……といっても,まだイマイチよく分からない……。

 すると,加来さんはホワイトボードにきゅっきゅっきゅー,と絵を書いてくれました。

 「このハード1とハード2では,表面の凸凹の形が違うでしょう? だから,この上にプログラムを乗せようとすると,別々の形のつなぎ目のものを,それぞれ作らなくちゃならない。ハード1に乗っかるプログラムは,ハード2には乗らないんです」

 でこぼこの形が違うから,きちんとはまらないんですよね? なるほどなるほど……これがきちんと乗っからないと,動かないわけだから,それは確かにだめですね。

 「だからその間に,こんなふうにもう1つ別のプログラムをはさんでやると……ほら,平らになったから,ハード1でもハード2でも,同じプログラムが乗せられるようになるでしょ?(下図) この間にはさむプログラムをJava VMといって,いろいろな製品で,互換性を持たせるために使われているんです。それで,今回,携帯電話にもこれが使われたわけです」

 いろんな種類が出ていて,いろいろなハードで動いている携帯電話だから,そのハードの表面を平らにして,みんな同じアプリケーションが動くようになっているんだ! なーるほど,これは便利!

 そこで,「すごいですねー,いいですねー」と素直に感想を言ったら……加来さんの目がキラーンと光りました。

 「でしょう〜? いいでしょう〜? やっぱこれからはJavaだよねー。若者はJava!」

 そ,そうですか,これからはやっぱり高校生くらいからJavaですか。

 「そう! いや,中学生からでいいな。うん。男だったらJava!」

 …………。

 「女もJava!!」

 あ,はい。が,がんばります!

 とととともかく,携帯電話用のプログラミングにJavaが使われている理由は分かりました。でも,ここまでで結構長くなってしまいましたので,今回はここまで!

 次回は,実際にコネクトで開発しているソフトや,また,携帯電話用のプログラムをJavaで作っていく時の苦労についてを聞いていく予定です。

 「なぜJavaなのかって? ともかくJava! 老若男女,みんなJava! これ本当!!」

 あうあうあう……ということでまた来週〜!!

関連記事
▼【特集】携帯向けJava,3社の違いは?
▼iモード対応Javaを作るのに必要なものは?──NTTドコモ,仕様をついに公開
▼ドコモ,公式iアプリ作成ツールを公開

[絵本智,ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.



Special

おすすめPC情報テキスト

モバイルショップ

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!