じゃぁAWTやSwingは?
Pure Javaと呼ばれるものだけを使って作ればPure Javaだと思います。
究極的にはJavaVMはグラフィックに限らず実計算機の資源を利用しているわけで、もしAWTを全面的に置き換えるためにSWTがJavaVMに(?)取り込まれれば、それはPure Javaになるんだろうと思います。
Pure Javaだって人間が決めた概念に過ぎないので、それが絶対でもないし、GCJなどちょっとJavaの概念を変更することでなにか利益を得るというシステムはたくさんあると思います。
移植の度合い (スコア:1)
J2EEというのはどうなんでしょう。
当然AWTやSwing等のGUIライブラリも含まれるはずですが、
移植されたX Windowを使って動作とかになりそうで非常に嫌な予感がします。
そうだとしてもEclipse動か
Re:移植の度合い (スコア:1)
こういう時にPure Java実装なSWTがあればとりあえず動くとこまでいくかもですのにね
Re:移植の度合い (スコア:1)
Re:移植の度合い (スコア:1)
Pure Javaと呼ばれるものだけを使って作ればPure Javaだと思います。
究極的にはJavaVMはグラフィックに限らず実計算機の資源を利用しているわけで、もしAWTを全面的に置き換えるためにSWTがJavaVMに(?)取り込まれれば、それはPure Javaになるんだろうと思います。
Pure Javaだって人間が決めた概念に過ぎないので、それが絶対でもないし、GCJなどちょっとJavaの概念を変更することでなにか利益を得るというシステムはたくさんあると思います。
Re:移植の度合い (スコア:1)
ですから、
しかし、私の理解ではSWTはAWTよりも低レベルなライブラリなので、そんなことが可能かどうか怪しいです。逆に、SWTの上に構築したAWTはありますね。
> SWTがJavaVMに(?)取り込まれれば、それはPure Javaになるんだろうと思います。
どうも "Pure Java" という用語の使い方が私と違っているような。
あるJavaクラスライブラリ群の存在を前提として、どこでも再コンパイル無しにそのまま動く (= JNIメソッドを使っていない) アプリケーションやライブラリをPure Javaと呼ぶのですよね。
SWTがJavaのインフラになれば、Pure JavaアプリケーションがSWTを使って描画を行うことができるでしょう。
一方、SWT自体の実装にはネイティブコールを必要とするでしょうから、その部分は移植・再コンパイルしないとWindowsでもLinux+XでもZetaでも動くようには作れない (= Pure Javaではない) はず。
順番が逆になってしまいますが
> じゃぁAWTやSwingは?
という問いに戻ると、たとえばJ2MEのCDC Foundationを考えてください。この環境にはAWTやSwingはありませんから、その上で動くAWTを作ろうとしたらPure Javaでは不可能です。
AWTの存在を前提としてよいプラットフォームではPure JavaなアプリケーションがAWTを使って描画を行うことができます。
Re:移植の度合い (スコア:1)
>ライブラリなので、そんなことが可能かどうか怪
>しいです。
別の人が紹介しているけど、AWT上の、Swing上で動く
SWT実装、SWTSwingというのがあります。
以下のURLの方がわかりやすい。
http://alia.brainlex.com/~chrriis/projects/swtswing/index.html#Concept [brainlex.com]
意訳すると「SwingとSWTを比べてSWTには移植性
がないのが欠点。Jataといったからには「どこでも
動く」じゃないと肩身がせまいでやしょう。
SWTはいくつかのプラットフォームに移植され
ているけれど、全部じゃない。私は、Swingを
ネイティブのウィンドウシステムとみなして
みたんだ。その結果がSWTSwingで、これによって
SWTアプリケーションに移植性をもたらすことができる。
もちろんえらい遅いけど。でもこれのおかげでSWTを
使って書いたアプリが"全プラットフォーム対応"
ということになる。」
Windows上でXサーバが動いているわけだし、
それほど変なことでもない気もします。
「AWT上に」じゃないところが一つのミソでしょう。
>逆に、SWTの上に構築したAWTはありますね。
これは知りませんでした。