社員リレーブログ 

<<前月1月翌月>>

2008/01/11 00:00:00

BREW・昔ながらの世界の中で

そして現在進行中なのが、 auの携帯電話向けのBREW版ドダイ・モバイルの開発です。

iアプリ・S!アプリがなんだかんだで Javaという同じ言語をベースにしていたのに対し、 BREWはC言語もしくはC++言語を使ってプログラムを進めていくことになります。

この、C系の言語を使う、というのが ドダイ・モバイルのプロジェクト開始以来ですっかり Javaの世界に慣れてしまった身にはいささか辛いものがありました。

BREWはC系の言語を使うところからもわかるように、 言うなれば「昔ながらの世界」という感触が強いです。

とにかく「直接触れる・触っている」と感じます。

JavaではVM層が存在するため、 その上で動くプログラムが多少悪さをしたところで、 ベースシステム(携帯電話全体)にまで大きな影響が及ぶことはまれでした。

しかし、BREW用のプログラムでは、 プロセスという単位での保護すらありません。 BREW用のプログラム(アプレット)は、 実際には携帯電話からDLLとして呼び出されることにより動作します。

……という動作モデルを正しく想像できた方なら、 その危険性にも気付かれることでしょう。 そう、BREWのプログラムはベースシステムに影響を与えます。 メモリリークすればそれはシステム全体のメモリリークであり、 完全に電源を落とすまで悪影響は残り続けることになるのです。

そういった弊害があるために、au用にBREWのプログラムを作っても、 KDDIによる審査・検証を経なければ公開することができません。

しかも、APIやその他開発資料にアクセスするための障壁も 高くなっているため、iアプリやS!アプリに比べて圧倒的に情報が少ないのです。

5年前の時点ですでに枯れていたやり方をベースに、 当時の機器のハードウェアの限界の中で最大性能を引き出すことを目指した。 BREWというのは、そういうプラットフォームです。

対してJavaは、5年前に携帯電話に載せるのには正直無理がありました。 しかし時代は進み、今や携帯電話で採用されるような CPUでもJavaは楽々と動作するようになりました。 既に携帯電話用のアプリ開発では、 Javaの方にアドバンテージがあると思います。

対してBREWは、 現代的なプログラミングの常識からすればやはり辛い環境です。

しかし数少ない救いは、出来上がる実行形式ファイルの小ささと、 関数ポインタの存在でしょう。

特に関数ポインタの存在は大きいです。 iアプリやS!アプリでは、やはりJarサイズの制限から あまり野放図にクラスを作れないという制約が課されます。

しかし、仮にC++でなくCを使ったとしても、 関数ポインタがあればよっぽどオブジェクト指向らしい、 ずいぶん綺麗なコードを実現できます。

やはり小さなサイズに多機能を詰め込むのなら、 そしてそういった制約のある中でコードを綺麗に保ちたいなら、 関数ポインタ的な機構は必要だなあ、と痛感しています。

とはいえこの状況も、今後のCLDCの発展で リフレクション回りが充実すれば逆転するのでしょう。

と、あまりまとまっていませんが、 ここらで今回は筆を置きたいと思います。 ドダイ・モバイルにもう少し進展を迎えたあたりで、 またなにか書く機会があるかもしれません。


求人情報


About Me
white


12月2008年1月2月
12345
6789101112
13141516171819
20212223242526
2728293031

Recent Articles
BREW・昔ながらの世...

Archives
2010-09
2010-08
2010-07
2010-06
2010-05
2010-04
2010-03
2010-02
2010-01
2009-12
2009-11
2009-10
2009-09
2009-08
2009-07
2009-06
2009-05
2009-04
2009-03
2009-02
2009-01
2008-12
2008-11
2008-10
2008-09
2008-08
2008-07
2008-06
2008-05
2008-04
2008-03
2008-02
2008-01
2007-12
2007-11
2007-10
2007-09
2007-08
2007-07
2007-06
2007-05
2007-04
2007-03
2007-02
2007-01
2006-12
2006-11
2006-10
Archives
Mark
創世紀
ワイズフール
鏡月
しどっち
Prometheus
AFRO
関取刑事
troter
NANAS
しま
くぁんぽ
わいえす
yuitowest
mayu
ada
masa_edw
kana
u1
toon
yoppi
ごぼう
ちゃあ
Fool Proof
8og
えんどう
katsuwo
cut-sea
しみた
さとうさ
naa2
ごだっく
さふ
2種8種
Saviola
akibageek
1024
M.Yoshioka
かっぱのおじさん
イナバウアー
初心者
A 嬢
アカムトルム
aoc
eji
焼きナス
ヘドロマン
ykoma
レオ
KyouGenShi
gold-fish
AK
shuu
むくむく
tesujiro
ぎっふぃー
tortellini
k
70rin☆
八雲
丑牛
うまのすけ
新人君
kommy
EJE
WM
にっくす
伊吹
nobsun
white
lucky
NT
bj
同じく井坂十蔵
のび太
つとむ
ゾッケラー
odradek
じゃくそ〜ん
シュウカイドウ
樽酒
rakyon
えがし
KK
RyuArai
otachi
Homer
まるも
リトルペンギン
イチバン
のり
NAK
安樂齋
ますく
がわこう
Qoo
savage

ホーム個人情報保護サイトポリシープライバシーポリシーお問い合わせ
copyright(c) 1998-2006 time intermedia corporation. all rights reserved.