Java とツールキットの最新バージョンを組み合わせることで、複数の GTK バージョン間の競合によるアプリケーションの障害を回避できます。
現在、Oracle は GTK 3 GUI ツールキットを Linux システムをベースにした Java 9 に組み込むことを計画しています。これにより、現在の Java がツールキットの最新バージョンと確実に組み合わされるため、複数の GTK バージョン間の競合によるアプリケーションの障害が防止されます。
openjdk.net Web サイトで公開された Java 拡張提案によると、この取り組みの目標は、デフォルトで GTK (GIMP ツールキット) 2 をサポートし、システム プロパティで指定された場合には GTK 3 を使用することです。 JavaFX、Swing、または AWT (Advanced Container Toolkit) に基づくさまざまな Java グラフィック アプリケーションが推奨プランに含まれており、既存のアプリケーションも上記の GTK 2 または 3 を変更せずに Linux 上で実行できます。
この提案は、Oracle の Java プラットフォーム部門のチーフ アーキテクトである Mark Reinhold によって、openjfx-dev メーリング リストのメンバーに送信されました。 Java 9 は 2017 年 3 月に正式にリリースされる予定です。
「現在、AWT/Swing、JavaFX、SWT など、GTK を使用する Java パッケージが多数あります。SWT は GTK 3 に移行されましたが、以前のバージョンを強制的に使用するために使用できるシステム プロパティがまだ含まれています。バージョン」とこの提案には記載されています。 「ソフトウェア パッケージ内で異なる GTK バージョンを混在させると、アプリケーションの障害が発生する可能性があります。
この問題は、Eclipse 開発プラットフォームを使用するさまざまなアプリケーションにも特に影響します。」この提案では、GTK 2 と 3 は現在、ほとんどの Linux ディストリビューションでデフォルトで利用可能であるが、まだそれらが含まれていないディストリビューション プランもいくつかあると述べています。
GTK+ も影響を受けます。このクロスプラットフォーム ツールキットは機能コンポーネントおよび API として存在し、GNU プロジェクトを通じてフリー ソフトウェアとしてリリースされます。これは、Apache OpenOffice オフィス ソフトウェア スイートから Inkscape ベクター グラフィック エディター、PyShare 画像アップロード ツールに至るまで、さまざまな一般的なプロジェクトに含まれています。
この Java 提案によると、GTK 2 および 3 の代替案は、Java グラフィックスを調整して GTK 3 のみをサポートするようにすることで、移植とテストの必要性が大幅に軽減されます。ただし、このソリューションでは、テストでは発見できない多数のバグが発生する可能性があります。つまり、AWT の外観と使用エクスペリエンスをチェックするために余分な労力を費やす必要があり、JavaFX/Swing の一方または両方を移植する必要があります。このタイプの移行を実装するには、多くの場合、AWT と Swing の間で多くの調整が必要になります。
しかし、かつて Sun Microssytems で働いていた元 Java マネージャーは、これが Java にもたらした改善効果に疑問を抱いていました。 「Linux プラットフォームには Java ベースのデスクトップ アプリケーションがあまりないので、市場がどれほど大きいかわかりません」と、Sun Microsystems の Java EE チームの元メンバーで、現在は開発者エバンジェリズム担当バイスプレジデントを務める Arun 氏は述べています。カウチベース氏は強調した。
上記は、openjdknet Web サイトによってリリースされた Java 拡張提案を、関連コンテンツも含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。