Tako can fry!

とほほ・・・

開発に関する何か

就職が決まって落ち着いたら開発を再開しようかと思ってたけど、そんな時期が到来することもまだまだないようでして。
そこで、公式の wiki じゃあまり書けないようなフランクな話を、ある種のアウトプットとしてここにツラツラと。


設計思想としては開発開始時点から変わらず「ずっと使い続けたい」というところにあります。
ずっと使い続けるために「移植の容易性(Portability)」を重視した作りにして、他のプラットフォームへの移植を容易に行えるようにしています(理想)。
実際は完成を急いだので、依存/非依存のインターフェイスがうまく切り分けられていませんが・・・


コード的に容易に移植できたところで、次に問題になるのが画面のデザインになります。
ボタン入力やペン入力によるポインティング、データベースのアクセス等はプラットフォーム間にそんなに違いはなく汎化しやすいんですが、画面の構成についてはサイズがマチマチだったりするので、これをコードに持ち込むのは移植を難しくします。
そこで、画面のデザインについては、レイアウトや動作を記述できるようなスクリプト言語で表現することにしました。
現状、この点についてはすべてデータで定義できるところまで作られているので、後はこのデータを出力するようなコンパイラインタプリタを作れば応用できるところまで来ています。
初期の頃は flex/bison を使って専用のスクリプト言語を作ろうと思ってましたが、xml で十分記述できることに気づき、xml で記述したものを perlコンパイルするといった線で進めています。


と、まあ、あまり書くこともないような気がするけど、今後も何か思いつけば、ブレインストーミング的に書いていこうかと。