2009-07-07 7 views
1

巨大なWindowsデスクトップアプリケーションを開発しなければならないとしたら、MS(またはMS製品でない場合は製造元)によって長くサポートされると思われる言語/技術はありますか?デスクトップアプリケーションLongevity

新しいバージョンのWindowsがリリースされたときに実行するために、アプリケーションの長寿を適応または書き換えなくても与えることができる言語/フレームワークはありますか?

C++のWin32 API?(MSはこれまで?それらを書き換えます)

のC#.NET?WPF?

デルファイ、wxWidgets、Qtまたはその他のクレイジーなもの?

議論のために、質問の他の側面に陥ってはいけません。 アプリに大きな人生を与えるものはここでの質問です。

+1

Visual FoxPro(申し訳ありません、抵抗することができませんでした) – Evan

+0

計画しているアプリケーションの種類によって異なります。低レベルのWin32アクセスが必要か、アプリケーションに巨大なアクセスDBがありますか、それを記述してください。 –

答えて

2

本当に安全な賭けはありません。主要なものの1つを選んで、最高のものを願ってください。

私の雇用主は、もともとは1995年に始まった2百万行のWindowsアプリケーションを作っています。彼らは大きなロングライフコードベースになると分かっていたので、同じ選択に直面しました。当時、javaは何もなく、.NETは存在せず、qtとwxwidgetsは無意味な斑点でした。選択肢はC++/MFC、Delphi、VBでした。彼らはVBが十分に強力ではないように見えるので、Delphiを選びました。そして、C++は既存の開発者を訓練するには複雑すぎるようでした。

デルファイは、これらの3つのマーケットシェアで最小のプラットフォームでしたが、驚くべきことに、最良の選択肢であることが証明されています。 .NETの移行に伴いVBの世界で起こった大きな移植作業はありませんでした。同時に、デルファイは導入されたときに新しいウィンドウAPIに対応してきました。決定的に言えば、C++よりも高水準なので、コードベースは小規模なチームにとって非常に扱いやすいものです。

これは、あなたが正しい選択をしているかどうかを決して知らないということです。主要なプラットフォームの1つを選択すると、正常なアップグレードパスが得られる可能性があります。おそらく、与えられたものではない。

+0

あなたが今日その選択をするなら、あなたは何を選ぶでしょうか? – OldJim

0

.NETの多くはWin32上で動作します。これは長い間行われてきたもので、将来的にはうまくサポートされるでしょう。

+1

マイクロソフトは積極的にWin32を強制終了しようとしています。私は彼らが非常に速く成功するのを見ませんが、彼らは試し続けなければなりません。 –

0

私は絶対的なネイティブ感を与えるJava + SWTに行きます。 SWTはJavaの世界でwxWidgetの復活だと思う。あなたは別のプラットフォームでもそれを実行することができます。

+0

残念ながら、JREのバージョンをアップグレードするときにJavaアプリケーションが実行されなくなりました。私は将来、時間をかけて調整や変更を加えることなく、「長期的」に動くことは自信がありません。 – scwagner

+0

これは本当に悲しいことです。 私はSunが各バージョンの下位互換性を維持するために多くの努力をしているという印象を受けました。 – janetsmith

+0

ネイティブCプログラムを作成しても、Windowsのアップグレードごとに問題が発生することがあります。問題を実行するためにOSを元に戻すことは非常に難しいです。しかし、Javaの場合は、コンピュータに別のJREをインストールして、それに切り替えてください。同じコンピュータに複数のバージョンのJREをインストールすることもできます。 :) – janetsmith

0

Win32は、Windows上で動作することに興味がある場合は、ターゲットになることができます。 これは、目的に合ったWin32上に構築されたライブラリがいくつか存在することを意味しています。

Windowsの消費者基盤は最も長くなっていますが、Win32から移行しようとすると、変更が反映されています。それらは、低レベルのコード(Vista、Windows 7)を作成する能力が大幅に低下し、オペレーティングシステムが改善され、代わりにカーネルコードとユーザースペースの実装の同じコアに依存しています。 これは私にとって、常に最善の投資ではない会社の兆候です。

したがって、WINEのようなプロジェクトは、Microsoftによって放棄された後もWin32の「無料」バージョンを実装し続ける可能性が高いことを知っておくとよいでしょう。人々がCommodore 64やNESエミュレータをどのように入手するかのようなもの) 会社が全く新しい方向を向いているか、競争によって侵食されているか(Linux)。

Windowsの場合は、WINEの上で正常に動作することが報告されているライブラリです。 Windowsに基づいていないプラットフォームのアイデアを伝えることができれば、無料のオープンソースソフトウェアのメリットを享受できます! Windowsやその他の無数のプラットフォームで実行できるソフトウェア

私はJavaの提案も見ていますが、それは安全な賭けですが、Javaは時には特定の人に不満を感じることがあります。

私は、Javaアプリのライフタイムが最も長く、すべてのプラットフォームでうまくコーディングされていることがわかりました。

もう一度、あなたをどんな方向にも連れて行かないようにしてください。それは物事の風景です:

+0

個人的に私は、Javaと.Netのための道を通ってGrand Reunificationを期待していますが、Wall Streetからの圧力だけでなく、その周りの文化もすぐには起こらないでしょう。しかし、OracleがSunを買収すれば、MicrosoftはOracleを買収する。 – Bob77

0

私は確かに。ネットは長い間サポートされるでしょう。

+1

かもしれない。どのようなフレームワークですか? :P –

+0

;-)それは良い質問です。最新のものを入手して、必要に応じてアップグレードします。 .net 2.0のアプリはまだ動作します。 – Shoban

+1

私は、コーディングが次のフレームワークで劇的に変化する1つのフレームワークで行われる方法だと思います。さらに、MSは古いフレームワークのサポートを中止する可能性があります。将来のフレームワークが古いフレームワークと互換性があるかどうかは確かではありません。例えば(1.1と2.0) –

0

大規模なアプリケーションを作成する場合は、いずれにしてもメンテナンスが必要です。時々、それは新しいOSをサポートするための変更を必要とするでしょう。それを乗り越える:

マイクロソフトでは何も手を出さないと思っていますが、ときどき互換性のない変更が行われる可能性があります。

私たちはSaaSを人々に提供する「クラウド」でアプリケーションを実行し、さらに古いOSはハードウェアベンダーによってサポートされなくなるため、新しいOSのものを変更する必要があります。

関連する問題