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

ZYC.Framework Logo

ZYC.Framework

.NET 10WPF를 기반으로 구축된 고성능, 모듈화, 확장 가능한 데스크톱 자동화 프레임워크입니다.

NuGet Version NuGet Downloads .NET 10 Platform License

NuGet manual workflow Build nightly workflow


📖 개요

ZYC.FrameworkWPF의 표현력 있는 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.ko.md)

👉 데모 설치 프로그램 다운로드

프로젝트 생성

권장 시작 방식은 전역 dotnet tool입니다. CLI를 설치하거나 업데이트한 뒤 zyc new로 호스트 프로젝트를 만듭니다:

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

문서

가이드 목적
빠른 시작 프로젝트를 만들고 수동 생성 대체 흐름을 이해합니다.
아키텍처 시작, 모듈 로딩, 구성, 탐색, 런타임 서비스를 이해합니다.
탐색과 워크스페이스 URI 탐색, 탭, 워크스페이스, 복원 타이밍을 다룹니다.
확장 지점 모듈이 호스트를 확장할 수 있는 공개 지점을 확인합니다.
내장 모듈 내장 모듈과 주요 책임을 확인합니다.
모듈 개발 계약, ModuleBase, 메뉴, 탭을 포함한 런타임 모듈을 만듭니다.
프로젝트 템플릿 minimalmodular CLI 템플릿을 선택하고 이해합니다.
문제 해결 CLI, 모듈 로딩, 라우팅, NuGet 모듈, Aspire, 터미널 문제를 진단합니다.

기능

핵심 프레임워크

기능 설명
모듈 아키텍처 기능을 모듈 단위로 구성하고 동적 확장을 지원합니다.
멀티 워크스페이스 워크스페이스 분할, 병합, 재배치 지원.
멀티 탭 탐색 URI 기반 탭 탐색 및 복원.
확장 가능한 메뉴 메인 메뉴 및 다양한 UI 확장 지점 제공.
알림 시스템 Toast 및 Banner 알림 제공.
UI 인터랙션 BusyWindow, Overlay, Drag & Drop 지원.
하이브리드 UI WebView2 + Blazor 기반 UI.
설정 및 상태 설정과 상태 로컬 저장.
단일 인스턴스 단일 인스턴스 실행 지원.
MCP 노출 MCP 도구로 기능 노출 가능.

내장 모듈

README에는 높은 수준의 기능 요약만 유지합니다. 현재 모듈 목록, 로딩 참고 사항, 모듈 책임은 내장 모듈을 참고하세요.

개발 및 배포

기능 설명
CLI 도구 명령줄 인터페이스.
모듈 템플릿 새 모듈 생성 템플릿.
문서 생성 README / 문서 생성.
NuGet 패키징 NuGet 패키지 빌드.
설치 프로그램 데스크톱 설치 프로그램 빌드.

📸 UI 미리보기

workspace

워크스페이스 보기

multiple-tabs

다중 탭 표시

workspace-4

다중 워크스페이스

workspace-4-tabs

워크스페이스 + 탭

aspire-dashboard

Aspire 대시보드

blazor-auth

Blazor (인증 포함)

exception

예외 처리

taskmanager

작업 관리자


📄 라이선스

본 프로젝트는 MIT License 하에 오픈소스로 제공됩니다.


💖 감사의 말

본 프로젝트는 다음 오픈소스 프로젝트를 사용하거나(또는 일부 구현을 참고하였습니다):

라이선스 및 저작권은 각 프로젝트의 원저작자에게 귀속됩니다. 본 저장소는 각 프로젝트의 라이선스 조건을 준수하여 사용 및 참조합니다.


🤝 기여하기

Issue 및 Pull Request를 환영합니다. 제안 사항이나 버그를 발견하셨다면 언제든지 Issue를 열거나 PR을 제출해 주세요.