Androidケータイが熱いかどうかは分からんが、とりあえず面白そう


 どうもです。最近は発売日の発表が待ち遠しく、毎日Googleニュースとにらめっこしている日々の続々です。


 昨今のiphoneやNintendDSのブームを見ていると、据え置き型と分離した携帯型ゲーム機のスタンダードは、当分この方向に走っていくのではないかなぁと個人的に睨んでいる、私。
 さてさて、どのデバイスが最終的に勝ち残るのかと情報を集めているのですが、どうにもこの先もう携帯ゲーム機というのは無くなって、携帯電話に集約されるんじゃないか、みたいなことをふと思っています。
 だってねぇ、最近の子供は中学生なのに携帯電話持ってるし欲しがるわけじゃないですか。それでなくても若者はカジュアルにビジネスにと携帯は必要。現時点で、ゲーム機と携帯電話の需要は、完全に携帯電話のほうが勝っているじゃないですか。
 それに加えてゲームのマンネリ化、最先端の技術から脱却してアイデア一本なゲームがちゃんと評価されている世の中を考えると、あぁこれから先はそんなハイスペックの専用機なんていらんようになってくるのかなぁと。
 それこそ、携帯電話で皆が暇つぶしでやっているような、マージャンゲームだとかシューティングが主流になってくるんじゃないのかなぁと思うんですよ。


 そういう意味で、iPhoneっていうのはゲーム機の最先端と言うか、終着点みたいに私は捉えているのですが。いかんせん、もう時期的には旬を過ぎちゃってるなと。
 意外性があって作れそうなソフトウェアはあらかた開発し尽くされちゃって、ノウハウを持っている人たちは大勢いる。
 物作ってる(まだ学生だけれど)人間としてのプライドをかなぐりすてて、なんの臆面もなく言ってしまえば、新規参入するにはすでにその隙間が無い状態、完全出遅れ状態って奴なんですよ、今のiPhoneは私にとって。
 そんなところで改めて頑張ろうっていう気にはなれないし、参入するためにかかる経費(開発にはmacが必要、更にソフトウェア公開には年会費が必要)も馬鹿にならないときたら、そりゃやる気もなくします。かといって、代わりになる開発環境があるのかといえば、SoftBankDocomo各社とも開発環境は提供していて、昨今はFlashLiteによる開発も盛んなのだけれど、どうにも実機の環境の違い(例えば表示可能画面サイズであるだとか、使用できる機能であるだとか、アプリケーションの容量制限、なによりサンプルソースの少なさ、そしてソフトウェア公開には管理会社を通さなければいけないというところなど、アマチュアでへっぴりプログラマーな私から見た場合)が気になり、なにより携帯という操作性の悪さが気になって、今ひとつやる気になれない。
 あーあ、どっかにiPhoneみたいな入力を持ち合わせた携帯電話は出てくれないだろうか、しかも出来る限りオープンな感じで。なんて思っていたら、世間は広くて狭い、探してみればあるもんですねそういう夢のような携帯電話が。
 しかも、その開発には今やAppleMicrosoftとも肩を並べる、あの一流企業が絡んでいるときたら、これは乗るしかない!!


 というわけで、完全にiPhoneブームに乗り遅れくいっぱぐれたへっぽこプログラマーの皆さん、もしくは開発環境のmac買う金ねえよな貧乏プログラマーの皆さん。近々Docomoから『Android』ケータイが出るそうなので、そちらで一花咲かせてみてはいかがでしょうか。

なんぞ? 『Android


 ご存知ですか、『Android』。読んでそのまんまアンドロイドですが、ガシャーンガッキーンでトランスフォームするロボットケータイではありません。iPhoneやWindowsMobileなんてのと同じ、いわゆるスマートフォンという奴です。
 ケータイなのにキーが無くって、大きな画面にブラウザが表示されて、動画が見れて、音楽が聴けて、上下に揺らしたり傾けたりしてゲームが出来る。もっとも、最近のケータイにはそういう機種もあるそうですが……。


 さてそれだけなら、なんだiPhoneのコピーかならiPhoneでいいやになりますよね。何で私が、世間が(といっても一部だけかもしれませんけれど)プッシュするのか。それはこのAndroidというのが、将来的に携帯電話のスタンダードになるかもしれないからです。
 なぜかといえば、それはこのAndroidというケータイ電話が、いえ、ケータイ電話のOSが、誰でも利用できる無料のOSだからに他なりません。
 世の中にiPhoneの様な携帯電話は数あれど、iPhoneの様な動作をする携帯電話、iPhoneのソフトが動く携帯電話はありませんよね。そう、iPhoneの中で使われているOSが搭載されているのは、iPhoneiPod touchくらいなのです。
 これに対してAndroidはどんな携帯電話にも搭載することができるのです。えぇ、そりゃもう、docomoだろうがauだろうがsoftbankだろうがWILLCOM、どんな携帯電話でもです。いえ、携帯電話だけでありません、今流行のデジタルフォトフレームネットブック、もしかしたら冷蔵庫にも(それこそ積み込む意味は分からないが)搭載可能なのです。ちょっと話がずれましたね、閑話休題
 つまりです、Androidは企業側からしてみれば非常に魅力的なOSなんです。そして、ことが上手く運びAndroidが一般的な携帯のOSとして普及すれば――iPhoneよりも広いユーザーを相手にアプリケーションを開発できることになるのです。広いユーザーを相手にするということは、それだけに自分に返ってくるものも大きくなりますし、作り甲斐も大きくなります。


 もっとも、ことはそう簡単には進みません。あのPSで一世を風靡したSonyだって、PSPではNintendoDSに大きく差をつけられる結果になってしまいました(もっとも、私の周りはDSよりPSPのが多いですが)。どんなに機能が優れていても、商品として優れていても、売れるかどうか、親しまれるかどうかには運の要素が少なからず入ってくるのです。いや、Nintendoは狙ってNintendoDSを普及させた、人が一番欲しい物を作り続ければ良い物はちゃんと売れるなんてたわごとは、バーチャルボーイとかサテラビューとかの頁を見てから言ってください。
 なので、このAndroidが携帯電話のスタンダードになるというのはそうそう簡単なことではないでしょう。けど、大丈夫。Androidのバックには、今を輝く一流IT企業が控えているからです。さてさて、OS一本を丸々無料でケロッと公開してしまう豪胆さ、いったいそのバックについている企業とはどこなのか――記事を見ている人は、もう知っているでしょうね、そう。


 http://code.google.com/intl/ja/android/
 

 天下のGoogle様でございます。このAndroidという新しい波の仕掛け人は、今最も暑いIT企業Googleなのです。
 GoogleMap、YouTubeGmail、最近ではGoogleブックスストリートビューなんかでも何かと話題を呼んだGoogleが、次は携帯電話で世間をあっと言わせようとしている。
 かてて加えて、このAndroidはGoogleMapやYouTubeといった自前のサービスとの融和性も高い。ただでさえ便利なGoogleのサービスが携帯電話にそっくりそのまま持っていけたら、これは鬼に金棒。基本は無料に、豪華な機能、まさにいたれりつくせり。これはきっと何か大きなことになるんじゃないか、嫌がおうにもそういう期待がその手の人たちの中には漂うのも無理もない話というものでしょう。


 このように、AndroidiPhoneと比べれば地味(比較する相手が悪い(笑))ではありますが、非常に希望に満ちた携帯電話と言えるのです。
 あるいは、本当にAndroidが携帯のスタンダードになる日が来るかもしれません。実際に今夏発売される第一号に続き、SonyAndroid携帯を開発しているというニュースも語られています。決してそれは万馬券を手につかむ話ではないでしょう。

開発者から見た、Android


 さて、上記はあくまで企業やユーザーといった大きな視線で見たAndroidのメリットでした。この視点を開発者にするとどうか。個人的に、Androidは魅力的であるということが出来ます。


 まず開発環境についてですが、これはAppleiPhoneと同じく、開発元のGoogleから無償で提供されています。
 エミュレータ付属で実機が無くても開発可能というのも嬉しいですが、なんといってもEclipseのpluginに対応しているのが最も魅力的と言えるでしょう。つまり、AndroidアプリはEclipseの環境で開発が可能なのです。仕事や研究でEclipseを使ってる方も少なくないでしょう、その人たちにとっては実にスムーズにAndroidの開発に移行することが出来ます。もっとも、これはAndroidだけが特別というわけではないのですが……。


 次に開発言語ですが、基本はやはりとっつきやすいJava言語になっています。これもまた他の携帯用開発言語と変わりない――とにわかに思われますが、どうにもよく調べてみると違うようです。というのもAndroidでは、本当にJava言語ライクなGUI開発環境を提供しているのです。
 これまた私の言い方では上手く伝わらないかもしれません。けれども、JavaGUIアプリケーションを開発した人なら分かってもらえると思います。ずばり、フレームを作成し、レイアウトを設定し、ボタンを配置し、ActionListener・MouseListenerをimplementsし、actionperformed・mouseclickメソッドを書く。この手順でアプリケーションを開発することが出来るのです。
 これはアプリケーションを開発する上で非常に重要ということができるでしょう。というのは、ボタンやプルダウンメニューといった、共通部品の実装の簡易化というのは、オブジェクト指向言語がもたらす利益の最たるものだからです。私は携帯アプリケーションの開発は経験が無いのですが、恐らく従来の携帯用開発言語ではオブジェクト指向を謳いながら、その内部は旧Cライクな構造化プログラミングの域を出ていなかったのではないのでしょうか。と思ったら、とっくの昔にiアプリではbutton・Labelクラスが実装されてた!!(恥)


 他の機能としては、携帯付属のGPSやカメラなどのリソースを利用できることや、ローカルで動作するデータベースSQLiteが利用できること、3D描画にOpenGLが利用できることなどがあげられます。どれも携帯電話が持ち合わせるにしては、充分な機能ではないでしょうか。
 さて、ここまでは現行の携帯アプリと似たり寄ったりですが、一つだけ決定的に違うことがあります。それは、開発したAndroidアプリを配布するにあたり、どこかの管理サイトに登録する必要が無いということです(ただし、署名を作成する必要はある)。
 iPhoneアプリについてはこの辺でかなり厳しい審査が行われて論議をかもし出しております。質の高い製品を作りブランド力を維持するのも大切ですが、開発したものを自由に世に広められるというのも大切だと思います。
 もちろん登録する場所が無いわけではありません。Googleは「Android Market」なるストアを開設し、そこに開発したアプリを登録できるようにしています。ここでは、有料で開発したアプリを売れるほか、売り上げから三割のマージンを引かれる以外は「Apple Store」のような登録料などは一切発生しません。


 あと、これはAndroidの機能ではありませんが、開発発表から一年間もないというのに、Androidサンプルソースはネット上に豊富に存在しています。それも英語のドキュメントでなく、ちゃんとした日本語のドキュメントで、です。それこそ、ゲームのサンプルアプリさえ既に存在しているのです。もちろん、それらは全部無料で閲覧することができます。
 自由にアプリを開発でき、自由にアプリを公開でき、自由にその報酬を受けることができ、自由にその技術を得ることができる。開発者にとってこれほど嬉しいことは無いんじゃないでしょうか。Android、ひいてはGoogleは実に懐が深い開発環境なのです。

作りたくなった、やってみたくなった!!


 これは一つ面白いものが作りたくなったと思ったら。とりあえず、GoogleAndroidのページにアクセス。AndroidSDKをダウンロードしてみましょう。


http://code.google.com/intl/ja/android/


 導入方法がわからないという方は以下のサイトを参照。サンプルコードも書いてあるので、一通りの技術も学べます。


Androidプログラミング入門 ~Android Studioを使ったアプリ開発の手順~| JavaDrive
http://www.saturn.dti.ne.jp/~npaka/android/


 他、こまごまとしたTIPS


 以上が今の私がAndroidについてわかってることの全てです。
 というわけで、一つAndroidでいかすアプリを作って、花を咲かせてみようじゃありませんか。