我正在为一家维护几个用 C++ 编写的桌面应用程序项目的公司工作。所有这些应用程序都有复杂的 GUI 界面。我所说的“复杂”是指与许多组件的接口、深层组件层次结构、框架的使用、第三方和/或支持透明度和动画等功能的自定义组件包。
到目前为止,我们一直使用 Embarcadero RAD Studio 套件来编写和维护我们的应用程序。然而,每个新版本的许多反复出现的错误让我的上级感到厌烦,现在他们正在考虑迁移到 Visual Studio 的可能性。
我认为迁移用 c++ 编写的应用程序核心功能不会是一个真正的问题。
然而,对于 GUI,这是另一回事。我以前在 Visual Studio 2003 编译器下有过复杂接口的经验,我记得创建和维护它们是一项痛苦的工作。没有真正的设计师,组件有限,而且大部分工作都是手动完成的。从那以后,我查看了 Visual Studio 2017 提供的设计工具,我的第一印象是自那以后并没有太大变化。c++ 项目的设计器仍然很初级,特别是与 RAD Studio VCL 相比,它具有良好的组件库。C# API 比我需要的更接近,但我无法设想用 C# 重写我的所有代码作为一个严肃的选择。
我试图搜索有关在这种情况下应用的良好做法的教程,但直到现在我还没有找到有用的信息。
我的问题是:
- 我可以在迁移到 Visual Studio 时恢复当前的 GUI 界面(至少是其中的一部分),还是必须计划从头开始重写所有内容?
- Visual Studio 是否提供类似于 VCL 的机制来编写 GUI 界面、安装第三方包和编写自定义组件?如果是,我在哪里可以找到相关信息?
- 如果没有高剂量的头痛和眼泪,这样的端口是否可行?我在哪里可以找到有关此类流程的相关信息?