clclcl Clojure製クリップボード履歴ツールをSWT対応しました

clclclという以前Clojureの勉強のために作ったクリップボード履歴ツールがあります。
今回、GUI実装をswingからSWTに変更しました。結果、動作も快適になったし、見た目も
OSに馴染んだし、満足してます。課題としては、キーバインドの実装。具体的には
メニューの項目をjkhlで移動したい。グローバルホットキーを有効にしたい。というものです。
簡単に調べたところ素直な方法では、できないようだったので、今後の課題です。

– ダウンロードは、https://sourceforge.net/projects/clclcl/ からどうぞ

いろいろ実験してるのでアーキテクチャは、初期からかなり変わってます。

## アーキテクチャの遷移 ##

### 1期 ###

– DB: Derby
– GUI: awt

最初データベースにDerby(http://db.apache.org/derby/)を使ってましたが、初期化とかが遅くてびっくりした。

### 2期 ###

– DB: sqlite3
– GUI: swing

慣れてるsqlite3にしたら、DB関連の処理は、速くなった。
普通のフォントを使えるように、swingを使ったが、swingの処理が遅くて、結局もっさりした動作になってしまっていた。

### 3期 ###

– DB: sqlite3
– GUI: swt

別プロジェクト(check-git-status)でpygtkに触れてみて、gtkがよかったので、clclclもgtkで描画できるようにSWT経由でGUIを
操作するようにした。

## ようやく実用的な速度で動作するようになった ##

swingから開放されて、ようやく現実的に使えるツールになったと思います。

## 結局swingって、どうなの? ##

swingって初期化が遅いので、小さいツールのGUIに使うのは、厳しいと思った。(それを言ったらjavaもか)
今、swingを使いたくなる又は使わなければいけない状況って、あるんだろうか?もしかして無い?

## まとめ ##

遅いライブラリを使うと、それに連られて、そのソフトウェア自体の価値も、台無しになってしまうので、
速いライブラリを使うことが重要だと痛感した。

コメントする

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。