Espritの最近のブログ記事

【Esprit】ダイナミックUI

 久しぶりに、Esprit の話題。

 Esprit は、いわゆるダイナミック UI を使う予定になっている。ダイナミック UI 。聞き覚えのある言葉だ。そう、Palm OS Programmer's Companion I4章14節で説明されている、あれだ。つまりフォームと、その上に載せられるコントロール、それらすべてを動的に作成するということだ。なぜそうする必要があるかについては、今はまだ書けない。

 陰郎はダイナミック UI を使ったことがないが、いい勉強になるだろう。問題は、これを ARM コードの中から使用しなければならないということだ。前回書いたとおり、Esprit はアプリケーションの大部分が ARM サイドで動作する(予定になっている)。となると、ダイナミック UI も当然 ARM 側から操作することになる。それが難しいことなのかどうかすらわからない。やってみれば簡単なことなのかもしれないが、途方に暮れるほどの難題かもしれない。ARMlet というのは制約の多い環境だ。Japonica のときもそうだったが、大域が使えないことが C++ プログラマにとってどれほど辛いことか、C++ 使いでない人にはわからないだろう(グローバル変数の話をしているのではない)。

 Esprit は毎日のように少しずつコアになる部分を検討しているが、ARM 上でメッセージポンプを回すとかダイナミック UI とか、Palm 上での挑戦以前のところで途方に暮れているというのが正直なところだ。今の時点では迂闊なことは書けないが、上手くいけば(ごく一部の人にとって)面白いものになると思う。モノになるまで努力し続けられることを祈るとしよう。

【Esprit】メッセージポンプを ARM 側で

 まだ Scrooge の現実的な思考をできるほど体調が戻っていないので、Esprit について。

 Esprit の重要なポイントのひとつとして、「メッセージポンプを ARM 側でやる」というのがある。メッセージポンプというのは、多分もともとは GUI 系プログラミングの用語なのだろうと思うが、要するにイベント駆動型プログラミングにおいて、マウスやキーボード、Palm でいうならタップなどのイベントを取得しては処理し、処理しては次のイベントを取得する、というアプリケーションの心臓部となるループのことだ。

 一般的に、Palm OS 5 対応で ARMlet を搭載しているアプリも、メッセージポンプは通常 68K 側でやっている。特定の条件が揃ったときだけ ARMlet を実行し、集中的に処理を行ってから 68K に戻るわけだ。Japonica で言えば、一覧画面で文書をタップすると、そのイベントに反応して ARMlet 側で Doc データの展開処理が走る。それが終わればまた 68K に戻る。あくまでアプリの中核とイベント処理の主体は 68K コード(のエミュレーション)であり、ヘヴィな処理のための加速装置として ARMlet が使われているわけだ。

 しかし、Esprit で挑戦しようと思っているのは、このメッセージポンプからイベント駆動部分まで、全てを ARMlet で書いてしまおう、というものだ。その必要性については、残念だが今はまだ書けない。Esprit の核心部分に触れることになるからだ。実はそれが必要かどうかも正直わからなくて、そもそも陰郎が思い描いているとおりに実現可能かどうかもわからない。すべてはまだ構想の途上である。

【Esprit】 開発の動機

 Esprit は“エスプリ”と読む、いわゆるエスプリだ。あくまで開発コード名である。

 これは開発コード名で書くようになった時点では存在していないかったプロジェクトだ。これは Scrooge のような公開開発にはしない。なぜなら、本当に自分にやりおおせるかどうか自信がないからだ。その意味では、Esprit は Japonica に少し似ている。Japonica と違うのは、それを要望している人間はほとんど皆無だろうということだ。だからというわけでもないが、それなりにかたちになって、最後までやり抜けると確信できるまでは、この weblog でも詳細は明かさないと思う。

 そんな状態で、この weblog に何か書くことはあるのか、と言われれば、ないこともない。それは、アプリケーションに関することではなく、アプリケーションが必要とするテクニック的な側面だ。Scrooge と違って不定期に、散文的に書くことになるだろうが、読む人によってはそれなりに興味のある話になるのではないかと思う。

 「それを要望している人間はほとんど皆無だろう」という点について補足しておくとすれば、Esprit はほぼ純粋に陰郎個人の興味によって作成されるということだ。だから誰も欲しがっていないにも関わらず陰郎は開発を楽しむことができるし、逆に陰郎が興味を失えば途中で凍結されることにもなりうる。だがそれによって落胆する人がほとんどいないということは、あるいは陰郎にとっては気持ちが楽になる要素かもしれない。

 いずれにせよ1つ言えるのは、Esprit はおそらく Japonica よりも数段難しいだろうということだ。しかし、2006年夏の段階では Japonica だって自信は全然なかった。だから Esprit だってなんとかなるかもしれない。ひょっとしたら 2010年頃には、「2008年春の段階では Esprit を完成させる自信はまったくなかった」 と言っているかもしれないのだ。どうせソフトウェア開発者は一生努力と勉強なのだし、精進するのも怠けるのも、「忙しい」のを理由に何もしないのも、すべて自分次第だ。僅かずつでも成長する人間は、いずれ何かに必要な水準を満たす。そうすれば Esprit だって手の届くところまで行けるだろう。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちEspritカテゴリに属しているものが含まれています。

前のカテゴリはDiagnosです。

次のカテゴリはJaponicaです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

  • archives
Powered by Movable Type 5.04