自研 XchyUI:函数式组合跨平台 UI 引擎,打造轻量高性能原生开发体验

0 阅读3分钟

自研 XchyUI:函数式组合跨平台 UI 引擎,打造轻量高性能原生开发体验

先跟大家明确下,XchyUI 函数式组合跨平台 UI 引擎是我为这套自研方案命名的,它并非一款普通 UI 库,而是能让你自主创造 UI 库的「底层工具箱」,在定位层级上与 Avalonia、Flutter 同级,从底层为跨平台 UI 开发提供全链路的自主定制能力。

清晰五层架构,从底层实现跨平台灵活适配

XchyUI 的架构设计层层解耦、逻辑清晰,从窗口创建到渲染执行,全流程支持自定义对接,兼顾灵活性与原生性:

  1. 窗口层:多方式创建窗口,可直接调用系统原生(如 Windows Win32)、使用官方组件(如 WinForm),也可对接第三方组件(如 GLFW);
  2. 窗口适配层:为 XchyUI 核心库做窗口事件适配,统一处理鼠标、键盘等外设交互事件;
  3. XchyUI 核心库:纯用户态代码开发,无任何外部依赖,定义窗口事件、渲染层标准接口,同时内置 view 布局系统、函数组合编程范式、状态管理、高性能动画等核心能力;
  4. 渲染适配层:对接具体渲染库,仅需实现核心库定义的标准接口,即可快速集成;
  5. 渲染库层:灵活选择渲染方案,目前默认对接 SkiaSharp 实现跨平台开发;若仅做 Windows 端,可直接对接 direct2D,适配更轻量化。

三步快速上手,基于 VS 一键运行开发

这套框架兼顾轻量性与开发效率,无需复杂配置,跟着步骤就能直接跑通 Demo:

  1. 安装开发工具:下载 Visual Studio 2022 及以上版本(下载地址:visualstudio.microsoft.com/zh-hans/dow…),安装时务必勾选 [.NET 桌面开发][C++ 桌面开发](C++ 环境为 AOT 编译所需);
  2. 获取项目 Demo:直接克隆我的 GitHub 仓库 Demo(地址:github.com/xiaochangya…);
  3. 一键运行开发:用 VS 打开 Demo 项目直接运行,该 Demo 为轻量控制台程序,框架支持屏幕分辨率自适应热重载,开发调试效率拉满。

核心优势:轻量原生,高性能无冗余

XchyUI 从 0 到 1 全链路自研,摒弃 Web 套壳、无深度封装、无黑盒逻辑,回归原生渲染本质,核心亮点拉满:✅ 纯 C# 开发,内核 DLL 小于 200KB,内存占用极低;✅ 函数式组合 API + 状态驱动,贴近 React/Flutter/Jetpack Compose,上手成本低;✅ 单线程架构 + 对象复用,大幅降低 GC 压力,百万级数据列表稳定 60fps+;✅ 插拔式架构设计,窗口、渲染层可快速替换,适配不同开发场景;✅ 自研无 Timer 动画系统、脏矩形局部刷新,高性能渲染无卡顿;✅ 支持.NET8 AOT 原生发布,已验证 Windows 10+/Ubuntu 端流畅运行,macOS 理论全支持。

框架仅提供基础原子组件,复杂组件(DataGrid、TreeView、图表等)均可通过积木式组合实现,无冗余内置组件,保持核心轻量、灵活可定制的特性,能满足 90% 以上桌面客户端 UI 开发需求。

交流与反馈

这套框架会持续优化更新,同时会不定时分享组件使用,大家在使用过程中有任何问题、建议或开发思路,欢迎直接在 GitHub 仓库的Issues留言交流,也可以一起探讨更多定制化开发玩法~