2

数年前に MFC で作成した DVD カタログ作成アプリケーションがあります。レコードはsqliteデータベースに保存されるので、基本的にはCRUDアプリです。UI に関しては、左側にツリー ビュー、右上にリスト ビュー (グリッド)、右下に HTML ビュー (埋め込み IE) があります。派手なものはありません。

アプリを更新してより多くの機能を追加したかったのですが、ここ数年 Java EE を使用しており、MFC ではまったく生産的ではないことに気付きました。ですから、生産性を高めるために何か他のものを使用する必要があるのではないかと考えています。クロスプラットフォームは大きなボーナスですが、絶対に必要というわけではありません。

私の調査に基づくオプションは次のとおりです。

  • Java / Swing: Java の知識を活用できます。優れたサードパーティ ライブラリ (IoC 用の Spring や ORM 用の Hibernate など)。クロスプラットフォーム。欠点は、ユーザーに JRE が必要なことです。Swing は「保守」モードにあるようで、Sun からあまり注目されていません。
  • C++ / Qt: ネイティブ アプリケーション。クロスプラットフォーム。しかし、私は Qt を初めて使用するので、最初にそれを学ばなければなりません。
  • C# / WPF: WPF は Windows GUI 開発の未来であると思われ、いくつかの WPF サンプル アプリに感銘を受けました。C# の経験はありますが、WPF を学ぶ必要があります。欠点は、Windows のみです。.NET 3.5 ランタイムが必要です。

では、あなたが私の立場だったら何を使いますか? ご提案いただきありがとうございます。

4

11 に答える 11

4

このアプリケーションの開発中にいくつかの新しいスキルを習得したい場合、C# / WPF、および C# 3.0 の LINQ は、Java にない場合に非常に優れています。

スピードを上げたいだけなら、Java / Swingという独自の質問にすでに答えています。それはあなたが得意なことです。

于 2009-04-16T19:32:09.620 に答える
4

私は実は C# の大ファンですが、クロスプラットフォームは大きなボーナスになるとおっしゃっていたので、実際には Qt の方が優れているのではないかと思います。C# は Mono を介してクロスプラットフォームにすることができますが、その点ではQtでより良い結果が得られました。また、QtAssistant には、開始するための優れたドキュメントもあります。

于 2009-04-16T19:36:52.310 に答える
3

ほとんどの場合、プロジェクトの範囲が適度に小さく、計算の必要性が適度である限り、私はTCL/Tkを使用する傾向があります。tk よりも生産性の高い gui api をまだ学習していません (ないというわけではありませんが、いくつか試してみたところ、遅いことがわかりました)。[確かに、TCL はプログラミングに最適な言語というわけではありませんが、特にincr tcl]tcllibなど、非常に役立つアドオンが多数あります。

私が他のシステムではなくこれを選択した理由は、たとえば、python でのコーディングを好むのは、tcl/tk を使用した展開が無敵に近いからです。Starkitを使用すると、インストーラーを必要とせず、簡単に移植できる単一ファイルのダブルクリック可能なアプリケーションになります。

于 2009-04-16T23:44:32.353 に答える
3

生産性が大きな問題である場合は、PyQt + Python も検討してください。Qt の学習曲線はそれだけの価値があり、最初に思われるほど難しくはないと私が言うとき、私を信じてください。

Sqlite のサポートは、Python 標準ライブラリと Qt の QSql モジュールの両方で利用できます。

PyQt + Python もクロスプラットフォームのオプションです。Python は多くのプラットフォームで利用でき、Qt のクロスプラットフォームは最初から利用可能です。

アプリケーションで使用したと述べたコントロールはすべて Qt で利用できます。

于 2009-04-16T23:04:58.627 に答える
3

生の C++ 以外の唯一のツールは Delphi です。限目。

他のツールを使用すると、展開で問題が発生します。

Delphi を使用すると、自己完結型のネイティブ exe を生成できます。また、データベース接続も優れています。

コントロールやサード パーティ製ツールの不足に失望することはありません。多くの場合、ソース コードと無料/商用のツールセットが含まれています。

そして、コンパイル時間はこの銀河で最速です ;)

そのため、顧客に簡単なアプリを提供することに真剣に取り組んでおり、顧客が開発者のように技術志向ではない場合、4 つの .NET ランタイムのどれがインストールされ、最小限のサポート、簡単なダウンロード、クリックが必要なため、混乱する可能性があります。 click-install-go、Skype、TopStyle (Delphi で作成) などのように即座に動作するアプリの場合、Delphi/C++ が唯一のオプションです。真剣に。唯一のオプション。


クロスプラットフォーム ソリューションが必要な場合、GUI が最小限であれば FreePascal/Lazarus が機能します。

于 2009-04-16T23:17:39.813 に答える
2

本当にクラス プラットフォーム タイプのアプリケーションが必要な場合は、それを Web アプリケーションに変換してホストします。そうすれば、あるユーザーが DVD 情報または DVD カバー画像をアップロードすると、別のユーザーがシステムに既に入力されているその情報を利用することができます。

デスクトップ向けに開発する場合は、OS UI ツールを利用して、そのプラットフォーム向けに作成されたアプリケーションのように感じられるようにしてください。Windows の場合は、3 番目のオプション C# /WPF を選択します。

于 2009-04-16T19:40:07.107 に答える
1

Eclipse RCP を使用すると、Java、クロスプラットフォーム開発 (Delta Pack を参照)、ネイティブな外観 (SWT 経由)、およびデスクトップ開発用の優れたフレームワーク コレクション (宣言型 UI、プラグイン管理など) を利用できます。ぜひ試してみてください。

于 2009-04-16T23:34:48.617 に答える
1

MFC アプリに再利用したい非 UI コードがある場合は、QT を検討してください。それ以外の場合は、学習したいものを選択してください。

于 2009-04-16T19:50:51.947 に答える
1

C#/WPF の代わりに、Silverlight を見てみましょう。あなたのアプリは、起動して実行するのにそれほど時間はかからないほどシンプルに見えます。会議で披露されるデモに似ています。

基本を理解すれば、アニメーション、ムービー クリップ、アルバム アート、カバーフローのようなインターフェイスなどの優れた機能を簡単に追加できます。

Windows/Mac ユーザーと、おそらく Moonlight を使用する Linux をターゲットにすることができます。しかし、私は過去 8 年間 Linux を見ていないので、Linux についてはあまり語ることはできません。

于 2009-04-16T20:26:42.110 に答える
0

私は数か月前に C++/wxWidgets (ただし、Qt を実行できます) ルートに行きましたが、ほぼ同じシナリオ (SQLite データベースを使用してアプリをアップグレードする) が提示されました。wxWidgetsはかなり簡単に手に入れることができ、必要なものがすべて揃っていて、MFC よりもはるかに簡単でした。一番良かったのは、CodeProject で SQLite 用の優れた C++ ラッパー (例: CPPSQLite ) を見つけて、すべてをすぐに実行できるようにしたことです。

于 2009-04-17T21:06:59.183 に答える
0

私は実際にAdobe Airのようなものを非常によく見ます. これはクロス プラットフォームであり、html/javascript ベースである可能性があるため、1 つまたは 2 つの JavaScript ライブラリを除いて、学ぶべきことはそれほど多くない可能性があります。ローカル データストアと通信したり、インターウェブを介して Web サービスや RESTFUL サービスと通信したりできます。開発はaptanaで無料です。そこに書かれているもののいくつかをチェックしてください:

http://www.adobe.com/products/air/showcase/

于 2009-04-18T01:21:50.007 に答える