ruby/qteとは、sharp製PDA「zaurus」の上で動くソフトウェアを作成するプログラミング言語のこと。ちゃんとGUIも作れるので、実用に耐えるソフトができる。
なにが良いって、zaurusの上だけで開発、動作確認がすべてできるのがすばらしい。通勤電車内やちょっとした空き時間にコードを書いて、動作も確認できる。短時間でトライ&エラーができるのは、僕のような初心者かつ気まぐれな人間にぴったり。
■その他いいところ
・rubyはめんどうなことが少ないので簡単。型宣言とか。
・なんでもオブジェクト(真偽値tureですらメソッドをもってる)なので、考え方が分かりやすい(気がする)
・rubyモジュールを追加すれば、高度なことも簡単なコードで実現できる(mp3タグ読んだり、ブログ更新したり)。先人に感謝。
■悪いところ
・動作が遅い。zaurus全般てきぱき感がないから。ruby/qteに限ったことではないけど。
・情報がすくない。rubyはそれなりにあるのだけど、qteについて分からない時に頼れる情報は多くない。Qtopiaのリファレンスに書いてあるものが、qteで動くとは限らないのがつらい。
・高速起動ができないので(rubyは非対応)、アプリ起動に10秒くらいかかる。
そして最大の問題は、GCがエラーで落ちること。
[bug] object allocation during gervage collection
仕方なく、GCをdisableにするという悲しい状況(2009/05現在解決せず)。メモリを際限なく使って、使っているうちにメモリ不足でアプリが落ちる。(暫定策として、メモリ使用率表示した)orz…
この問題については別の記事で詳しく書こうと思う。
手初めに2つのアプリケーションをつくってみた。
・『Netemo』:ブログ記事投稿用エディタ(この記事も←で作成・投稿)
・『LyricPlayer』:歌詞リアルタイム表示機能付きmp3プレイヤー
zaurusにもその分野の既存アプリはあるのだけど、どうもうまく動かなかったり、速度が遅かったり、もう一歩たりない感がある。もやもやを解消すべく、自分で好き勝手つくってみた次第。
とりあえず想定していた機能は全部実装できたので、αテストしながらバグ修正する日々。
思いつきで機能追加しているので、仕様もコードもグチャグチャ。今は、とても人様に見せられる&使ってもらえるレベルではないけれど、そのうち公開してみたいという夢を密かにもっていたり。はー、どきどき。
とりあえず、今月中に機能を公開してみようと思うので興味ある人はそちらも見てくださいな。