自 v9.3.0.5 至当前 9.5 线:项目演进纪要
兹记项目自 2026 年 3 月 17 日之
v9.3.0.5,迄当前9.5文档基线9.5.0.5之主要演进。此一阶段,所变者不独在版本号,更在工程边界、运行时矩阵、验证路径与对外文档之体例,皆由雏形渐次整饬,遂成今日之规模。
先言其势
若以仓库差异观之,自 v9.3.0.5 至今,项目已有如下变化:
- 变更文件约
298项。 - 新增代码与文档约
27,011行。 - 调整或移除内容约
6,080行。
此非一二示例之修补,而是自“单体兼容层”迈向“多运行时、多示例、多文档入口”的一次系统推进。
v9.3.0.5 时之基线
v9.3.0.5 所代表者,乃项目早期较完整之第一次文档化发布。当时项目已有如下基础:
LVGLSharp.Forms、LVGLSharp.Core、LVGLSharp.Interop、LVGLSharp.Native、LVGLSharp.Runtime.Windows、LVGLSharp.Runtime.Linux等核心包分层。Application.Run(Form)、常用控件、NativeAOT 与基础事件桥接已经可对外说明。- 示例以
WinFormsDemo、PictureBoxDemo、SerialPort为主。 - 文档仍以
README为主要入口,站点化结构尚未成形。
是以 9.3 一线之价值,在于立其本;而 9.5 一线之价值,在于扩其体、明其界、充其实。
自 9.3 至 9.5,其要有五
一曰:LVGL 互操作层与运行时抽象更趋完整
9.5 一线首先完成者,是底座之抬升:
- 项目正式转入
LVGL 9.5基线。 - 自动生成的 P/Invoke 绑定进一步扩展,相关枚举、结构与绘制类型大幅更新。
IWindow等较早抽象逐步收敛为更清晰的IView/ViewLifetimeBase体系。- 运行时注册入口继续标准化,
ApplicationConfiguration.Initialize()成为更明确的统一入口。
此一步之意义,在于使上层 Forms API 与下层平台宿主之间的关系愈加清晰,为后续扩展宿主矩阵奠定基础。
二曰:运行时矩阵由“可跑”进于“分层”
与 v9.3.0.5 相比,当前 9.5 线最显著之变化,在于运行时已不复止于单一 Windows / Linux 路径,而是开始形成分层矩阵:
- Windows 路径继续整理,命名与运行时边界更趋统一。
- Linux 路径由单一宿主入口,扩展为
WSLg、X11、Wayland、SDL、FrameBuffer等多宿主并存。 DrmView已入仓,DRM/KMS路线开始具备明确入口。Offscreen自 Linux 宿主分支中独立出来,形成LVGLSharp.Runtime.Headless。LVGLSharp.Runtime.MacOs与LVGLSharp.Runtime.Remote已具骨架,为macOS、VNC、RDP等后续路线预留独立边界。
换言之,项目已由“跨平台可运行”进一步走向“跨平台运行时可组织、可区分、可扩展”。
三曰:示例与验证入口显著增多
v9.3.0.5 时,示例仍以基础验证为主;至 9.5 一线,示例已成为推动能力边界的重要载体:
- 新增
MusicDemo与SmartWatchDemo,使复杂界面与控件协作路径得到更真实之检验。 - 新增
OffscreenDemo,使无头渲染、PNG 导出与快照验证具备独立入口。 - 新增
MacOsAotDemo,作为macOS路线之首个 AOT 验证入口。 - 新增
WinFormsVncDemo、WinFormsRdpDemo与RdpDemo,使 Remote 路线不止停于抽象。 - 新增
tests/LVGLSharp.Headless.Tests,将快照回归、自定义背景色、远程帧源适配等纳入自动化验证。
至此,项目之验证方式已不再单赖人工演示,而是开始同时具备示例验证、快照验证与发布产物验证三层路径。
四曰:文档由 README 进于站点
此阶段另一大变化,在于文档体系之建立。
自 9.3 线之 README 中心结构,至当前 9.5 线,项目已形成完整文档站点:
- 首页、导航页、博客、新闻页、NuGet 安装页、截图页皆已成形。
- 中英文内容已分层整理,并具语言切换入口。
ROADMAP.md、CHANGELOG.md与首页叙述开始统一口径。- 本地 Pages 预览与 GitHub Pages 发布流程亦已接入。
是故今日之文档,已不惟“附于仓库”,而是成为项目对外表达、对内梳理与阶段归档之一部分。
五曰:发布与打包体系渐成章法
9.5 一线中,CI/CD 与打包流程亦有显著推进:
- Native 资产已按多 RID 形式组织至
runtimes/{rid}/native。 - 工作流拆分为
prepare、build-native、pack-nuget、build-demos、publish-release等阶段。 - 版本标准化、打包产物聚合与 NuGet 发布入口皆较
9.3时更为清楚。 - 本地开发、源码仓库构建与 NuGet 包依赖之间的关系,也通过
LVGLSharpNativePackageVersion等属性进一步收拢。
此举之益,在于项目已不只是“能编译”,而是开始具备较稳定之发布秩序。
由此观之,9.5 一线之实义
若概而言之,自 v9.3.0.5 至当前 9.5 线,项目完成了三件尤为关键之事:
- 自单体能力验证,进于多运行时分层。
- 自基础示例演示,进于示例、测试与截图并行验证。
- 自 README 说明,进于站点、路线图、变更日志与发布流程并举。
故 9.3 可视为“立本之阶段”,而 9.5 则更近于“成势之阶段”。
后续所向
当前 9.5 线虽已较 9.3 时大为拓展,然尚有数事仍在续进:
DRM/KMS尚待原生后端补齐。Headless路线尚宜继续扩大快照回归覆盖。macOS与 Remote 仍多属骨架与首轮验证形态,尚待进一步实装。- 已补入打包流程的
LVGLSharp.Runtime.Headless、LVGLSharp.Runtime.MacOs与LVGLSharp.Runtime.Remote,后续亦将进入正式 NuGet 发布节奏。
项目后续仍将沿此方向推进:既不轻弃 Forms 上层开发体验,亦不缓于运行时边界、自动化验证与发布秩序之建设。