将 VB 6 转换成 WinForms、将 WinForms 转换成 HTML

  • Jonathan Allen
  • 孙镜涛

2014 年 5 月 9 日

话题:.NET架构

Mobilize.NET 这个名字的寓意就是帮助公司从 VB 6 中解脱出来。它的标志性产品 VBUC(也就是VB 升级指南)的作用是处理遗留应用程序将其转换成 C# 或者 VB。

下面是一个 90 年代末期典型 VB 6 应用程序的示例。

为了实现平滑的转换 VBUC 转换器包含一个比较工具,它能够显示出原始代码和新代码之间的映射关系。

对于很多公司而言这已经足够了,因为 WinForms 在可预见的将来依然会被支持。但是还有很多公司的目标是完全脱离桌面,对于这种情况 WebMAP2 就派上用场了。

WebMAP2能够处理 WinForms 应用程序,将其转换成基于 HTML 的应用程序。其实现方式是:首先将.NET 代码分离成视图和控制器,然后将视图转换成 HTML,而大部分代码会留在服务器端的控制器中。

下面是运行在 Azure 上的同一个 VB 6 应用程序:

Mobilize.NET 强调他们正在生成惯用的 JavaScript。这非常重要,因为他们并不打算让你永远停留在这种代码格式上。一旦你的用户习惯了在 Web 上查看他们关键任务的应用,那么你就能够慢慢地重新处理 UI 界面让它变成真正属于浏览器的东西。

这种方式有显著的优势。如果你要全部从头重写,那么存在巨大的社会风险因素。仅捕获需求就可能花费数月的时间,然后就是无休止的争论应该把哪些特性放到前面,哪些放到后面。同时有一些人还会以这段时间为借口悄悄地加入新特性。使用 Mobilize.NET 提供的转换方式,你能够避免争论把重心放到测试上。

但是更重要的是这样节省了对应用程序进行再培训的成本。有一些要升级的应用程序可能是在遥远的 90 年代早期编写的,甚至比 Windows 95 发布还早很多。即使新应用程序能够实现原始程序的所有功能,对所有的雇员进行再培训让其使用新系统的成本也可能难以估量。有时候这些开销甚至比完全重写应用程序的成本还要高出很多。

查看英文原文Convert VB 6 to WinForms and WinForms to HTML

.NET架构