English | 日本語 | 简体中文 | 繁體中文 | 한국어 |

ZYC.Framework Logo

ZYC.Framework

一個基於 .NET 10WPF 構建的高效能、模組化、可擴充的桌面自動化框架。

NuGet Version NuGet Downloads .NET 10 Platform License

NuGet manual workflow Build nightly workflow


📖 專案概覽

ZYC.Framework 是一個現代化的桌面自動化解決方案,結合了 WPF 的高表現力 UI 能力與 .NET 10 的最新技術特性。其核心目標是透過模組化架構,降低複雜自動化系統的開發與維護成本。

本專案深度整合 .NET Aspire 以實現分散式應用程式的協調與管理,同時支援 BlazorWebView2 的混合架構,讓你可以依需求在 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)

👉 下載 Demo 安裝程式

建立專案

推薦的開始方式是全域 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 的執行時模組。
專案模板 選擇並理解 minimalmodular CLI 模板。
故障排查 診斷 CLI、模組載入、路由、NuGet 模組、Aspire 和終端問題。

功能

核心框架

功能 說明
模組化架構 支援模組化功能組織與動態載入。
多工作區佈局 支援工作區分割、合併與重新排列。
多分頁導航 基於 URI 的分頁導航與恢復。
可擴展選單 主選單、Hamburger 選單等擴展點。
通知系統 內建 Toast 與 Banner 通知。
互動輔助 BusyWindow、Overlay、拖放處理。
混合 UI WebView2 + Blazor 混合桌面應用。
設定與狀態 本地持久化設定與應用狀態。
單例執行 支援單實例應用啟動。
MCP 暴露 可將功能暴露為 MCP 工具。

內建模組

README 只保留高層功能概覽。目前模組清單、載入說明和模組職責請查看 內建模組

開發與交付

功能 說明
CLI 工具 命令列入口。
模組模板 快速建立新模組。
文件生成 README / Docs 生成。
NuGet 打包 NuGet 套件生成。
安裝包 桌面安裝程式建構。

📸 UI 預覽

workspace

工作區展示

multiple-tabs

多分頁展示

workspace-4

多工作區展示

workspace-4-tabs

工作區 + 分頁

aspire-dashboard

Aspire 儀表板

blazor-auth

Blazor(含驗證)

exception

例外處理

taskmanager

任務管理


📄 授權條款

本專案以 MIT License 授權並開源。


💖 致謝

本專案使用(或參考了部分實作)以下開源專案:

授權與著作權歸各專案原作者所有。 本倉庫對其使用與引用皆遵循各自的授權條款。


🤝 參與貢獻

歡迎提交 Issue 與 Pull Request。如果你有任何建議或發現問題,請隨時提出。