GUIデザイナーを使用するか、デスクトップ用に自分で作成しますか?


8

プログラムのGUIを作成することは、常に困難で憂鬱でイライラする作業でした。どの言語でもかまいません。欲しいものを手に入れるのは非常に難しいです。特に、Javaのようなコンパイルされた言語では、変更のビルドに1〜2分かかります。

その結果、一部のプロジェクトでGUIデザイナーを使用することが増えています。確かにいくつかのスパゲッティコードがありますが、設定と「これはXで設計されました」というメモを残している限り、これを行うことに抵抗はありません。

これはGUIを設計するための大丈夫な方法ですか?さらに重要なことに、これはほとんどの人がすることですか?それとも、ただ座ってそれを書き出す一般的な方法ですか?


私は650k行のコードのJava GUIアプリで作業しており、ビルドに約1分かかります。ただし、Eclipseで作業すると、段階的にビルドされます。そのため、実行するたびにアプリ全体をビルドする必要はありません。アプリを再起動するだけで、変更を加えて実行できます。待つ必要はありません。
Nemi

1
そうそう、GUIビルダーは悪です。自分(自分を含む)が保守できないソフトウェアを作成することが目標である場合、あなたは正しい軌道に乗っています。
Nemi

回答:


6

堅牢なデザインを簡単に作成できるビジュアルデザイナーを実際に見つけたことはありません(誰かが気に入った場合は、自由に修正してください)。これらは、固定サイズのウィンドウにデータをダンプして物事をモックアップするのに適していますが、適切にサイズ変更するものを作成する場合、DPIやテーマ、およびプロのUIを単に「良い十分に」、彼らは正直にそれを自分でコーディングするよりも多くの仕事になります(適切なUIフレームワークを試してみると仮定します)。

ビジュアルデザイナーは、ソフトウェアの迅速なプロトタイピング、デザインの試行錯誤、物事の外観を試すために優れていますが、最終的なビルドには使用しません。


どのフレームワークを使用していますか?たとえば、デザイナーなしでWPF UIを書くことは想像できません...
Dean Harding

私はWPFをいじる機会があまりありませんでした-とはいえ、これを使用したことがあるのは、デザイナーを使用して一般的なレイアウトをモックアップし、XAMLを片手に見ながら手動で編集することですそれがどのように見えるかを確認するためのデザインビュー。
アノン。

Gladeは、実際に作業する喜びであり、UIに必要なサイズ変更やテーマのすべての機能を備えたインターフェースを生成します。さらに、実行時に(XML)プロジェクトファイルをロードしてクエリを実行し、イベントをアタッチするだけで、突然アプリケーションが機能するようになります。私の経験では、これは本当に両方の世界で最高です。言うまでもなく、CまたはPythonでアプリケーションを作成すると、イベントコールバックの自動バインディングも取得され、クエリは必要ありません。
Jon Purdy、2011年

@Dean Harding WPFを3年近く使用しており、デザイナーはほとんど使用していません。一般的なレイアウトから始めることもありますが、その後はすべて手作業で行います。
MetalMikester 2011年

@Dean Harding-WPFのデザイナーを使用している場合、最高の機能の1つである自動レイアウトがありません。私は多くのWPFを実行し、デザイナーを使用したことはありません。私のデザインは決して「静的」ではありません。
Scott Whitlock

4

頭の中で計画してからペン/紙を使用するのが、デザインを初期化する最も簡単な方法です。

実装の準備ができたら、手作業でコーディングする代わりにGUIデザイナーを使用します。たとえばJava Swingでは、十分な大きさのインターフェースがあれば、すべて手作業で行って後で変更することで、どれだけの時間を無駄にするか想像できます。Netbeans MatisseのようなGUIビルダーを使用する方がはるかに簡単で、必要に応じて少し手で微調整することもできます。


はい、手動でスイングレイアウトを作成するのは面倒で時間がかかるので、マチスを使用することが常に私の選択でした
Mahmoud Hossam

3

まず、紙の上にGUIを作成します。

その後、Visual Studiosデザインモードを使用してGUIを作成します。作成が簡単で、表示されるのは取得したものです。さらに、GUIを表示するためだけに再構築する必要はありません。


2

GUIデザイナーは魅力的なクイックフィックスです。しかし、座って手作業で行うことは、後で捨てられないプロジェクトやアイテムのより良い代替手段です。

通常、私は最良の方法は、最初にGUIを紙の上で設計することです。ボタンやその他のコンポーネントが配置される場所の大まかなスケッチを描きます。次に、さまざまなレイアウトマネージャーを利用するJavaなどの言語で作業するときは、どのコンポーネントとレイアウトマネージャーの組み合わせが必要になるかを考えます。コーディングを始める前のすべてのこと。次に、1つずつ実装します。

GUIデザインコースを受講すると、終わりに近づき、何かが正しく機能しないか、変更を加える必要がなくなるまで、大きな進歩を遂げているように感じられます。手でやるのは遅いカメのように見えますが、着実に進歩しています。また、スピードを上げるとスピードが上がります。


1

誰かがすでに言ったように、(a)普通紙1枚、付箋(さまざまなサイズ)を使用し、付箋をコントロール(ボタンなどのコンボ)として使用して、用紙にレイアウトすることをお勧めしますボックスなど)(b)GUI Designer StudioのようなプロトタイピングプログラムやFirefoxの鉛筆アドオン...

その後、プロトタイピングフェーズの後、レイアウトが手前になると、UIを実際に自分でコーディングするのが簡単になります。これは、MVC、MVPなどのパターンを実装できるためです。通常、GUIエディターではコードを変更できないためです。 UIを変更するたびに書き換えられるためです。



0

VB6とWindowsフォームでは常にデザイナーを使用しましたが、WPFでは使用しませんでした。WPFデザイナーはひどいXAMLを作成します。さらに、WPFでは、UIを一連のウィジェットとして設計し、フレームワークに実行時にまとめさせます。デザイナーを使用すると、柔軟性が大幅に失われます。


0

私はそれをもっとこのように見ています:

(これらのオプションのいずれかについては、常に紙またはホワイトボードに描画してください。時間とコードのフラストレーションを節約できると信じてください)

プロトタイピング:
GUIデザイナを使用します。できれば、特定の言語でほとんどの人が使用する推奨デザイナーを使用してください。そうすれば、(ほとんどの場合)好みに合わせてコードを微調整できるので、コードが混乱しすぎず、さらに、コードが破棄されたり、後で大幅に変更されたりする可能性が高いため、早期に多くの時間を無駄にする必要がありません。開発サイクルで。GUIデザイナの使用は、すばやく簡単なGUIアプリケーションに適しています。また、クライアントが見るために数か月待つ必要がないアプリケーションの大まかな画像をクライアントに示すのに適しています。

小規模なプロジェクト:
これは、言語と時間の制約に応じて、少し混ぜ合わせたものです。ここでGUIデザイナーを使用すると便利ですが、後からクリーンアップするか、手動で小さなコンポーネントを作成することを検討してください。そうすれば、他の誰か(または自分自身)がバグを修正してコードを読むのが簡単になります。これにより、GUIの制御と柔軟性が向上します。(コーディングしながら学習することの素晴らしい利点も)

大規模なプロジェクト:
GUIを手動で作成することが不可欠になるのはこのときです。大規模なプロジェクトはすぐに複雑になり、デザイナーでGUIを作成すると、プロジェクトがより複雑になり、デバッグが難しくなります。アプリケーションのGUIフレームワークを作成すると、GUIを手動で作成する作業を簡単に中断できます。アプリケーションを完全に制御する必要があります。メンテナンスに役立つため、または後で機能を追加したい場合(または要件を逃したと述べている厄介な顧客)、それらを組み込むとイライラが少なく、クリーンになります。

私の個人的な経験では、GUIを手動で作成するための学習には時間がかかり、一部は難しい学習曲線を必要とします(ヘック、私はJavaでプログラムし、Oracle JavaチュートリアルサイトはGUIを自分で実行してデザイナーを使用することに対して警告します)が、最終的にはアプリケーションの制御性と柔軟性が向上し、見栄えの良いアプリケーションが作成されます。これはまともなラフガイドを使用してください!ハッピーGUIing :)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.