2

複雑なGUI(アニメーション付きのコンボボックス、スプライン付きのグラフ、透明なレイヤーなど)を使用してアプリケーションを開発したいと思います。私はC#2.0の経験が豊富で、WPFを勉強していますが、残念ながら、WPFをMonoに移植する予定はないことを読みました。

  • C#に固執し、OpenGLを使用して(OpenTKを介して)カスタムGUIコントロールを作成する場合、それは大変な作業になると思います(GTK#との統合、デバッグ、フォームの設計に使用するのは難しい)。

  • Java(JOGLを使用)は使用できますが、あまり熟練しておらず、パフォーマンスの問題についてもわかりません。

  • 最後のオプションはC++ですが、大幅な改訂を行う必要があり(前回使用してから数年)、C++でGUIやポータブルアプリケーションを開発するのは難しいと感じています。(多分私は間違っています!それでも、私はこの言語でそのような複雑なアプリケーションを開発することを非常に恐れています。)

あなたのアドバイスは何ですか?C#+ OpenTK、Java + JOGLを選択するか、C ++に戻る方がよいでしょうか?

4

8 に答える 8

7

私はQtで行きます。http://qt.nokia.com/products/をご覧ください。C ++を恐れている場合(ただし、恐れる理由はありません)、JavaSwingを試すことができます。これらは、マルチプラットフォームのデスクトップGUI開発に最適なオプションだと思います。

于 2010-07-10T11:13:00.110 に答える
4

MonoとGTK#をお勧めします。.Netを使用したアプリの開発は、C++バニラで行うよりもはるかに効果的です。もちろん、C#3.0と.Net 2.0を使用する必要があります(LINQなどの3.5の一部の機能が実装されています)。ただし、QTなどのC++よりもはるかに多くの機能を提供します。

于 2010-07-10T14:50:46.157 に答える
1

生産性のためにC#に移行します。C ++に反対するものはありませんが、少し冗長です。GUIライブラリに関しては、WinFormsはMonoで動作していたと思います。または、GTK#。

于 2010-07-10T14:59:27.237 に答える
0

プラットフォームに依存するプラットフォームであるため、wpfの使用はお勧めしません。Silverlightの方が適している可能性があります。

ただし、Webアプリケーションを開発している場合は、jqueryが優れたオプションであり、adobeflexとadobeairも検討できます。http://www.adobe.com/products/air/

于 2010-07-10T11:02:19.057 に答える
0

マルチプラットフォームにはiDeviceを含める必要がありますか?それはウェブ上にあることができますか?これらはあなたが最初に答えなければならない2つの質問です。

iPad / iPhoneのサポートなしで生活できる場合は、Flex / Flash/Airが高度にグラフィカルなものに適したオプションです。それは確かにマルチプラットフォームであり、ウェブに簡単に統合できます。与えられた限られた詳細で、おそらくこの場合のあなたの最良の選択肢。

Qtも同様に機能する可能性がありますが、グラフィックライブラリが簡単になるかどうかはわかりません。私は個人的にそれを使ったことがないので、他の人がそれに答えなければならないでしょう。ただし、C ++であるため、他のライブラリを使用することもできます。

この複雑なGUIの場合、JavaSwingは私にはラフに聞こえます。基本的なものを作るのはそれほど悪くはありませんが、C#のような経験を期待しているのであれば、イライラするでしょう。もちろん個人的な意見です。

最後に、それがWebアプリである可能性がある場合は、C#とSilverlightを使い続けてみませんか?.NETソリューションは、すでに学習しているため、うまく機能する可能性があります。

于 2010-07-10T11:52:56.260 に答える
0

まず、ポータブルである必要があるものにはC#を使用しないでください。モノラルは、次の2つの理由からGUIには不適切なオプションです。

  1. Monoは常に.NETよりも数歩遅れています。
  2. MonoはWPFをサポートしていないため、GUIを開発する唯一の方法はGTK#のようなものを使用することです。

私の個人的な意見–C++を使用してください。それはあなたに非常に良い携帯性と独立性を与えるでしょう。

2つのオプションがあります。

  • Qt4 –非常に優れたGUIツールキットであり、GUI開発が非常に簡単で、移植性が高くなっています。
  • GTKmm –非常に優れたツールキットですが、Windowsではあまり自然ではありません。

また、JavaにはJDKに付属するSwingツールキットがあり、OpenVMSのような非常に奇妙なプラットフォームも含め、すべてのJavaプラットフォームで使用できます。

于 2010-07-10T12:07:16.677 に答える
0

Silverlightは、Windows / Mac / Linuxおよび一部のハンドヘルドで動作し、より多くのハンドヘルドに移植されています。Silverlightは、最終的にすべての一般的なデバイスに移植されると思います。

Silverlightは次のとおりです。

  1. Flex / Flash/Airよりもはるかに強力です。
  2. Qtよりもはるかに強力です。
  3. GTK +やGTK#よりも途方もなく強力です。
  4. JOGLよりも途方もなく強力です。

Silverlightには、要求されたすべての機能があります。

Silverlightは、C ++よりもはるかに生産性の高い言語であるC#で非常にうまく機能します。

Silverlightは基本的にWPFの非常に大きなサブセットであるため、WPFを既に知っている場合は、Silverlightをすでに知っています。

iPhone / iPadのサポートが絶対に必要でない限り、決定は完全に明白だと思います。

WPFとCocoaのこの比較を参照して、WPF / SilverlightがQt、Flash / Flex / Air、GTK#などとどのように比較されるかを理解してください。これらはすべて、ココア。

于 2010-07-13T06:10:35.073 に答える
0

私の日常の仕事(有名なマイクロプロセッサ会社)では、Java、Eclipse RCP、およびJavaOpenGLを使用して複雑なエンジニアリングアプリを開発しています。パフォーマンスは良好です。数百万のポリゴン/秒から最大100フレーム/秒を簡単に取得できます。EclipseのSWTウィジェットは十分に高速であり、JOGLを使用してカスタムコントロールをレンダリングする必要はありません。

この種のプログラミングを開始する方法を示す一連のチュートリアルがあります。シリーズはhttp://wadeawalker.wordpress.com/2010/10/09/tutorial-a-cross-platform-workbench-program-using-java-opengl-and-eclipse/で始まります。

于 2010-10-25T14:40:04.033 に答える