4

VB6アプリケーションの.NETプラットフォームへの移行は、VB.NETまたはC#に関係なく、ほとんど書き直しのようなものです。とにかく書き直しなので、.NETプラットフォームと比較して、Javaプラットフォームでそれを行うにはより多くの努力が必要になると思いますか?あなたの考えを共有してください!

4

8 に答える 8

9

違反はありませんが、あなたは間違っています。.Netへの移植は、通常、書き直しよりもはるかに簡単です。

MicrosoftUKからの公式アドバイスは次のとおりです。

.NETへの完全な書き換えを実行することは、[変換するよりも]はるかにコストがかかり、うまく実行するのが困難です...少数の状況でのみこのアプローチをお勧めします。

書き直しについて相談したMicrosoftの人によるブログ投稿から:

私が.NETの初期に協力していた多くの企業は、.NETに移行すると同時に、基盤となるアーキテクチャとコード構造を改善したいという強い願望に一部駆り立てられて、最初に書き換えを検討しました。残念ながら、これらのプロジェクトの多くは困難に直面し、いくつかは完了しませんでした。彼らが解決しようとしていた問題は大きすぎました

次の2つの手順をこの順序で行うことをお勧めします。

  1. 移行または書き換えの理由を書き留めます。それはどのようなメリットをもたらしますか?メリットは、開発チームを満足させることだけかもしれません。それは十分な理由かもしれませんが、私にはわかりません。あなたが知っていることを確認してください、そしてあなたのマネージャー/ユーザーは同意します。
  2. .Net移行の5つの基本オプションを説明するスクリーンキャストを使用して、MicrosoftUKのアドバイスを確認してください。どちらが最適かを決定します。書き直しかもしれませんが、目を開けて入ってください。

あなたの実際の質問に答えて:.NetまたはJavaで完全な書き直しはより簡単でしょうか?それは主にあなたのチームが最もよく知っているものに依存します。また、SLaksが言うように、アプリケーションがCOMと対話するかどうかにも少し依存します。

于 2010-05-12T00:42:29.083 に答える
1

VB6アプリを書き直す作業は、ターゲットとする言語の問題だけではありません。VBアプリは、多くの場合、COMオブジェクトと特定のVB固有のライブラリメソッドに依存しています。これらのメソッドは、Javaで同等のものを持たない場合がありますが、.NETではある程度の移植性がある場合があります。

プロジェクトのすべての依存関係を放棄する意思がない限り、特にライブラリやその他の依存関係から派生した既存のアプリケーションの動作の一部を保持する必要がある場合は、.NETを書き直すのが簡単なターゲットになる可能性があります。

もう1つの考慮事項は、チームが最もよく知っているプラ​​ットフォームです。Javaの専門知識はたくさんあるが、.NETの専門知識がほとんどないかまったくない場合は、おそらくJavaが適しています。

于 2010-05-11T16:01:53.523 に答える
1

Visual Studioに組み込まれているものを含め、VB6からVB.Netに移行するために利用できるツールがあります。このツールは、VB6をC#に移行します。どのツールを使用する場合でも、ツールが出力するコードに対して多くの手動作業を行う必要がありますが、これは完全なJavaリライトよりも作業が少ない可能性があります。

既存のアプリケーションのアーキテクチャとコードの構造によっては、とにかく完全に再設計して書き直す方がよいと判断する場合があります。その場合、.Netとjavaのどちらかを選択することはあまりありません。

于 2010-05-11T16:03:49.933 に答える
1

移行中の総労力だけでなく、移行後のメンテナンスのコストも削減することが重要です。多くの要因がTCOを推進しますが、すべてが等しいと思います。.NETツール、コミュニティ、フレームワーク、およびC#言語は、開発者の生産性、運用管理性、およびパフォーマンスの点でJavaに匹敵するか、それを上回っていると思います。

COMの維持のしやすさも決定的な要因ではないと思います。実際、VB6を.NETに移行することはできますが、VB6の移行を行うという重要な目的、つまり、十分にサポートされた実行可能なプラットフォームに移行することで開発コストとリスクを削減する必要がない場合は、COMを維持することです。理由をお話しします:

  • VB6で使用されていた人気のあるCOMライブラリとコントロールのほとんどは、何年も進化していません。小規模なベンダーの多くは姿を消したか、まだ自社の製品をサポートしている場合は、新しく改良された.NETバージョンも提供しています。

  • 移行後に古いCOMを使用するということは、デバッグ、ビルド、および展開に関してさらに複雑な状態で使用することを意味します。また、COMコンポーネントは実際には.NETを「話す」わけではない(つまり、.NETの種類や規則を使用しない)ため、.NETで使用すると、通常、コーディングと設計がさらに複雑になることに注意してください。

  • このルールにはまだいくつかの問題と例外があり、.NETの置き換えが常に最良の選択であるとは限りませんが、一般に、移行チームは、使用するほぼすべてのCOMコンポーネントに対して少なくとも1つの.NETの置き換えオプションを見つけることができます。 。時間をかけて慎重に評価し、選択して、これらのオプションの1つにアップグレードすると、移行後に成果が得られます。

  • 移行する予定のVB6であるものを相互運用する必要はありません。独自のコードを相互運用すると、移行が長く複雑になり、通常、移行済みのコードをバックトラッキングして再作業/再テストする必要があります。明らかに、これは最も効率的で理解しやすいアップグレードパスではありません。

「出力に対して多くの手作業」を行わなければならないことについてのもう1つのポイント。Great Migrations製品は、プログラム可能な新しい移行ツールです。これは、移行チームが生成されたコードの品質を段階的に向上させ、移行プロジェクトを完了するために必要な手作業を減らすのに役立つように設計されています。これには、変換をより正確にすること、複雑なマルチVBP移行を処理すること、および.NETコンポーネントを使用するためのVB6/COMコードの再構築を自動化することが含まれます。これらの機能は、VB6コードベースが非常に大きく、頻繁に変更され、移行中に大幅に再設計およびクリーンアップされる場合に特に役立ちます。これは、ツールアシストリライトと呼ばれるアジャイル移行手法です。

免責事項:私は生きもの地球大紀に働いています。

于 2010-05-13T02:35:20.443 に答える
0

アプリケーションがCOMを使用している場合、Javaよりも.Netで書き直す方がはるかに簡単です。それ以外の場合は、.Netへの移植がいくらか簡単になります。

より具体的な回答については、アプリケーションの詳細をお知らせください。

于 2010-05-11T16:00:15.010 に答える
0

Jabacoを使用することもできます。これはJavaバイトコードコンパイラであり、VB6と非常によく似た独自のIDEと構文を備えています(ほぼ同じ)。
詳細については、
http ://www.jabaco.org/http://www.jabaco.org/board/を参照してください

于 2010-05-12T09:09:37.983 に答える
0

ArtInSoftなどの移行ツールを使用して、.NETに移行するだけです。

于 2010-05-12T20:56:35.557 に答える
0

組み込みのVS移行を使用してVB6アプリケーションをVB.Netに移行できます。それがあなたに役立つかどうか見てみてください。VB 6からC#への移行を検討している場合は、ScaleOvenStoveユーザーが推奨しているものもお勧めします。

于 2010-05-13T01:41:54.803 に答える