9

ジレンマがあります。Matisse または Jigloo を使用したデスクトップ アプリケーションの開発..

Matisse にはこの XML フォーム ファイルがあり、後で維持することを恐れています。MyEclipse がさらに Matisse や Netbeans をサポートする必要があるかどうかさえわかりません - 彼らは Matisse の OS サポートをあきらめると思いますか?

多かれ少なかれ、ジグルーとマティスは似たような振る舞いをしますが、ジグルーはより多くのデザイナーの希望に従いますが、マティスは時々この奇妙な整列の振る舞いをします。

Jigloo は、編集可能な Java コードを生成し、その結果、ビジュアル エディターがフォームを描画できなくなる可能性があります。これがおそらく、Matisse がより安定した XML 形式で要素を定義し、そこから Java コードを生成したいと考えている理由です。

GUI 要素のインスタンス化でエラーが発生した場合、Matisse はあまり役に立たないため、カスタム要素を配置することも悪夢になる可能性があります。

Jigloo でコードを入力すると、ビジュアル エディターは画像を消去するのが好きなので、コードを編集した後に画像が表示されるまで待つ必要があります。Matisse では、クラスでエラーが発生し、GUI を編集している可能性があります。

投票で私たちを助けてください。あなたがより好むものとその理由.

4

7 に答える 7

15

どちらも使用しないでください!この回答と同様に、(10 年間 Swing GUI を作成した後) GUI ビルダーを使用することは、ほとんどの場合を除き、悪い考えであるというのが私の強い意見です。あなたの GUI をハンドコーディングしましょう!

  • Matisse と Jigloo のどちらを選択しても、それは標準ではなく、人気がなくなり、より優れたツールが登場します。その時点で、保守がほぼ不可能なレガシー コードが作成されます。これは、Java GUI ビルダーの歴史の中ですでに何度か発生しています。

  • 開発者に 1 つの IDE の使用を強制することは避けてください。開発者が GUI コードを見るときに特定の IDE に切り替えることを期待すると、大きなオーバーヘッドになります。キー バインディングを思い出せない、プロジェクトのセットアップが古い、間違ったバージョンがインストールされているなどの理由で不満を感じるでしょ。この時点で、選択した IDE と GUI ビルダーの両方でコードを保守できなくなります。全体がめちゃくちゃです。

  • 私の経験では、GUI の設計は特に面倒な作業ではなく、おそらくアプリケーションの開発時間全体の 5 ~ 10% にすぎません。最初に Matisse や Jigloo を使用すると、GUI を手作業でコーディングするよりも 50% の時間の利点が得られたとしても、これは物事の壮大な計画では重要ではありません。目に見えないコストや差し迫ったメンテナンスの災害に見合うだけの価値はありません。

  • GridBagLayout 難しくありません。そうではありません!実際、それは本当に簡単です。学ぶのに数分かかりますが、その後は決して振り返ることはありません。あなたの GUI は、あなたが望むように見えるようになり、その結果、コードはより保守しやすくなります。使用してくださいGridBagLayout

私は以前、これについて人々に警告するのにかなりの時間を費やし、その正しさを証明してきました。

于 2009-09-09T15:57:44.973 に答える
2

私は個人的に、マティスフォームをバックアップするXMLファイルが何らかの理由でコードと同期しなくなり、バックアップを使用して再び機能させる必要があったことがいくつかありました。これは私を怖がらせるのに十分でした。しかし、私はジゴロの経験がありません。

私の現在のプロジェクトでは、 TableLayoutを幅広く使用しています。理解しやすく、(私が試したすべてのレイアウトマネージャーの中で)保守するのは簡単です。手作業でGUIをコーディングするよりも、JavaのGUI設計で快適に感じるソリューションは他にありません。将来的には、GUIをコーディングするための最良の「将来性のある」方法のようです。

Matisseなどを使用してデザインをモックアップし、レイアウトを別のレイアウト(TableLayoutなど)に変換することについて、Chintanに同意します。個人的には、鉛筆と紙を使ってほとんどのことをするのが好きです。正確にはハイテクではありませんが、それは仕事を成し遂げます。

于 2009-09-03T22:46:00.087 に答える
1

NetbeansはSunMicrosystemsの支援を受けており、近い将来にプロジェクトが廃棄される可能性は非常に低いと思われるため、Matisseをお勧めします。

また、あなたのプロジェクトのサイズはわかりませんが、私はいくつかの小さなプロジェクトを開発しました。私は個人的にマティスを使用してレイアウトがどのように見えるかを確認し、Miglayoutライブラリを使用してすべてをコーディングします。コーディングの量が大幅に増えますが、優れた制御と柔軟性が得られます。そして、このライブラリがJava 7に含まれ、その結果マティスに埋め込まれる可能性があります。

于 2009-09-03T21:12:39.513 に答える
1

私はどちらとも行きません。私がこれまでに見つけた最高のものは、Instantiations Swing Designer です。無料ではありませんが、高価でもありません。すべての主要な Swing レイアウトをサポートし、純粋な Java コード以外の追加の成果物を作成しません。

興味のある方は、こちらのリンクをご覧ください。

于 2009-09-02T18:52:18.907 に答える
0

ツールによって生成されたファイルを台無しにすると、何が期待できますか? めちゃくちゃですね。これは、開発者が常に忘れがちな非常に重要なことです。

例としてマチスを取ります。XML ファイルと .java ファイルが生成されます。なぜ開発者はこれらのクラスを変更し始めたのでしょうか? 後で彼らはすべてがめちゃくちゃだと不平を言い、マティスがAをしないかBをしないので、マティスに罪があると指摘します。マティスが罪を犯しているのは、開発者によって促進された混乱を修正できないことだけです. これは人工知能の分野の問題であり、個人的にはすぐに解決できるとは思っていません。

それには多かれ少なかれ単純な解決策があります: OOP です。

OOP の最も重要な概念の 1 つは「責任」です。これは、特定のクラスが、より広く、より複雑な問題領域において、限定的で明確に定義された責任を持つことを意味します。そのため、Matisse が UI を生成しました。これは、基本的に UI 要素、イベント ハンドラーなどで構成されています。

それからあなたは言う:うーん...それにいくつかのロジックを追加する必要があります。そうしないと、UIが機能しなくなります。真実。これは別の責任であり、Matisse によって生成された同じクラスで実装することはできませ ん。人々は怠け者であるか、OOP での「責任」の意味を理解していないため、必要なものを実装し、多くの変数を追加し、ビジネス ロジックにまったく責任を負わないクラスであらゆる種類の狂気を助長します。

継承のような非常に単純なことで、ビジネス ロジックを拡張クラスに分離できます。基底クラスは、マチスによって作成されたものです。拡張されたものは、イベント ハンドラーの実装、UI 要素の初期化などを含む手動で実装されたクラスです。

多くの開発者は、Matisse によって作成された .java ファイルを手動で編集したくなります。ゴールデン ルールは、.java ファイルを手動で編集しないことです。Matisse は、必要なものを定義し、必要なものを呼び出す手段を提供します。Matisse によって生成されたリソース (.xml と .java の両方) を決して編集しないでください。将来 GUI を変更する必要がある場合に備えて、(Matisse) がリソースを再度ロードできることを保証します。おそらく、.java または .xml ファイルを直接編集したくなるでしょう。この誘惑に抵抗し、自分自身を教育してください。今後とも宜しくお願い致します。

だから... 好きなツールや、最も魅力的な UI 要素を提供するものなら何でも使用できます。UI をビジネス ロジックから分離しないと、すべてのツールが機能しなくなります。適切なコードを作成するというプログラマーとしての主なタスクに成功すれば、すべてのツールが成功します。

于 2010-03-04T02:32:51.950 に答える
0

ジグルーを試したことはありませんが、4 番目のものをミックスに追加します。

JFormDesigner は、私が今まで使った中で最高の Swing UI デザイナーです。Matisse と同様に、XML フォーム ファイルを作成しますが、それがこのツールの唯一の欠点です。

すべての標準レイアウト マネージャーに加えて、いくつかの一般的なレイアウト マネージャー (JGoodies FormLayout など) をサポートしています。IntelliJ と eclipse 用のプラグインがあり、スタンドアロン ツールとしても実行できます。

ここにリンクがあります

h番目

公園

于 2009-09-03T15:27:54.020 に答える
0

私は Netbeans Matise の方が好きです。生成されたコードを編集することが不可能な場合でも、Mattise を使用すると複雑な画面を簡単に設計できます (FreeForm レイアウトのため)。

于 2009-09-02T16:51:39.740 に答える