DODAIブログ – 07.100KBの攻防


DODAI

執筆:M.K

100KBの攻防

「今は昔、職人たちは可読性や拡張性など気にせずに日夜プログラムを1バイトでも1クロックでも少なくすることに明け暮れておったそうな。それは職人たちが光り輝いていた最後の時代だったのだ…」

15年ほど前私のいた職場はまさに火花が飛び散る鉄火場だった。Z80というゼロ戦みたいなCPUを乗りこなして命令書き換えやら裏レジスタやらを駆使して画面上のキャラクタに命を吹き込んでいた。ハードウェアの限界を引き出し、アセンブラからC/C++に変わっても今度はコンパイラが吐き出すコードをチューニングし贅肉のない鍛え抜かれたプログラムを開発していたのである。

時代は変わって富豪的プログラミングやらデザインパターンといったキーワードとともに古きよき時代は過ぎ去った。ハードウェアは進化しぶくぶくと太ったプログラムを十分に支えるだけの環境がそろったのである。カリスマ的な天才プログラマが研ぎ澄まされた技術で作り上げる時代は終わったと思っていた。

そのときまでは。

そう携帯アプリのことである。Iアプリに代表されるこの世界は15年前のあの職場と同じにおいがする。Javaなのにクラスの数を少なくすることが正義で、限りなく手続き的で職人的な工夫が必要とされている世界である。省メモリ、パフォーマンス改善を思う存分試すことができる。ビバ携帯アプリ。

暴走ぎみに感傷に浸ってしまい申し訳ない。こんなことを書いたのは実はドダイ・モバイルというドダイの親戚がいるからだ(本当はドダイ改にしたかったけど許してくれなかった…)。

ドダイ・モバイルは携帯アプリ、特にビジネス向け携帯アプリを作るためのフレームワークである。ビジネス向け携帯アプリにはいくつかの目だった特長がある。

  1. 画面数が多くサイズを圧迫しがちであること
  2. サーバーと通信をして作業をこなす

これだけならWebでイイじゃんということになるのだが、そこは人間、よりリッチなアプリが欲しいのだ。

ドダイ・モバイルはこのような要求のもと生まれ以下の特徴がある。

  1. プログラムの構成要素を可能な限りリソース化し、限られたメモリにたくさんの機能を埋め込む機能
  2. そのリソースを扱いやすくするためのツール群
  3. サーバーとのやり取りをRDBアクセスと同じようにデータモデルの中心と捉え、通信電文定義書から自動的にコードを作成する機能
  4. 限界までチューニングされたライブラリ群

ドダイとは目指す方向はちょっと違うが、ドダイ・モバイルもまた開発のコストを下げ、品質を高めることを主目的にしている。また特定のアプリケーション開発を念頭においたフレームワークであるということも共通点である。サーバーサイドはドダイで、クライアントサイドはドダイ・モバイルでというスタイルもアリである。

しかし携帯の進化のスピードはめざましい。ファミコンがスーパーファミコンになってあっという間にPSになったように携帯のハードウェアがPCなみの機能を備えるのも時間の問題なのであろう。

さあ短い春を楽しもうではないか。