将VB6应用程序迁移到.NET平台几乎就像重写一样,无论是VB.NET还是C#。您认为将其迁移到Java平台是否需要比.NET平台更多的努力,因为无论如何它都需要重写?请分享您的想法!
将VB6应用程序迁移到.NET平台几乎就像重写一样,无论是VB.NET还是C#。您认为将其迁移到Java平台是否需要比.NET平台更多的努力,因为无论如何它都需要重写?请分享您的想法!
回答你实际的问题:用.Net还是Java进行完全重写更容易?那 主要取决于你的团队更熟悉哪个。这也有点取决于应用程序是否与COM交互,就像SLaks所说的那样。
重写VB6应用程序的工作量不仅仅是针对哪种语言的问题。 VB应用程序通常依赖于COM对象和某些VB特定的库方法,这些方法在Java中可能没有等效物 - 但在.NET中可能具有一定的可移植性。
除非您愿意放弃项目的所有依赖项,否则您可能会发现.NET更容易重新编写,特别是如果您需要保留现有应用程序的某些行为,这些行为源自库或其他依赖项。
另一个考虑因素将是您的团队最熟悉的平台 - 如果您拥有大量的Java专业知识,但几乎没有.NET专业知识,那么也许Java是一个不错的选择。
有一些工具可用于从VB6迁移到VB .Net,包括集成在Visual Studio中的工具。这个工具将VB6迁移到C#。无论使用哪种工具,您仍需要对工具输出的代码进行大量手动工作,但这可能比完全重写Java要少。
根据您现有应用程序的架构以及代码结构的良好程度,您可能会决定最好完全重新设计和重写它,在这种情况下,.Net和Java之间可能没有太多选择。
在迁移过程中,不仅要减少总体工作量,还要降低迁移后的维护成本,这一点非常重要。TCO受许多因素影响,但所有事情都相等的情况下,我认为.NET工具、社区、框架和C#语言在开发人员生产力、操作可管理性和性能方面比Java更胜一筹——假设你的目标是Windows操作系统。
我认为保持COM易用性也不应该成为决定因素。事实上,我认为将VB6迁移到.NET,但在不必要的情况下保留COM,会破坏进行VB6迁移的一个关键目的:通过转移到一个得到良好支持和可行的平台来降低开发成本和风险。我会告诉你原因:
大多数与VB6一起使用的流行COM库和控件在许多年内没有得到发展;许多小型供应商已经消失了,或者如果他们仍然支持他们的产品,则现在也提供新的和改进的.NET版本。
在迁移后使用旧的COM意味着在调试、构建和部署方面增加了额外的复杂性。此外,请注意,COM组件并不真正“使用” .NET(即它们不使用.NET类型和约定),因此它们与.NET的使用通常会导致编码和设计中的额外复杂性。
仍有一些坚持不变和例外情况,.NET替代品并不总是最佳选择,但通常情况下,迁移团队将能够找到至少一个.NET替代选项来替换所使用的每个COM组件。花时间深思熟虑地评估、选择和升级其中一个选项,在迁移后会获得回报。
您不会想要互操作任何您计划迁移的VB6内容。自己的代码进行互操作将导致更长、更复杂的过渡,并且通常需要回溯和重新工作/重新测试已迁移的代码。显然,这不是最有效和易于理解的升级路径。
如果应用程序使用COM,将在.Net中重写它比在Java中更容易。否则,将可能更容易移植到.Net。
如需更具体的答案,请提供有关您的应用程序的更多详细信息。
你也可以使用Jabaco,它是一个Java字节码编译器,有自己的IDE和与VB6非常相似(几乎相同)的语法。
你可以在以下链接中找到更多信息:
http://www.jabaco.org/
http://www.jabaco.org/board/
使用迁移工具,例如ArtInSoft,将其迁移到.NET。
您可以使用内置的VS迁移工具将VB 6应用程序迁移到VB.Net。尝试看看是否有帮助。如果您正在考虑将VB 6迁移到C#,那么我也建议您遵循ScaleOvenStove用户的建议。