ZYC.Framework
đ A highly extensible .NET WPF framework featuring ⨠Aspire integration and đ seamless Blazor interoperability for modern hybrid applications.
īģŋ
English |
æĨæŦčĒ |
įŽäŊ䏿 |
įšéĢ䏿 |
íęĩė´ |
ZYC.Framework
A high-performance, modular, and extensible desktop automation framework built with .NET 10 and WPF.
đ Overview
ZYC.Framework is a modern desktop automation solution that combines the expressive UI capabilities of WPF with the latest features of .NET 10. It is designed to simplify the development of complex automation systems through a modular architecture.
The project deeply integrates .NET Aspire for distributed application orchestration, and supports a hybrid approach with Blazor and WebView2, so you can choose between a Web-based UI and a native desktop experience as needed.
⨠Key Features
- Modular Architecture: Decoupled business logic with dynamic loading and independent development.
- Modern UI Experience: Built on WPF with support for multi-workspace and multi-tab interactions.
- Hybrid Development:
- WebView2 integration for embedding modern Web applications.
- Blazor integration to reuse Web components seamlessly in desktop scenarios.
- Cloud-Native Ready: Built-in .NET Aspire support to simplify service discovery, governance, and deployment.
- Batteries Included (Enterprise-Oriented):
- Task Management: Task scheduling and lifecycle management.
- Exception Handling: Robust global error capture and diagnostics.
- Localization: Built-in multi-language support for global-ready apps.
đ ī¸ Tech Stack
- Runtime: .NET 10 SDK
- UI Framework: WPF (Windows Presentation Foundation)
- Hybrid UI: WebView2 + Blazor
- Orchestration: .NET Aspire
- Architecture: Modular Monolith / Plugin-based
đ Quick Start
Please refer to the detailed guide:
đ Quick Start (quick-start.md)
Installation
Install the core package via NuGet:
dotnet add package ZYC.Framework.Alpha --version 1.2.3
Features
Core Framework
| Feature | Description |
|---|---|
| Modular Architecture | Organize features as modules with support for dynamic loading and extension. |
| Multi-Workspace Layout | Split, merge, reorder, and change workspace layout directions. |
| Multi-Tab Navigation | URI-based tab navigation with switching, restoration, and cross-workspace movement. |
| Extensible Menu System | Extension points for main menu, hamburger menu, title bar, status bar, and taskbar menus. |
| Notification System | Built-in Toast and Banner notifications for status and error feedback. |
| Interaction Utilities | Desktop interaction helpers such as BusyWindow, overlays, and drag-and-drop. |
| Hybrid UI Support | Embed web content using WebView2 and build hybrid UI with Blazor. |
| Configuration & State | Local persistence for configuration, application state, and task history. |
| Single Instance | Supports single-instance application startup control. |
| MCP Exposure | Automatically expose public framework and module capabilities as MCP tools. |
Built-in Modules
| Module | Description |
|---|---|
| About | Application metadata (version, author, description, copyright). |
| ApiReference | Built-in API documentation viewer. |
| CLI | Embedded terminal with command execution and parameter support. |
| FileExplorer | Embedded file explorer for directory browsing. |
| WebBrowser | Embedded browser for web and local content. |
| Language | Language switching and localization resource management. |
| Translator | Translation service integration. |
| Settings | Unified configuration management UI. |
| Secrets | Secure configuration editing and display. |
| TaskManager | Task queue, execution, pause/resume, cancel, and status tracking. |
| Update | NuGet-based version checking and update workflow. |
| NuGet | Package search, download, dependency handling, and caching. |
| ModuleManager | Install, enable, disable, and manage local or NuGet modules. |
| MCP.Server | Local MCP server exposing application capabilities. |
| Aspire | Aspire tool integration with service control and dashboard support. |
| Log | Logging infrastructure and log directory access. |
| BlazorDemo | Demonstrates Blazor Server integration. |
| Mock | Test module for validating framework capabilities. |
Development & Delivery
| Feature | Description |
|---|---|
| CLI Tools | Standalone CLI entry with module command extension support. |
| Module Scaffolding | Generate new modules and abstraction projects from templates. |
| Documentation Generation | Generate README and documentation templates. |
| NuGet Packaging | Build NuGet packages for framework and modules. |
| Installer Build | Build desktop installers for distribution. |
đ¸ UI Preview
Workspace View |
Multiple Tabs |
Multiple Workspaces |
Workspaces + Tabs |
Aspire Dashboard |
Blazor (with Auth) |
Exception Handling |
Task Manager |
đ License
This project is open-sourced under the MIT License.
đ Acknowledgements
This project uses (and/or references parts of implementations from) the following open-source projects:
- MahApps.Metro: UI framework.
- MdXaml: Markdown rendering.
- titanium-web-proxy: Proxy core.
- EasyWindowsTerminalControl: Terminal integration.
Licenses and copyrights belong to their respective authors.
This repository uses or references them in compliance with each project's license terms.
đ¤ Contributing
Issues and pull requests are welcome. If you have suggestions or found a bug, please open an issue or submit a PR.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found