業務アプリケーションをスマートフォンにいち早く対応させたい――。急速な拡大が予想されるスマートフォン市場を見据えて、コンシューマー分野のみならず、業務アプリケーションのスマートフォン対応を検討しているITpro読者も多いだろう。スマートフォン上の業務アプリケーションをいち早く実現したいという要求に応えられそうな二種類の開発ツールを紹介しつつ、スマートフォン時代のプログラミング環境について考えてみたい。

 スマートフォンのアプリケーション開発において、“いち早く対応する”には、二つのハードルがある。一つめのハードルは、いかに素早くアプリケーションを開発するか。そしてもう一つのハードルは、多種多様なスマートフォンやタブレット端末にいかに効率よく対処するか、である。

マウス操作でAndroidアプリを開発できる

 一つめの“素早く”アプリケーションを実現できる開発ツールとして注目されるのが、「App Inventor for Android(以下、App Inventor)」だ。App Inventorは、米Googleが提供する開発ツールで、Android用のアプリケーションを比較的簡単に作成できるのが特徴である。Googleアカウント保持者なら無償で利用できるのも魅力だ。

 通常、Androidアプリケーションを開発するとなると、プログラミング言語のJavaの知識はもちろんのこと、統合開発環境のEclipseやAndroid用のソフトウエア開発キット(Android SDK)などの使い方をマスターする必要がある。実現したいアプリケーションの内容にもよるが、いち早くアプリケーションを開発したい状況において、これらの知識やスキルの習得に時間やコストをかけるのをなるべく避けたい場合もあるだろう。

図1●App Inventorを使ったAndroidアプリの開発画面。Webブラウザー上で画面をデザインする「App Inventor Designer」と、ブロック状の部品を組み合わせて挙動を実装する「App Inventor Blocks Editor」を表示している
図1●App Inventorを使ったAndroidアプリの開発画面。Webブラウザー上で画面をデザインする「App Inventor Designer」と、ブロック状の部品を組み合わせて挙動を実装する「App Inventor Blocks Editor」を表示している
[画像のクリックで拡大表示]

図2●Scratchでは、あらかじめ用意されたブロックを組み合わせてアプリケーションを開発できる
図2●Scratchでは、あらかじめ用意されたブロックを組み合わせてアプリケーションを開発できる
[画像のクリックで拡大表示]

 App Inventorを使えば、GUI(グラフィカルユーザーインタフェース)上のプログラム部品をマウスで操作することにより、Android用のアプリケーションを開発できる。図1に示すように、あらかじめ用意されたUI部品を画面上にドラッグして表示画面をデザインしたり、ブロック状の制御用部品をパズルのように組み合わせて挙動を実装したりできる。一切コードを書かずにアプリケーションを実現できるので、開発者は言語仕様や開発ツールのAPI(アプリケーションプログラミングインタフェース)をマスターしなくて済む分、アプリケーションの画面デザインとロジックに注力できるわけだ。

 少々余談になるが、ブロックとして用意されたプログラム部品をマウスで組み合わせてプログラムを作成できる開発ツールに、教育用途で注目を集めつつある「Scratch(スクラッチ)」がある(図2)。5月21日に東京・渋谷区で開催されたイベント「SCRATCH DAY in TOKYO」では、小中学生が作り上げた見事なアプリケーションが披露されていた。言語仕様や開発ツールをほとんど習得しなくて済む分、ソフトウエア開発の主目的となるアイデアの具現化に専念しやすいようだ。これは、アプリケーションをいち早く開発したいという要求にもつながるだろう。