SophiaFramework とは
音楽配信、金融決済、遠隔制御等々、次世代携帯電話向けアプリケーションは複雑多岐に渡り、かつ大規模化していくでしょう。このような状況において、人々に「感動」を与えるほどにクオリティの高いアプリケーションを提供するためには、必然的に『アーキテクチャ(基本設計)』というものの重要性がクローズアップされることとなるでしょう。先ずは BREW によって、この世界の扉が開かれようとしています。
新兵器革命 - 次世代アプリを全世界へ
携帯電話機ハードウェアの高度化に伴い、それを制御する携帯アプリのサイズは増大の一途を辿り、その開発費用は桁違いに高騰しつつあります。そのため、携帯アプリ開発会社は従来のアプローチや方法論のままで開発していたのではもはや収益拡大を望めません。
BREW のように携帯アプリのプラットフォームが全世界的に共通化される環境下において、携帯アプリ開発会社が存続し、発展するためのキーとなるのは、企画、開発技術、サービス運営ノウハウなど、あらゆる面においてのQualityを極大化した超一流の携帯アプリを企画、開発し、全世界に流通させ、サービス提供することによってのみ、これまでとは一桁違う収益構造を確立できるという考え方です。 SophiaFramework では、携帯アプリで最も重要となるであろうユーザーインターフェーズに 関する究極の GUI ライブラリを始めとして、再利用可能な数々の高品質なソフトウェアライブラリがラインナップされています。 SophiaFramework をご利用いただくことによって初めて世界に通用する携帯アプリが実現可能となるでしょう。
T 型フォードから得られるヒントとは
これまで、ほとんどの携帯アプリ開発会社は携帯アプリをゼロから自前で全てのプログラムを開発してきました。携帯アプリのサイズが数十キロバイト程度の小さなものであれば、このアプローチも通用しましたが、携帯アプリのサイズが数百キロバイト以上になってくるとこのやり方も破綻してしまいます。何故なら、例えば、サイズが10倍大きくなり、開発費用が10倍になったからといって、その携帯アプリの利用者に10倍の金額を代金として頂くことはあり得ない話だからです。これを解決するための手段としては、携帯アプリのサイズが大きくなっても開発コストが増大しないような開発アプローチを採ったり、開発した携帯アプリを日本国内だけでなく、海外にも輸出したりして、新たなる利用者の獲得というような考えが必須となってきます。
自動車王ヘンリー・フォードは自動車を組み立てる際に、従来、「従業員をどう動かして作業に割り当てればいいか」と考えていたのを、「作業をどう動かして従業員に割り当てればいいか」と発想を変えました。それによって、極めて効率の良い組み立てラインが生まれ、一般大衆でも以前は高価な乗り物であった自動車に乗れる時代が切り拓かれました。このヘンリー・フォードのT 型フォードの発想の転換を携帯アプリ開発にも適用し、高品質な携帯アプリを安価に世界中に流通させるべき時が来ています。携帯アプリを開発するのに「携帯アプリの全プログラムを自社の要員で開発する」というのではなく、「携帯アプリのアーキテクチャ(基本構造)を明確化し、自社の強みが活きるので自社で開発すべき部分と他社から購入すべき部分を明らかにして、携帯アプリのQualityを最大化する」というようなアプローチが極めて重要な開発指針となるでしょう。
効率化のポイントはモジュール化と標準化
携帯アプリを効率良く開発をするために、最も重要なポイントは携帯アプリのアーキテクチャそのものを標準化し、その携帯アプリをそのアーキテクチャに則ったモジュールの組み合わせで開発するというアプローチです。携帯アプリに必要とされる機能や構造を分析し、汎用的に利用されるロジックを再利用可能なライブラリやフレームワークとしてモジュール化し、その API (アプリケーションプログラミングインターフェース)をデファクトスタンダードといえるレベルにまで発展し、普及させて、全世界に流通できるというスケールメリットにより、ライブラリやフレームワークはもとより、携帯アプリまで含めて高品質なアプリを圧倒的に安い値段で世界中に提供することが可能となるのです。
米国 QUALCOMM 社は、以上のようなことを狙って、BREW というシステムで、組み込み系ソフトプラットフォームの標準化を実現しました。 この BREW により携帯電話機メーカーはソフト開発に煩わされず携帯電話機のハードウェア開発に専念できるようになります。ソフトメーカーは機種ごとの違いを調整する手間を大幅に軽減することができるだけでなく、世界中のあらゆる BREW 携帯電話機マーケットに自社のアプリケーションを流通させるチャンスを持つことになります。
SophiaFramework は携帯アプリ開発のアーキテクチャ指向の流れを汲み取り、携帯アプリをブロックのように容易に組み合わせるだけで開発できる高品質なユーザーインターフェースなどを中心としたライブラリとフレームワークを BREW 上に提供しています。勿論、SophiaFramework 上で開発された BREW アプリは全世界の BREW 携帯電話で実行可能です。
携帯アプリ開発はアプリ固有の処理と、GUI 部分やイベント管理などの極めて複雑で難解な部分を完璧に分けることができますが、後者に関しては全て SophiaFramewrok に全て任せることできます。よって、プログラマは純粋にアプリ機能のみの実現に専念できるので、生産性が大幅に高まります。また、利用者にとって喜ばれるとても使い易いモバイルグラフィカルユーザーインターフェースを搭載した、本当の意味で使える携帯アプリを世界中に広めることも可能となるのです。
最初の一歩は大きな一歩
ここで、ジグソーパズルを組み立てるときのことを想い浮かべてみましょう。さて、前半半分のピースをはめるのと後半半分のピースを埋めるのではどちらが、時間や労力がたくさん要求される大変な作業となるでしょうか?勿論、前半半分のピースをはめる作業の方が遥かに多くの時間と労力が要求されますね。
実はアプリケーション開発においてもこれと同じことが当てはまります。たとえサイズ的には同じ大きさであろうと、最初に開発すべき基盤に相当する部分のソフト開発は残りのアプリケーションロジックを中心とした開発と比較して、格段に多くの時間と労力を割かなければならないことが経験的に分かっています。SophiaFramework では、まさにジグソーパズルの前半半分に相当するアプリケーションの基盤といるソフトウェアモジュールが用意されているので、SophiaFramework を利用される方は最初からアプリケーションロジックに専念して開発ができます。そのため、SophiaFramework を採用した時の開発スピードは最初から通常よりも加速度が増している状態でスタートすることになり、通常では考えられないくらい短期間で、かつ少人数で極めて品質の高い携帯アプリの開発が可能となります。
航空業界では離陸するときの 3 分間が特に危険だといわれるように、何事も始動するときにもっとも多くのエネルギーや注意力、集中力が要求されるものです。SophiaFramework は建物でいえば土台と骨格に相当するライブラリやフレームワークを最初から用意し、アプリケーション開発で最も大変な最初の第一歩を全面的にバックアップします。また、アプリケーションの基盤となる SophiaFramework は徹底的にテストされ、且つ実績も数多く積んでいるソフトなので、品質面や性能面においてはバグのことなどに悩まされることなく、安心して利用することができます。 SophiaFramework は建物でいえば土台と骨格に相当する部品群を用意して、アプリケーション開発の最初の一歩を全面的にバックアップします。
未開の地における建築資材のように
或いは、貴方ご自身が周囲に全く何もない未開の地に放り出されたという状況を想い浮べてみて下さい。そこに家を建てるための建築資材が予め用意されていたとするならば、どんなにか有難いことでしょうか。現時点で、BREW プラットフォーム上でアプリケーションを開発するということは自分自身が何もない未開の地に放り出された状況に等しいといえます。
何故なら、アプリケーションを開発するために便利なライブラリやフレームワークなどが用意されていないし、揃っていないからです。SophiaFramework はこのように BREW アプリ開発プロジェクトにおいて厳しい状況に追い込まれた方々を救うという大きなミッションを持って開発されたアプリケーションプラットフォームなのです。SophiaFramework を構成する 3 層のうち、オブジェクト指向を実現する C++ ラッパー層とその他の部品を構成するユーティリティ層は、釘や金槌、のこぎりのように便利な道具です。プログラムの骨格であるGUI フレームワーク部分はまさに建物の土台と、すぐに使える柱や壁です。
いずれの層にあるモジュールも、現在の BREW SDK には付属していない極めて付加価値の高い内容で構成されおり、貴方の BREW アプリプロジェクトを加速するという意味において、多いに役立つものとなるでしょう。
注目の携帯アプリケーションプラットホーム BREW
BREW は 2001 年 1 月に QUALCOMM 社が発表した携帯電話向けのソフトウェア実行環境です。携帯電話間の仕様の違いを吸収し、単一のプログラムで多種の携帯電話に対応できるように設計されており、携帯用アプリケーションの発展を視野に入れたものとなっています。また、機械語に変換されたプログラムを実行するので Java ベースのソフトウェア実行環境より実行速度が桁違いに速いという特長もあります。
世界へ広がる BREW
米国 QUALCOMM 社は次世代携帯電話向けチップ世界市場で 90 %以上のシェアを誇ります。今後、QUALCOMM 社が提供する全ての次世代携帯電話向けチップには BREW が搭載される予定です。現時点での市場ポテンシャルでも世界的規模で 1 億 5000 万台の市場があります。 3 年後には世界的にみて 3 億台以上の市場に急拡大する見込みです。日本では KDDI が2003年に BREW を本格採用し、2004 年以降出荷される全ての KDDI の携帯電話には BREW が搭載されることになっています。また、 BREW 上で開発されたアプリケーションは全世界の BREW 搭載携帯電話で動作しますので、BREW アプリケーション開発会社は全世界に向けた携帯電話向けアプリケーション開発に取り組むことができます。
SophiaFramework の特長
SophiaFramework とは、米国Qualcomm社BREW搭載携帯電話向けに「モバイル端末向けマルチウィンドウシステム」を携帯電話業界で初めて実現したアプリケーションフレームワークと各種ソフトウェアライブラリから構成されます。
QVGA端末の急速な普及、ARM9などによる携帯電話向けチップの高速化の進展、プログラムメモリやデータメモリの急速な増大などに伴い、今後はますます、パソコンでいえば、WindowsやMacに代表されるような、使い易いマルチウィンドウシステムが、携帯電話利用者から当然のように求められるであろうと考えて開発されたのが SophiaFramework です。
使い易いマルチウィンドウシステムのアプリケーションを開発するためには、複雑で難解なイベント処理や描画処理をプログラミングする必要があります。この処理全てをアプリケーションプログラマに負担するのはどう考えても現実的ではありません。このような処理は普遍的で汎用的な処理でもあるので、 SophiaFramework にブラックボックス化することにより、実際は非常に高度なプログラミングスキルが要求されるものであるにもかかわらず、普通レベルのアプリケーションプログラマでも、使い易いマルチウィンドウのユーザーインターフェースを持つ携帯アプリを楽々と実現できるようにしました。その他、SophiaFramework にはC++による完璧なオブジェクト指向プログラミングを可能とする各種ラッパー群や文字列処理やストリーム、コレクション、描画処理など、あらゆる携帯アプリに必要なライブラリ群が標準で用意されています。将来的な展望として、現在、SophiaFramework はBREW上でのみ実装されていますが、アーキテクチャ上、プラットフォームに依存する部分と依存しない部分を明確に分離して開発されていますので、SymbianOS、携帯LinuxOS、TronOSなど、今後有力視される他の次世代携帯電話向けOSにもスムーズに移行させることが可能です。この仕組みにより、SophiaFrameworkをマルチプラットフォーム化するだけで、BREW上の携帯アプリをオートマティックにSymbianOS、携帯LinuxOSなどへマルチプラットフォーム化するようなことも可能となるのです。
SophiaFramework のアーキテクチャ
ソフトウェアが複雑化し、大規模化してくると、必然的に、処理の内容や性格に応じて構造的に分類して、統合的に開発するアプローチ、即ちアーキテクチャに基づくソフトウェア開発方法というものが必要になってきます。
BREW携帯アプリの開発においても、今後はアーキテクチャに基づくアプリケーション開発をしないとある段階で破綻が生じてしまうことでしょう。
SophiaFramework は、その事態を先取りする形で、BREW携帯アプリの開発作業そのものが最適化されるようなアーキテクチャを携帯アプリ開発者に提供しています。よって、開発者はこのアーキテクチャに則って開発を進めるだけで、次世代携帯電話にて要求されるような高度な携帯アプリを容易にかつ低コスト、短期間で開発してしまうことが可能となります。
SophiaFramework のアーキテクチャは大きく分けて 3 つの層で構成されています。 1 番下の層が、C++による完璧なオブジェクトプログラミング指向を実現するための C++ ラッパー層です。 BREWにて提供されている全APIに対するC++ラッパーが提供されます。中間の層は、あらゆる携帯アプリが必要であろう文字列処理、コレクション、ストリームなど各種ライブラリで構成されるユーティリティ層です。一番上の層は GUI フレームワーク層です。 GUI フレームワーク層は、マルチウィンドウの携帯アプリの処理で必須となる各種複雑なイベント処理と描画処理をブラックボックス的に実行してくれます。 SophiaFramework で携帯アプリを開発する場合、建築材料に相当する GUI フレームワークをベースにして、必要に応じて、下位の層にあるC++ラッパー層やユーティリティ層のAPIを組み合わせて開発していくのが基本的な方法です。さらに必要であれば、のこぎりや金槌に相当する C++ ラッパー層とユーティリティ層を用いて、新たな再利用可能な部品を製作すること自体も可能なのです。
SophiaFramework で携帯アプリを開発すれば、時間の経過と共に、開発会社独自の再利用可能なライブラリも充実化してくるので、 SophiaFramework を使えば使うほど開発効率が向上するというメリットが生まれます。