2008年の第1週と第2週、このブログを担当させていただきますwhiteと申します。一週間と加えること一日、よろしくお願いします。
一週間も続けて話せる話題があるかといえば、そんな話題があるなら(ここではない)自分のブログに書くわい! と言いたいところなのですが、幸か不幸か今の仕事がちょうど話せるネタになりそうです。
ということで実に手堅くつまらないネタ選択ですが、しばらくの間、仕事の話におつきあいくださいませ。
さて今の仕事といいますのは、
携帯電話で動くアプリケーションを作るお仕事です。
それも単にアプリを作るのではなく、フレームワーク層とアプリケーション層に分けて設計をして、あわよくば各キャリア対応のアプリをさくっと作れるフレームワークにしてしまおう、というちょっとばかり野心的なやりかたで進めています。
と、弊社Webの隅々まで読んでくださった方ならちょっと小首を傾げていたりするかもしれません。
そう、私たちのチームが作っているのは、
「DODAIブログ - 07.100KBの攻防」 http://www.timedia.co.jp/techniquearchive/dodai/1994304730
にて既に紹介されている「ドダイ・モバイル」そのものなのです。
しかし往々にして宣伝文句なんてものは嘘っぱちになるものでして、
1. プログラムの構成要素を可能な限りリソース化し、
限られたメモリにたくさんの機能を埋め込む機能
このへんはまあ真実なのですが、
2. そのリソースを扱いやすくするためのツール群
このへんになるとだんだん現実と宣伝の解離が激しくなってきますし、
3. サーバとのやり取りをRDBアクセスと同じようにデータモデルの中心と捉え、
通信電文定義書から自動的にコードを作成する機能
残念ながら(iアプリの)100KBというサイズ制限に立ち向かう上では自動生成コードなんてものが役に立つ訳がなくむしろ害悪なため、結局は手作業によるチューニングが主体となり、
4. 限界までチューニングされたライブラリ群
そして限界までチューニングをするためにはライブラリとアプリケーションがどんどん不可分になる=「チューニングされたライブラリ群」としては取り出せない状態に、という羽目に陥っているわけです。
しかしながら。
制限がない世界であればもちろん「きちんと分離されたキレイなライブラリ/フレームワーク」が理想です。ですが、ケータイアプリにはイマドキの普通のアプリたとえばiアプリのDoJa-3.5プロファイルでは、アプリのダウンロードサイズが100KBまでに制限されます。
そんな世界でキレイなフレームワークを使おうとしても、サイズ制限にひっかかってそもそもアプリが動かせません。そこで汚なくなることを覚悟で、フレームワークとアプリを不可分にしていくことを選択していくことになるのです。
そんな、プログラミングパラダイムとすればちょっと昔気質な雰囲気のケータイアプリ作りの過程でのあれやこれやを、一週間かけて少しばかり紹介していきたいと思います。