KCPについて

概要*1

今日TwitterのTLを見てるとandroidとKCPについての比較をしているのを目にしたので、KCPとはなんなのか調べてみた。

解説

KCPが使用される理由

KDDIがBREWを使って取り組んだ携帯向けプラットフォーム、それがKCP(KDDI Common Platform)だ。

*2
これだけでは良くわからない。

「携帯電話のソフトウェアが大規模化、高度化、複雑化している中で、商品力を上げ、リードタイム(製品化までに時間)を短くし、安くするにはどうしたらいいか。共通化する部分は共通化し、差別化する点はメーカーごとに取り組む。共通化のためのベースがKCPだ」

つまり、開発のスピードを上げ、なおかつコストを抑えるための答えがKCPである。
KDDIは各メーカごとに共通で使用可能なプラットフォームのベースを作成したのだ。

KCPを詳しく知るためにもBREWの理解は必要である。よってまずはBREWの説明から始める。

BREWとは?

BREWとは、QUALCOMM社が発表した、携帯電話向けのソフトウェア実行環境である。携帯電話間の仕様の違いを吸収し、単一のプログラムで多数の携帯電話に対応できるよう設計されている。
そして、KDDIでは、QUALCOMM社製のチップを採用している。
そのため最適化も図れるため他社のようにJavaではなくBREWが使用された。

BREWの働き

それでは、BREWにはどんな働きがあるのだろうか。

分かりやすいのはJavaのようにOSの違いを吸収する働きだろう。
携帯電話のOSは各メーカごとに異なるのでこの機能がなければ話にならない。
OSごとにアプリケーションを開発していたのでは開発効率が大幅に低下してしまう。

もうひとつは、携帯電話のハードの進歩に伴うソフトウェアの肥大化である。
Javaとは違い電話帳にアクセスする機能などフレームワークが多数存在し開発を容易にしてくれる。

このようにBREW単体でも開発のスピードを上げ、コストを下げる働きを持っている。

KCPとは?

BREWがとても便利な実行環境であることは以上でわかったと思う。では、なぜKDDIはKCPを開発する必要があったのだろうか。

それは、徹底的にユーザーの視点に立った結果である。

例えば、アプリケーション間の連携など同一データの複数呼び出しや複雑な画面遷移は素のBREWでは難しい。
KCPを用いることでこのような複雑なタスク管理が可能になったのだ。

さらにKCP+ではマルチプレイウィンドウなどの機能が追加された。
共通化部分についても強化されている。

SnapDragon(このCPU搭載のプラットフォームはKCP3.0になるらしい)

今回はauからガラケー初のSnapDragon搭載機が発売されるらしいということで対Androidという話題になっていた。
すでに複数のスマートフォンに搭載されているSnapDragonだがガラケーに搭載されることでどんな機能を実現できるようになるのだろうか。
非常に楽しみだ!

参考

  • BREWを使ったプラットフォーム「KCP」とは何か ITmedia

http://plusd.itmedia.co.jp/mobile/articles/0509/20/news032.html

  • KCP+」導入開始、マルチウィンドウやVIVID UIなどを採用

http://k-tai.impress.co.jp/cda/article/news_toppage/36740.html

  • BREW  【Binary Runtime Environment for Wireless】 IT用語辞典e-Words

http://e-words.jp/w/BREW.html

http://ja.wikipedia.org/wiki/BREW

  • ソフィア・クレイドル

http://www.s-cradle.com/developer/brew/20050328_01.html

*1:ド素人が対してリサーチもせずに書いた文章です。おおいに間違っている可能性がありますので、見つけ次第コメントしてくださると助かります。 よろしくお願いします。

*2:ITmedia http://plusd.itmedia.co.jp/mobile/articles/0509/20/news032.html