パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

JavaとC#、SANEがZetaへ移植」記事へのコメント

  • by kumaryu (17923) on 2003年10月14日 21時14分 (#414530) 日記
    C#はMonoの移植ということで普通に動きそうな気はしますが、
    J2EEというのはどうなんでしょう。
    当然AWTやSwing等のGUIライブラリも含まれるはずですが、
    移植されたX Windowを使って動作とかになりそうで非常に嫌な予感がします。
    そうだとしてもEclipse動かすにはSWTなんであまり関係ないのかもしれませんけど。

    でもSWTの実装はいつになることやら。

    #Eclipseが移植出来るまでZetaが出ないとか言ったらやだなぁ。
    • by miri (12057) on 2003年10月14日 21時25分 (#414536) 日記
      >でもSWTの実装はいつになることやら。

      こういう時にPure Java実装なSWTがあればとりあえず動くとこまでいくかもですのにね
      親コメント
      • by knn (11810) on 2003年10月14日 22時47分 (#414579) 日記
        SWT (に限らずJavaで描画を行うライブラリ) を作るためにはどこかでグラフィックスシステムをJNI経由で呼ばなければいけないわけで、Pure JavaなSWTってあり得ない概念だと思うんですが。
        親コメント
        • by miri (12057) on 2003年10月15日 8時34分 (#414730) 日記
          じゃぁAWTやSwingは?
          Pure Javaと呼ばれるものだけを使って作ればPure Javaだと思います。
          究極的にはJavaVMはグラフィックに限らず実計算機の資源を利用しているわけで、もしAWTを全面的に置き換えるためにSWTがJavaVMに(?)取り込まれれば、それはPure Javaになるんだろうと思います。
          Pure Javaだって人間が決めた概念に過ぎないので、それが絶対でもないし、GCJなどちょっとJavaの概念を変更することでなにか利益を得るというシステムはたくさんあると思います。
          親コメント
          • by knn (11810) on 2003年10月15日 22時05分 (#415346) 日記
            「Pure Javaだって人間が決めた概念に過ぎないので、それが絶対でもない」ってのは同意します。どこまでをJavaのインフラと見なすかの線引きの問題なので。

            ですから、

            • たとえばAWTをJavaのインフラと考えて
            • そのAWTの上にSWTをJNIなしで作れるならば
            それはPure Java実装なSWTと呼べるでしょう。
            しかし、私の理解では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を使って描画を行うことができます。
            親コメント
            • by ruriha (15694) on 2003年10月16日 0時27分 (#415481)
              >しかし、私の理解ではSWTはAWTよりも低レベルな
              >ライブラリなので、そんなことが可能かどうか怪
              >しいです。

              別の人が紹介しているけど、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はありますね。

              これは知りませんでした。
              親コメント
      • by Anonymous Coward
        「Pure Java実装なSWT」?
        SWTの実装の肝は、軽快な動作を実現するために、
        OSネイティブなAPIを利用することにあるのでは?

        #OSネイティブなAPI呼んでてもPure Javaと言えるんだっけか?
        • by Anonymous Coward
          んー、だから「とりあえず」と書いてあるのでは?
          あくまでfallbackとしてのpurejava実装。
      • by Anonymous Coward
        SWTSwing [sourceforge.net]というのがあるみたいですね。動くかわからないですけど。

        #仮に動いたとしても重過ぎるに1票。
    • Re:移植の度合い (スコア:1, 参考になる)

      by Anonymous Coward on 2003年10月14日 22時19分 (#414571)
      Sunの協力のもとに独自の実装を行っているらしいです。
      http://www.jpbe.net/news/archives/2003/09/000514.html
      http://www.beunited.org/
      スレッドがネイティブのAPIで実装されていることからGUIもネイティブのものを使用すると思います。
      #っていうかBeOSのX Windowsで完動するものってありましたっけ?

      SWTがいつになるかはわかりませんが。
      親コメント

私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike

処理中...