2004年 07月23日(Fri) JavaのGUIの歴史と現状(第3回) [長年日記]
_ というわけで今回はSWTの話。
_ SWTとはStandard Widget ToolKitの略で、米IBMがEclipse用に開発したツールキットです。したがってSWTを解説するにはEclipseにも少し触れる必要があるでしょう。
_ EclipseとはIBMが開発し、途中でオープンソースとなったJava*1のIDE(統合開発環境)です。
*1 Javaだけではなく、豊富なプラグインによりC/C++やPHP等の開発環境としても使用可能
_ ちなみにEclipse 自身もJavaで書かれていますが、SwingベースのJavaアプリと比べても非常に軽快*1に動作します。そしてその秘密こそがSWTなのです。
*1 前回述べたように、当時のSwingは非常に重かったのです
_ SWTの最大の特徴はネイティブコードで書かれているという点でしょう。つまりSwingとは正反対に、GUI部分は全てOSのネイティブAPIに任せてしまおうというわけです。
_ もちろん結果としてプラットフォームごとにSWT用の共有ライブラリが必要となってしまいますが、現在ではWindowsを始め、LinuxやSolaris、MacOSX、WindowsCEなどなど幅広いOSに対応しているため、そんなに問題にはならないでしょう。
_ そんなSWTの最大の欠点は何と言っても資料の少なさでしょう。基本的な部品を使ったGUIの製作ならばネットや書籍を少し探せば簡単に作れますが、ちょっと凝った事をしようとすると途端に難易度が跳ね上がってしまいます。
_ また、前回述べたようにJavaの標準ライブラリであるSwingの速度もだいぶ速くなってきたこともあり、昔ほどSWTが優位というわけではなくなってきているのも事実です。
_ とはいえやはり動作の軽さはかなりの魅力ですし、またネイティブ環境ならではの処理を行いたい、といったニッチな要望に応えられる*1といった事もあり、SWTはまだまだ注目すべき技術であると言えるのではないでしょうか。
*1 例えばWindowsならばSWTでActiveXを扱う事も可能です
_ 次回はJFace…かな?
ねくろん氏の忘年会用掲示板(7/15参照)を<br>ありがたく使わせてもらうという事で。<br><br>>N江氏<br>自分のウェブメールのアドレス帳、メルアドを変更していなかった。<br>きっと、一回目のメールは届いていないかと。ごめんなさい。<br>いや、携帯のアドレス帳は変更したんですよ(汗