ビジネス情報

コラム バックナンバー

NO.012 BREWとC++がもたらす携帯アプリの未来

堀口 淳史氏
株式会社ソフィア・クレイドル チーフソフトウェアアーキテクト
私が BREW という言葉を初めて聞いたのは、もう1年9ヶ月ほど前のことである。
当初、私の会社では JAVA アプリの開発(携帯インスタントメッセンジャー)が主な仕事だった。 まだ、世間では BREW という言葉など聞いたこともない人が多く、BREW アプリといえば、当時ある会社が作ったインスタントメッセンジャーが噂になっていたくらいだった。 しかし、私と会社の数名は BREW という環境に非常に興味があった。
なぜなら、弊社が当時 JAVA 用に作ったメッセンジャーは、機能は満載しているもののお世辞にも動作が速いとは言えず、使い物に成らなかった。
サイズ制限の問題とパフォーマンスのチューニングに悪戦苦闘していた。
だが、BREW という環境を調査しているうちに、C言語で記述でき非常にシンプルな実装になっている事を知った。この環境なら、本格的なメッセンジャーを作れるかもしれないと考えたわけである。
そこで、JAVA 用に作っていたメッセンジャーを BREW に移植する作業を開始したがBREW は、技術的には魅力がある反面、そのシンプルな実装のために規模の大きなアプリケーションを作成するには、とても苦労する環境だった。
BREW に用意されている API は機能的には一通りそろっていたのだが、アプリケーションを作るという点においては JAVA の API と構造の方が優れていた。
そこで、私は BREW 用のアプリケーションフレームワークである SophiaFramework の開発に着手したわけである。 当初、メッセンジャーを効率的に作るために開発したフレームワークだったが、今では着メロやコミュニティ、辞書など5つのKDDI 公式 EZ アプリ(BREW)で利用されている。 また、新しいバージョンではC++ のオブジェクト指向を本格的に取り入れた、より汎用的なライブラリ群 + アプリ ケーションフレームワークとして再構築された。また、新バージョンでは JAVA からの 乗り換えを意識した構造になっている。
BREW という環境は、実装がシンプルで、ほぼ直接 CPU の上でアプリケーションが動作するので、プログラマーが処理の重さをかなり自由にコントロール出来るというメリットがある。JAVA では不可能だった複雑なデータ管理や計算、数値演算の 幅が広がるからだ。これはゲームなどを作るときは非常に有利な点だろう。
規模の大きなアプリケーションは構築するのに苦労するという点はあるが、それはフレームワークや C++ を使用してオブジェクト指向を導入すればかなり解決する問題である。 そういうわけで、SophiaFramework を使用すると開発が容易になるので、ゲームだけに留まらず、規模の大きなビジネスアプリなどでも、直接 CPU の上でアプリケーションを動かせることのメリットは大きい。
また、BREW は通信が JAVA に比べて解放されている点やファイル構造を持っている点など、これから増えて来るであろう規模の大きなアプリケーションにとっては有利な点が数多くある。 また、それらが利用できてこそアプリケーションの規模も大きくなるというものだろう。
私は、BREW の出現と普及によって携帯アプリのジャンルがこれまでにもまして増えると確信している。 今後、携帯電話は通信機能はもちろんのことラジオ・テレビや写真機能、音楽プレーヤ、BlueTooth を用いた記憶媒体としての側面など数多くの側面を持つデバイスになると思っている。
それらをコントロールするソフトウェアを記述するときに、BREW は適度なレイヤーに存在しているように思う。 それは、OS 側に近過ぎもせず、アプリケーション側に近過ぎもしないということである。
BREW の API は規模の大きなアプリケーションを簡単に開発するにはまだまだ物足りない点はあるが、これは弊社が開発した SophiaFramework やBREW 自身が持っている Extension 機構によって解決される問題であろう。
BREW アプリはまだまだ日本国内では数少ないが、これから BREW の利点を生かした刺激的なアプリケーションが出現することを期待している。
最近の BREW の動向をみると、その方向に進んでいるように思う。
ゲームや JAVA アプリからの移植だけではなく、本来の BREW の利点を生かしたアプリケーションの登場により、新しい携帯アプリの世界が拓かれるであろう。
私は個人的に、この少し原始的だが好奇心を刺激する BREW という環境を好んでいる。 BREW の今後の発展を楽しみにしている。
SophiaFramework は株式会社ソフィア・クレイドルの製品です。
株式会社ソフィア・クレイドルでは BREW や SophiaFramework に関する情報を発信しています。 詳細は、http://www.s-cradle.com/ にアクセスしてください。