Wisej:企业软件的便捷按钮






4.97/5 (43投票s)
Wisej 是一个强大的平台,它抽象了客户端/服务器交互的细微之处,同时拥抱了网络所能提供的一切,包括第三方基于 HTML5 的解决方案,它是构建企业 Web 应用程序的理想工具。
Wisej 提供了一个平台和一套工具,旨在减轻开发、测试、部署和维护复杂业务软件的负担。它通过让开发人员利用他们现有的 .NET 和 C# 技能,弥合了传统 WinForms 式桌面应用程序与 Web 之间的差距。
开发人员可以使用他们熟悉的工具,例如像素级精确的设计界面和拖放控件,以及他们熟悉的语言(C# 或 VB.NET),来构建实时 Web 应用程序,而无需学习 HTML、CSS 或 JavaScript。他们可以留在自己喜欢的 IDE(如 Visual Studio)中,利用 IntelliSense、集成调试、设计界面和源代码管理集成等功能。前端开发人员可以利用他们对 Web 技术的知识来增强应用程序,并无缝集成第三方包,如 HTML5 图表库和 ASP.NET 控件。
为了弥合旧式桌面应用程序与现代 Web 应用程序之间的差距,Wisej 提供了多项功能,可以为迁移现有应用程序或构建全新的项目提供一条直接的途径,而无需学习一套新技术。软件内置了对触摸和手势的支持,并带有仿真功能以支持桌面体验,本地化是第一流的公民,Wisej 生成的应用程序开箱即用即可响应。这意味着它们可以轻松地从桌面浏览器、移动智能手机和平板电脑访问。
获取软件
要开始使用,请访问 Wisej 网站
在那里您可以浏览各种定价选项并下载试用版。
示例应用程序可在以下网址找到:
http://demo.wisej.com/codeproject
您可以从以下网址下载源代码:
从 https://wisej.com 下载最新版本的 Wisej 即可开始。您应该能够编译和调试应用程序。该应用程序使用 64 位 SQLite 驱动程序。有两种方法可以确保您能够成功调试。您可以选择以管理员身份运行并本地使用完整的 IIS 服务器,或者您可以将 IIS Express 设置为以 64 位模式运行,如下对话框所示。
Wisej 的一个优势在于它可以生成本地可执行文件,以独立或自托管应用程序的形式运行您从 Web 浏览器访问的相同应用程序。在项目文件夹中,您会找到一个“Wisej.Application.exe”,您可以执行它来测试此功能。
演示演练
访问网站时,您首先会注意到的是桌面体验。创建桌面体验的代码非常简单,只需将一个桌面控件添加到应用程序中。Wisej 会自动处理允许用户拖动组件、缩放、调整大小、最小化等。点击左下角的方格网以展开选项的“开始菜单”。
实例化控件
在 Visual Studio 中,导航到“Popups”文件夹并双击“StartPopup”。这将打开弹出菜单的设计器体验。您可以看到各种按钮,单击一次可查看属性,双击可查看后台代码。启动另一个组件很简单。在设计器中双击“Background Task”按钮。您将看到以下代码,该代码仅创建一个“BackgroundTask”控件的实例,然后调用它。
实时更新
我们将审查的第一个示例是“后台任务”。传统上,在 Web 浏览器客户端和服务器主机之间构建实时管道涉及 WebSockets 或 SignalR 等技术脚手架,并在双方构建逻辑来处理数据流和异常。运行后台任务示例,按“Start”查看其运行情况。
通过 Visual Studio 在设计时视图中也可以使用相同的对话框。
请注意左侧的控件列表,它们已准备好进行拖放定位到画布上,体验与 WebForms 开发人员习惯的一样。用于最大化、平铺和关闭对话框的控件都是内置的,无需额外代码即可工作。右键单击控件可查看后台代码。
重要的代码在“button1_click
”事件中。
代码遍历 100 个项目,每个循环暂停半秒。浏览器应用程序仍然异步运行,不受操作阻塞。Wisej 平台提供“StartTask
”方法来启动后台任务,实时刷新数据就像调用“Application.Update
”方法一样简单!所有浏览器和服务器之间的实时连接都自动处理,因此开发人员可以专注于重要的事情(核心代码逻辑),而不必担心客户端和服务器如何连接的细微之处。Wisej 对实时通信的支持处理 Websockets、HTTP 或带 HTTP 回退的 Websockets,所有这些都可以通过简单的配置设置进行选择。
第三方集成
接下来,在演示应用程序中点击“Widget Integration”。您将看到一个编辑控件。
该控件允许您编辑文档并使用高级功能,如格式设置、插入链接和表情符号,甚至嵌入图像。该控件实际上使用了开源 HTML 项目 CKEditor。这个例子说明了集成第三方开源库是多么容易,即使它们不是 .NET 项目。
大规模数据绑定
网格通常是企业应用程序的中心,在 Web 应用程序中构建提供基本创建/读取/更新/删除 (CRUD) 功能以及过滤、分组和排序等高级功能的交互式网格可能很困难。Wisej 为控件提供了一个数据绑定系统,该系统既直观又易于实现。要查看实际效果,请在演示应用程序中选择“Data-binding”示例。您应该会看到一个如下所示的网格。
该网格功能齐全。点击列标题进行排序,再次点击可切换升序和降序。点击任意行可在关联对话框中进行编辑,或双击网格进行内联编辑(“Excel 风格”)。您可以插入新行并调整更新,直到准备好保存到服务器。保存功能提供可关闭的警报通知,指示成功,或提供模态对话框来诊断失败。
在 Visual Studio 中打开网格并右键单击以查看后台代码。这是 Wisej 的一个极其强大的功能,许多 Web 开发人员可能希望过去拥有它。网格完全通过 C# 服务器端代码实现,Wisej 自动处理所有绑定、更新和数据流,而无需开发人员编写任何客户端 JavaScript 代码!
加载初始数据集就像填充标准数据适配器一样简单。演示应用程序使用 SQLite 数据库来存储和更新示例数据。
保存记录的代码在遇到问题时提供成功警报并显示模态错误对话框,这仍然是通过简单的 C# 代码完成的,该代码自动控制浏览器体验。
重要的是要注意提供带有服务器端代码的客户端模态框是多么容易。由于处理异步对话框和确保模态框成功禁用应用程序中其他内容所需的逻辑,这在其他框架中通常是一个挑战。请注意,前面的代码示例提供了一个简单、顺序的服务器端 C# 工作流,但成功地在浏览器中提供了交互式模态框体验。
在更高级的场景中,您可能需要编写代码来分页和跳过数据库中的记录,并根据高级条件进行过滤。Wisej 通过允许您专注于一套代码来简化此过程。如果您可以在服务器上使代码正常工作,Wisej 将会将其连接到浏览器并为您显示适当的输出。不再需要编写两套代码,一套用于服务器,一套用于处理浏览器中的所有事件!
嵌入式媒体
从开始菜单点击“Media”选项以查看媒体体验。对话框包含嵌入式视频(带位置跟踪)和一个嵌入式 PDF 文档,您无需离开当前网页即可查看和导航。
您可以在 Visual Studio 中打开媒体控件,然后点击各个组件以查看其属性。Wisej 内置了“Video”和“PDFViewer”控件,只需将它们拖到设计界面即可使用,并与相关文档绑定。属性显示了 PDFViewer 控件如何绑定到项目中包含的文档。
PDF 查看器控件非常灵活,支持 pdf.js、原生 PDF 文档、Google Docs 和自定义查看器。
对于媒体元素中的位置跟踪,会连接一个简单的事件,在时间位置更改时触发,并使用以下代码进行处理。
代码的处理方式就像桌面应用程序一样,所有到浏览器的更新都由 Wisej 自动协调。
自定义绘制
本次回顾中要介绍的最后一个对话框是“Custom Painting”。点击该选项,您会看到一个模态对话框,其中包含一个完全渲染的曼德勃罗集和一个笑脸。
尽管像素数量和细节级别很高,但您可以看到曼德勃罗集渲染速度非常快——在我机器上只需 50 毫秒多一点。如果您查看后台代码,图像是在服务器上使用位图对象渲染的。一旦完成,就会调用一个特殊的“DrawImageUnscaled
”来将位图内容传输到基于浏览器的画布上(同样,开发人员无需学习或创建任何客户端代码)。
笑脸是一个“canvas”控件,它允许您编写服务器端代码来渲染客户端 HTML5 canvas。这使您能够完全用 .NET 创建复杂的自定义 Web 控件,这些控件完全符合 HTML5 标准。
独立可执行文件
除了支持基于 Web 的部署外,Wisej 平台还允许您将应用程序打包成本地可执行文件,可以从桌面运行。它支持与基于 Web 的项目相同的独立程序功能。这使得无需 Web 服务器即可分发。可执行文件在项目根目录下生成,这是一个使用画布小部件运行它的示例。
功能和集成
像素级 WYSIWIG 设计器
Wisej 的所有操作都围绕着该框架获得专利的像素级设计器。WYSIWIG 设计器允许您确切地看到应用程序在运行时将是什么样子。将控件从工具箱拖放到页面上,亲自查看。该设计器还允许开发人员创建响应式配置文件:适用于任何设备的页面。
主题构建器
Wisej 配备了一个强大的主题构建器,允许开发人员修改应用程序中任何控件的外观和感觉。可以轻松地将不同的主题和样式应用于在生产环境中运行的调试应用程序。每个 Wisej 控件还带有一个“CssStyle”属性,该属性在设计时应用自定义样式。
控件库集成
除了示例中集成的第三方小部件外,Wisej 现在提供 Syncfusion、DevExpress 和 Infragistics JavaScript 组件库,作为设计器中的拖放控件。集成简化了对担心失去原生桌面应用程序的图表、图形和其他控件的开发人员的迁移过程。
原生移动集成
Wisej Mobile Integration 包(适用于 Android 和 iOS)使 Web 开发人员能够将原生设备功能集成到他们的 Wisej 应用程序中。原生滚动和自定义主题将为用户提供响应式体验。使用设备的生物识别身份验证功能、原生工具栏、标签栏等。使用自定义处理程序在 Wisej 中处理任何原生设备事件。
Wisej 的优势
- 负载均衡器支持
- 支持原生移动集成(iOS 和 Android)
- 支持渐进式 Web 应用程序 (PWA)
- 强大的架构,可抵御一些顶级 OWASP 攻击
结论
对于开发人员来说,构建一个具有大型可自定义网格和实时数据更新等功能的复杂企业 Web 应用程序可能是一项艰巨的任务。当需要将旧式 WinForms 风格的应用程序迁移到 Web 而又不丢失业务用户习惯的功能(如使用键盘进行数据输入和在实时网格中编辑值)时,这似乎更加复杂。幸运的是,Wisej 是一个可以减轻挑战负担并提供从桌面应用程序到 Web 的直接路径的工具。作为一个强大的平台,它抽象了客户端/服务器交互的细微之处,同时拥抱了 Web 所能提供的一切,包括第三方基于 HTML5 的解决方案,它是构建企业 Web 应用程序的理想工具。
本次评测只是触及了 Wisej 所提供功能的表面。除了这里介绍的内容之外,还有几十种开箱即用的控件和功能,例如在应用程序运行时可以应用的全面主题。可以从同一代码库定位 Web 应用程序和桌面应用程序。所有功能都作为基于 .NET 的拖放式设计器应用程序提供,该应用程序利用现有的 C# 或 VB.NET 技能。为什么不亲眼看看 Wisej 平台有多强大呢?前往网站并开始免费试用,如果您还没有这样做的话,以便跟随本评测。
注意:这是 Jeremy Likness 原创文章的更新版本:https://codeproject.org.cn/Articles/1208339/Wisej-The-Easy-Button-for-Enterprise-Software