English | 日本語 | 简体中文 | 繁體中文 | 한국어 |
ZYC.Framework
一個基於 .NET 10 與 WPF 構建的高效能、模組化、可擴充的桌面自動化框架。
📖 專案概覽
ZYC.Framework 是一個現代化的桌面自動化解決方案,結合了 WPF 的高表現力 UI 能力與 .NET 10 的最新技術特性。其核心目標是透過模組化架構,降低複雜自動化系統的開發與維護成本。
本專案深度整合 .NET Aspire 以實現分散式應用程式的協調與管理,同時支援 Blazor 與 WebView2 的混合架構,讓你可以依需求在 Web UI 與原生桌面體驗之間自由取捨。
✨ 主要特性
- 模組化架構:業務邏輯高度解耦,支援動態載入與獨立開發。
- 現代化 UI 體驗:基於 WPF,支援 多工作區 與 多分頁 操作模式。
- 混合式開發:
- 整合 WebView2,可嵌入現代 Web 應用程式。
- 整合 Blazor,在桌面應用中重用 Web 元件。
- 雲原生就緒:內建 .NET Aspire 支援,簡化服務探索、治理與部署流程。
- 內建企業級能力(Batteries Included):
- 任務管理:任務排程與完整的生命週期管理。
- 例外處理:健全的全域錯誤捕捉與診斷機制。
- 在地化支援:內建多語系架構,支援全球化應用需求。
🛠️ 技術棧
- Runtime: .NET 10 SDK
- UI Framework: WPF (Windows Presentation Foundation)
- Hybrid UI: WebView2 + Blazor
- Orchestration: .NET Aspire
- Architecture: Modular Monolith / Plugin-based
🚀 快速開始
請參閱完整指南:
👉 快速開始指南 (quick-start.zh-TW.md)
建立專案
推薦的開始方式是全域 dotnet tool。先安裝或更新 CLI,然後透過 zyc new 建立 Host 專案:
dotnet tool install --global ZYC.Framework.CLI --version 1.4.3
dotnet tool update --global ZYC.Framework.CLI --version 1.4.3
zyc new MyCompany.Tools --template minimal
如果需要手動整合,仍然可以透過 NuGet 直接加入核心套件:
dotnet add package ZYC.Framework.Alpha --version 1.4.3
說明文件
| 指南 | 用途 |
|---|---|
| 快速開始 | 建立專案,並了解手動建立的備用流程。 |
| 架構 | 理解啟動、模組載入、設定、導航和執行時服務。 |
| 導航與 Workspace | 處理 URI 導航、Tab、Workspace 和還原時機。 |
| 擴充點 | 查看模組可以擴充 Host 的公開位置。 |
| 內建模組 | 查看內建模組及其主要職責。 |
| 模組開發 | 建構包含契約、ModuleBase、選單和 Tab 的執行時模組。 |
| 專案模板 | 選擇並理解 minimal 與 modular CLI 模板。 |
| 故障排查 | 診斷 CLI、模組載入、路由、NuGet 模組、Aspire 和終端問題。 |
功能
核心框架
| 功能 | 說明 |
|---|---|
| 模組化架構 | 支援模組化功能組織與動態載入。 |
| 多工作區佈局 | 支援工作區分割、合併與重新排列。 |
| 多分頁導航 | 基於 URI 的分頁導航與恢復。 |
| 可擴展選單 | 主選單、Hamburger 選單等擴展點。 |
| 通知系統 | 內建 Toast 與 Banner 通知。 |
| 互動輔助 | BusyWindow、Overlay、拖放處理。 |
| 混合 UI | WebView2 + Blazor 混合桌面應用。 |
| 設定與狀態 | 本地持久化設定與應用狀態。 |
| 單例執行 | 支援單實例應用啟動。 |
| MCP 暴露 | 可將功能暴露為 MCP 工具。 |
內建模組
README 只保留高層功能概覽。目前模組清單、載入說明和模組職責請查看 內建模組。
開發與交付
| 功能 | 說明 |
|---|---|
| CLI 工具 | 命令列入口。 |
| 模組模板 | 快速建立新模組。 |
| 文件生成 | README / Docs 生成。 |
| NuGet 打包 | NuGet 套件生成。 |
| 安裝包 | 桌面安裝程式建構。 |
📸 UI 預覽
工作區展示 |
多分頁展示 |
多工作區展示 |
工作區 + 分頁 |
Aspire 儀表板 |
Blazor(含驗證) |
例外處理 |
任務管理 |
📄 授權條款
本專案以 MIT License 授權並開源。
💖 致謝
本專案使用(或參考了部分實作)以下開源專案:
- MahApps.Metro: UI 框架。
- MdXaml: Markdown 呈現。
- titanium-web-proxy: 代理核心。
- EasyWindowsTerminalControl: 終端機整合。
授權與著作權歸各專案原作者所有。 本倉庫對其使用與引用皆遵循各自的授權條款。
🤝 參與貢獻
歡迎提交 Issue 與 Pull Request。如果你有任何建議或發現問題,請隨時提出。