使用 Wisej 将 Windows 桌面应用程序迁移到 Web





5.00/5 (23投票s)
Wisej 在不损失任何优势的情况下,将熟悉的桌面开发体验带入 Web。
将 Windows Forms、WPF、VB6 或其他遗留应用程序迁移到 Web 可能非常困难且昂贵。在评估当前 Web 技术时,迁移的障碍可能层出不穷。如果您是负责使用 Angular 或其他 Web 技术重写整个应用程序的新人……祝您好运!
Wisej 就是为此而设计的。它借鉴了 WinForms 对象模型的便利性,并集成了许多高级 JavaScript 组件,在不损失任何优势的情况下,将熟悉的桌面开发体验带入 Web。原本只能在 Windows 上运行的应用程序,现在可以在现有的所有符合 HTML5 标准的设备上运行。
考虑从 Gupta Team Developer、VB6 和 WinForms 迁移的开发人员可以选择保留现有的业务逻辑,获得极度现代化的 UI 和相同的开发流程。Wisej 和 Ice Tea Group 为 Gupta Team Developer、Visual Basic 6 和 WinForms 应用程序到完全现代化的 Web 平台提供了自动化迁移解决方案。对于 Microsoft C++、Windows Presentation Foundation (WPF)、Silverlight 和 Visual FoxPro,也提供了半自动化的迁移路径。
考虑为项目使用全栈开发工具的开发人员将有机会利用 Wisej 提供的可扩展性、灵活性和安全性。
案例研究:业务应用程序的挑战
当今企业级业务应用程序通常具有丰富的功能历史演进和增强,这使得从 Windows 桌面迁移到原生 Web 的过程变得困难、有风险,有时甚至是不切实际的任务。典型的挑战是什么?它是如何工作的?
让我们快速看一个来自公共部门的例子
Harris Local Government(Constellation Software Group 的一部分)决定将用 Visual Basic 6 开发的 150 个独立的 Windows 模块现代化,迁移到一个集成的 Web 平台。Harris 为 5,500 多个中小型市政单位提供各种解决方案,如车辆注册、房地产、动产和公用事业计费。软件套件包括会计、固定资产和工资单等财务模块。
图 1 展示了使用 VB6 构建的现有桌面用户界面的截图
从头开始开发一个复杂的企业级应用程序通常不是一个可行的选项。以下是需要考虑的典型障碍:
- 手动重写所需的时间、精力、风险和成本在许多情况下是无法考虑的。一个包含数百或数千个表单和对话框的应用程序,从头开始重写和测试可能需要几十个“人年”的时间。
- 在无法接管遗留应用程序的业务逻辑和代码的情况下进行手动重写,风险巨大。通常,算法和逻辑经过数十年的发展,可以处理无限的数据输入和输出场景。保证 100% 向后兼容性的质量保证和测试工作量是巨大的。
- 用户群已经接受并习惯了现有应用程序。工作流程、屏幕和手册应该得到很好的更新和全新的设计,但核心功能不能完全改变,特别是对于拥有最终客户安装的 ISV(独立软件供应商)来说。
- 另一个限制因素是研发。大多数公司无法负担维护现有应用程序并多年构建新替代品的费用。开发团队需要加倍。程序员很难找到,“银牌程序员”的经验和知识对软件供应商来说非常有价值。
使用 Wisej 将企业级应用程序迁移到 Web
得益于 Wisej 和 fecher(Ice Tea Group 的首选实施合作伙伴之一)的咨询团队,Harris Local Government 的 150 个独立模块被转换成了一个基于 Microsoft .NET、C# 和 Wisej 的、外观精美的现代化 Web 应用程序套件。图 2 显示了与之前相同的窗口,现在它是一个现代 UI 的一部分,具有新的导航栏和标签式 MDI 界面,旨在将独立的应用程序整合到一个统一的解决方案中。
现代化分四个阶段完成:
- Visual Basic 6 项目被转换为 C# 项目。
- 所有项目被整合到 Visual Studio 解决方案中,并以 Wisej 组件为基础进行重构。
- 构建了新的导航控件,如左侧的侧边栏和顶部的标签栏,以支持新集成应用程序套件中的 150 个不同模块。
- 根据 UI/UX 设计师的模拟图,Wisej 主题生成器 (Theme Builder) 被用来为 Harris Local Government 应用程序提供全新的外观和感觉。
Wisej Web 技术栈,适用于任何复杂度的业务应用程序
Wisej 是一个基于 .NET 的单页应用程序 (SPA) 框架,支持 C# 和 VB.NET。它兼顾了桌面和 Web 开发的优点,将用户熟悉的控件带到 Web 上,并进行了现代化和增强。想象一下,使用当前 Web 技术从头开始重写 1,000 个屏幕(包含 100,000 个控件)、500 个报告、800 个存储过程,结果会是一个充斥着模板、HTML、JS 和重叠 CSS 的迷宫,更不用说与服务器交互的简陋方式,这种方式可能适用于房地产网站,但对于我们日常看到的业务线 (LOB) 应用程序来说是完全不够的。使用 Wisej,可以在不冒代码库风险的情况下迁移现有业务逻辑。
使用 Wisej 的最大好处是什么?如果您不想,您无需接触 HTML、JavaScript 或 CSS。Wisej 封装了一套完整的 .NET 控件,涵盖了从简单的按钮、组合框、文本框到更复杂的控件,如数据网格、数据重复器、功能区或导航栏。就像在 Visual Studio 工具箱中选择一个控件并将其拖放到页面上一样简单。
Wisej 与 WinForms 对比
WinForms 和 Wisej 的开发环境在外观和感觉上非常相似。使用 Wisej,您可以像在 WinForms 中一样,从工具箱拖放控件,双击添加事件处理程序,并连接属性。
为应用程序设计现代外观和感觉
有了 Wisej,就无需再担心在应用程序中集成样式表。样式设计使用 Wisej 主题生成器 (Theme Builder) 完成,并作为一个单一的 JSON 文件自动加载到您的项目中。主题生成器允许您自定义所有 Wisej 控件的外观和感觉。您可以使用 10 个预设主题之一(请参阅 https://wisej.com/themes/),创建自己的自定义主题,或仅使用较小的混入文件修改任何基础主题。Ice Tea Group 的专业服务团队很乐意协助您重新设计现有应用程序并提供建议。
选择好主题后,您可以使用任何活动 Wisej 应用程序的 URL 实时测试它。如果主题生成器没有您需要的样式功能,Wisej 中的每个控件都有一个 CssStyle 属性,允许您为该控件配置可选的 CSS。
集成 JavaScript 小部件
虽然不需要 JavaScript 编程,但它对于集成第三方小部件非常有用。Wisej 包含大量免费和付费的扩展,包括 Google Maps、FullCalendar 和语音识别。如果需要新控件,Wisej Widget 控件能够包装任何第三方 JavaScript 控件,并将其转换为服务器连接的设计组件。
有关包含的扩展的完整列表,请访问:https://wisej.com/extensions.
Wisej Mobile for iOS and Android
从 2.2 版本开始,Wisej 将包含一个渐进式 Web 应用程序 (PWA) 集成模块,以及一套用于原生 iOS 和 Android 应用程序的付费包。开发人员将能够创建 Wisej 应用程序,从服务器控制设备的任何方面,并且无需了解 HTML、CSS、JavaScript、Java 或 Swift 即可使用移动包。所有这些都可以通过 C# 或 VB.NET 完成。这些包还将包含响应式模板,使响应式设计变得轻而易举。
Wisej Mobile Integration 包让 Web 开发人员能够为移动设备设计复杂的业务应用程序,而无需接触原生代码,并能利用设备的所有原生功能,包括但不限于生物识别认证、触觉反馈、屏幕亮度、原生警报、原生工具栏、标签栏等!
C# 代码
// Dims the device’s screen to half of its possible brightness
Device.Brightness = 50;
// Uses the device’s built in biometrics or passcode to authenticate user
var authenticated = Device.Authenticate("Reason for authenticating");
在服务器上处理设备事件非常容易。以下是如何添加用于选择标签栏项目、工具栏项目、订阅通知以及设备上发生的几乎任何其他事件的事件处理程序。
C# 代码
// somewhere in your code
Device.TabBar.Selected += TabBar_Selected;
…
private void TabBar_Selected(object sender, DeviceTabBar.SelectedEventArgs e)
{
AlertBox.Show($“{e.Button.Text} was clicked!”);
}
使用 Wisej 的响应式配置文件和像素级 WYSIWYG 设计器,开发人员可以调整窗体大小、控件外观、显示文本等,以适应每个客户端的屏幕。
用于桌面和嵌入式部署的自托管
Wisej 提供通过 OWIN / Katana Web 服务器进行自托管,该服务器作为进程或服务在机器上运行。
对于希望保留其应用程序在桌面上的开发人员,Wisej 可以作为桌面应用程序运行,使用 Chromium、Firefox 或轻量级 500KB 的基于 IE 的应用程序。窗口框架完全可定制,并且不需要互联网连接即可运行。该应用程序可以利用一些原生 Windows 功能,如 MessageBox 或文件系统。提供完整的源代码,以便开发人员可以处理身份验证、日志记录和目录浏览。
Syncfusion、DevExpress 和 Infragistics 的组件库集成
Wisej 已集成了多个第三方组件库。这些 JavaScript 小部件现在充当熟悉的服务器端 .NET 控件,消除了开发人员使用 JavaScript、HTML、CSS 或 Ajax 请求来操作它们的需要。在 Wisej 中使用这些小部件就像使用任何 WinForms 控件一样简单。例如,更改小部件的背景颜色
C# 代码
// this is updated automatically on the client.
this.ejCircularGauge1.Options.backgroundColor = "white";
// handling any event from the widget on the server.
this.ejCircularGauge1.Widget.legendItemClick += this. ejCircularGauge1_LegendItemClick;
Syncfusion Essential JS
DevExpress DevExtreme
Infragistics IgniteUI
培训
当前的桌面开发人员可以相对轻松地适应 Wisej 框架,从而降低培训成本并提高生产力。他们会发现自己能够快速开发出可投入市场的生产力软件。对于希望更深入了解 Wisej 框架的开发人员,还提供额外的培训和支持。
丰硕的成果
世界各地的公司,无论规模大小,都已使用 Wisej 来现代化他们的应用程序。Wisej 被广泛应用于农业、医疗、建筑、制造、金融等众多行业。从个人开发团队到数十亿美元的公司,Wisej 都致力于为开发人员提供完成工作所需的工具。了解其他人对 Wisej 的评价:
如需咨询服务,请通过 https://wisej.com 联系我们。