LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

NanUI:基于 .NET 平台的开源框架,通过 HTML5、CSS3 和 JavaScript 开发 WinForm 应用程序用户界面

admin
2025年8月5日 15:11 本文热度 66

前言

在 Windows 平台开发中,WinForm 凭借其稳定性和易用性长期占据重要地位。然而,传统 WinForm 的界面设计受限于原生控件库,难以实现现代化、动态化的交互效果。

随着 Web 技术的普及,开发开始探索将 HTML5、CSS3 和 JavaScript 引入桌面应用开发的可能性。NanUI 框架正是这一趋势下的优秀代表,它通过 Chromium Embedded Framework (CEF) 将 Web 技术无缝集成到 WinForm 中,为大家提供全新的界面开发范式。

项目介绍

NanUI 是一个基于 .NET 平台的开源框架,其核心目标是通过 HTML5、CSS3 和 JavaScript 开发 WinForm 应用程序的用户界面。

该框架基于 Xilium.CefGlue(CEF 的 .NET 实现),可以使用熟悉的 Web 技术设计界面,同时通过 C# 实现业务逻辑。这种"前端 Web 化、后端 .NET 化"的架构模式,既保留了 WinForm 的稳定性,又赋予了界面设计的灵活性。

项目功能

NanUI 的核心功能可概括为三个方面:

1、Web 技术集成

通过 Chromium 内核渲染 HTML 页面,支持所有现代 Web 标准(包括 CSS3 动画、WebGL 等)。

2、双向通信机制

C# 与 JavaScript 的双向调用接口,实现业务逻辑与界面交互的无缝衔接。

3、窗口样式定制

支持完全自定义窗口边框、标题栏和菜单,可创建无边框、透明化等特殊效果。

项目特点

  • 跨版本兼容性

支持 Windows 7 SP1 及以上系统,覆盖绝大多数 Windows 用户群体。

  • 轻量化替代方案

对于 CEF 体积敏感的场景,推荐基于 WebView2 的 WinFormedge 框架(仅 36MB 压缩包)。

  • 现代化开发体验

开发可使用 React、Vue 等前端框架开发界面,结合 Vite 等工具实现热更新。

  • 丰富的扩展生态

集成 SkiaSharp(2D 图形库)、Vortice.Windows(DirectX 封装)等第三方库,增强图形处理能力。

  • 企业级支持

完整的 NuGet 包管理,支持 Azure CDN 和华为云镜像加速依赖下载。

项目技术

NanUI 的技术栈呈现"分层架构"特征:

底层依赖

基于 Xilium.CefGlue 实现 Chromium 嵌入,通过 P/Invoke 调用原生 CEF API。

核心层

Formium 基类封装窗口管理,通过 ChromiumEnvironmentBuilder 配置 CEF 运行时参数。

开发层

支持 ASP.NET Core 风格的依赖注入(IServiceCollection),可集成 Entity Framework 等后端服务。

调试层

内置 DevTools 集成,支持远程调试前端代码。

项目环境

开发环境

  • .NET Framework 4.6.2 或更高版本 / .NET 6.0 或更高版本

  • Visual Studio 2019 或更高版本(强烈建议使用 VS2022)

部署环境

  • Microsoft Windows 7 Service Pack 1 或更高版本

  • .Net Framework 4.6.2 或更高版本

  • .NET 6.0 需要 Windows 7 Service Pack 1 或更高版本

  • .NET 7.0/8.0/9.0 需要 Windows 10 或 Windows 11

这是一个 仅限 Windows 的框架,所以它目前不能在 Linux 或者 MacOS 环境运行。

支持的最低 Windows 版本是 Windows 7 Service Pack 1,并且 Windows 7 不支持某些功能(例如 DirectComposition 离屏渲染)。

项目使用

开发流程如下:

1、创建 WinForm 项目并安装 NanUI NuGet 包(NetDimension.NanUI + NetDimension.NanUI.Runtime)。

2、在 Program.cs 中初始化 NanUI 应用上下文:

var builder = NanUIApp.CreateBuilder();
builder.UseNanUIApp<MyApp>();
var app = builder.Build();
app.Run();

3、定义应用启动类(MyApp)配置主窗口:

class MyApp : AppStartup {
    protected override MainWindowCreationAction? UseMainWindow(MainWindowOptions opts) {
        return opts.UseMainFormium<MyWindow>();
    }
}

4、创建 Formium 子类(MyWindow)加载 Web 内容:

class MyWindow : Formium {
    public MyWindow() {
        Url = "https://example.com"// 或本地 HTML 文件路径
    }
}

项目效果

无边框窗体样式

透明窗体样式

系统窗体样式

在某企业资源管理系统重构案例中,使用 NanUI 将传统 WinForm 界面升级为 Web 风格后,用户满意度提升 40%,开发周期缩短 30%。

项目源码

GitHub:https://github.com/NetDimension/NanUI

Gitee:https://gitee.com/NetDimension/NanUI

总结

NanUI 重新定义了 WinForm 开发的可能性边界。对于需要兼顾稳定性与创新性的企业应用,它提供了"前端革命、后端坚守"的理想平衡点。

虽然存在 CEF 体积较大、Windows 7 部分功能受限等缺点,但其开放的架构和活跃的社区正在持续优化这些问题。随着 .NET 8 和 WebView2 的普及,NanUI 生态有望进一步扩展,成为跨平台桌面开发的重要选项。

关键词

#NanUI#WinForm#HTML5#CEF#开源框架#WebView2、Xilium.CefGlue、NuGet、#依赖注入#跨平台

阅读原文:点击此处


该文章在 2025/8/5 16:25:22 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved