App Inventorとは?

App InventorはGoogle Labsで開発されているAndroidアプリケーション向けの開発ツールで、現在はベータ版として公開されている。

図1 App InventorのWebサイト

GoogleはAndroidアプリケーションの開発用にGoogle Plugin for EclipseというEclipseプラグインを提供しているが、Java言語やAndroidが提供するAPIなどに関する知識が必要だ。これに対しApp Inventorはグラフィカルな操作のみでアプリケーションのユーザインターフェースや動作を作成することができるため、プログラミングに関するする知識がなくてもAndroidアプリケーションを作成できてしまう。

また、Googleアカウントさえ持っていればWebブラウザ上から利用できるため、手軽にAndroidアプリケーションの開発に触れることができる(実際にはクライアントPCにApp Inventor用のセットアップを行う必要がある)。

クライアントPCのセットアップ

Webブラウザから利用可能なApp Inventorだが、利用にあたっては事前にクライアントPCにセットアップパッケージをインストールする必要がある。また、Javaランタイムも必要だ。

App InventorのWebサイトからOSに応じたセットアップパッケージをダウンロードし、インストールする。インストール完了後にこちらのURLにアクセスするとGoogleアカウントへのログインを要求される。

図2 Googleアカウントへのログインを要求される

ログイン後に利用規約への同意を求める画面が表示されるので、目を通して同意するとApp Inventorが利用可能となる。

図3 App Inventorの初期画面

App InventorによるAndroidアプリ開発

まずは「New」ボタンをクリックしてプロジェクトを作成しよう。

App InventorではWebブラウザ上でユーザインターフェースをデザインし、Blocks Editor(Javaアプリケーションとして実装されておりJava Web Startで起動する)で動作をプログラミングする。利用可能なコンポーネントにはGUI部品だけでなく、サウンドの再生やカメラ、コンタクトリストとの連携、位置情報といったセンサ情報なども用意されている。

また、App Inventorで特徴的なのがBlocks Editorで、アプリケーションの動作をコードではなくブロックを組み合わせることでプログラミングしていく。コンポーネントやブロックの使い方を覚えればプログラミングの知識がなくても簡単なアプリケーションを開発することができるだろう。

図4 ユーザインターフェースのデザイン

図5 Blocks Editorでのプログラミング

Blocks EditorからエミュレータもしくはPCに接続したAndroid端末と接続することができ、App Inventor上で行った変更をすぐに確認することができる。筆者もはじめはBlocks Editorの使い方がいまひとつ把握できなかったが、ブロックを組み合わせながらエミュレータ上で動作確認を繰り返しているうちに理解することができた。

なお、作成したアプリケーションはapkパッケージにパッケージングすることができ、クライアントPCにダウンロードするか、PCに接続した端末に直接送信するか、Web経由でダウンロードするためのQRコードを表示することができる。

まとめ

App Inventorはこれまでのプログラマ向けの開発ツールとはまったく異なるスタンスのツールだ。Blocks Editorはまさにビジュアルプログラミングと呼べるもので、プログラミングの教育用途にも適しているのではないかと思う。

しかし、App Inventorは教育用のツールというだけでなく、サウンドやカメラ、位置情報といった機能を活用した実用的なアプリケーションを作成することもでき、それを実際のAndroid端末上で動作させることもできるのだ。

日本国内でもさまざまなAndroid端末が発売され、今後Android端末の普及は大きく進むと見られる。その多くは当然プログラミングの知識を持たないだろう。こういったAndroidユーザにもアプリ開発のための手段を提供するという意味においてもApp Inventorの存在価値は高まっていくのではないだろうか。