Skip to content

Latest commit

 

History

History
145 lines (93 loc) · 7.6 KB

README.ko.md

File metadata and controls

145 lines (93 loc) · 7.6 KB

UnoPlatform 샘플 프로젝트 모음

English 中文 한국어

이 레포지터리는 WPF 개발자를 위한 UnoPlatform 데스크톱 크로스플랫폼 애플리케이션 개발 샘플 프로젝트를 제공합니다. 다양한 UnoPlatform 샘플 프로젝트를 포함하고 있으며, WPF에서 UnoPlatform으로의 전환 및 아키텍처 전략을 학습할 수 있습니다.

License: MIT .NET Stars Forks Issues

프로젝트 소개

이 레포지터리는 WPF 개발자들이 UnoPlatform을 활용하여 데스크톱 크로스플랫폼 애플리케이션을 개발할 때 유용한 아키텍처 전략과 샘플 코드를 제공합니다. 다양한 UnoPlatform 샘플 프로젝트를 포함하고 있으며, WPF에서 UnoPlatform으로 전환하는 과정에서 필요한 핵심 기술과 패턴을 학습할 수 있습니다.

2008년부터 WPF 기술을 연구하고 경험을 쌓아왔으며, 그동안 Xamarin, MAUI, UnoPlatform, AvaloniaUI, OpenSilver 등 다양한 XAML 기반의 크로스플랫폼 기술이 발전해 왔습니다. 이를 통해 WPF에서 축적한 기술을 크로스플랫폼으로 확장할 수 있는 가능성이 열렸습니다.

이 레포지터리에서는 의존성 주입(DI), 프로젝트 분산화 및 모듈화, MVVM 패턴의 적용 등 핵심 아키텍처 기술을 중심으로 설명합니다. 또한 .NET Standard 2.0 기반의 Jamesnet.Core 프레임워크를 사용하여 WPF, UnoPlatform, WinUI 3 등 다양한 플랫폼에서 동일하게 동작하고, 플랫폼에 상관없이 동일한 프로젝트 설계를 구현하는 방법을 상세히 다룹니다.

샘플 프로젝트 목록

1. 리그 오브 레전드 클라이언트 (Uno-Platform)

UnoPlatform을 활용한 리그 오브 레전드 클라이언트의 고품질 재현 프로젝트입니다. 이 프로젝트는 UnoPlatform의 다양한 기술 구현에 대한 사례들을 포함하고 있으며, 대규모 프로젝트의 분산화 설계에 관한 폭넓은 기술적 접근을 보여줍니다.

리그 오브 레전드 클라이언트 (Uno-Platform) GitHub 레포지터리

2. UnoPlatform 자전거 대여소 관리자 애플리케이션

WPF 개발자를 위한 UnoPlatform 데스크톱 프로젝트 아키텍처 전략으로, 2024년 9월 26일 닷넷 밋업 세미나에서 발표된 내용입니다.

이 샘플 프로젝트에서는 UnoPlatform을 활용하여 자전거 대여소 관리 애플리케이션을 개발하는 과정을 단계별로 상세히 설명합니다. 이를 통해 WPF 개발자들이 UnoPlatform의 아키텍처와 개발 방법을 깊이 있게 이해하고, 기존의 WPF 프로젝트를 크로스플랫폼으로 전환하는 데 실질적인 도움을 얻을 수 있도록 구성하였습니다.

상세 기술 아티클

핵심 기술 스택

레포지터리 안에 프레임워크 소스코드가 모두 포함되어 있습니다.

  • Jamesnet.Core: .NET Standard 2.0 기반의 크로스플랫폼 코어 라이브러리
  • Jamesnet.Uno: UnoPlatform에 최적화된 UI 프레임워크

이 두 라이브러리는 WPF와 UnoPlatform 모두에서 동일하게 사용 가능하며, 대규모 프로젝트의 아키텍처 설계에 필요한 모든 핵심 기능을 포함하고 있습니다.

주요 특징

  • 의존성 주입(DI): 객체 간의 결합도를 낮추고, 테스트 가능성과 확장성을 높이는 아키텍처 구현
  • 프로젝트 분산화 및 모듈화: 코드 복잡성 감소, 팀 협업 향상, 코드 재사용성 증가
  • MVVM 패턴 적용: 뷰와 비즈니스 로직을 분리하여 코드의 응집도를 높이고 유지보수성 향상
  • 플랫폼 독립적 설계: .NET Standard 2.0 기반의 Jamesnet.Core 프레임워크를 사용하여 다양한 플랫폼에서 동일하게 동작

주요 기능 및 구현 사항

  1. 대규모 프로젝트 아키텍처

    • 모듈화 및 분산 시스템 설계
    • 의존성 주입을 통한 느슨한 결합
    • 플러그인 기반 확장 가능한 구조
  2. 고급 UnoPlatform 기술

    • 다양한 CustomControl 구현
    • MVVM 패턴의 실제 적용 사례
    • 플랫폼 독립적인 설계
  3. 성능 최적화

    • 효율적인 리소스 관리 및 메모리 사용
    • 비동기 프로그래밍 패턴 적용
    • 렌더링 최적화 기법
  4. UI/UX 디자인

    • 정교한 UI 재현을 위한 기술 학습
    • 사용자 정의 애니메이션 및 전환 효과
    • 동적 테마 시스템
  5. 프레임워크 설계

    • 이벤트 기반 통신 시스템
    • 상태 관리 패턴 구현
    • 확장 가능한 네비게이션 시스템

기술 스택

  • .NET 8.0
  • UnoPlatform
  • Jamesnet.Core (.NET Standard 2.0)
  • Jamesnet.Uno

시작하기

필요 조건

  • Visual Studio 2022 이상
  • .NET 8.0 SDK
  • UnoPlatform 프로젝트 템플릿 설치

설치 및 실행

1. 리포지터리 클론:

git clone https://github.com/jamesnet214/samples-uno.git

2. 솔루션 열기

  • Visual Studio
  • Visual Studio Code
  • JetBrains Rider

3. 프로젝트 빌드 및 실행

  • 시작 프로젝트 설정
  • F5를 누르거나 실행 버튼 클릭

학습 기회

이 레포지터리는 WPF 개발자들에게 귀중한 통찰력을 제공합니다:

  1. 복잡한 UI 재현: 정교한 사용자 인터페이스를 재현하는 기술 학습
  2. 커스텀 컨트롤 개발: UnoPlatform 커스텀 컨트롤 구축 과정 이해
  3. 실전 MVVM: 복잡한 애플리케이션에서 MVVM 패턴의 실제 구현 사례 확인
  4. 크로스플랫폼 아키텍처 설계: 플랫폼에 독립적인 프로젝트 설계 방법 학습
  5. 성능 최적화: 대규모 애플리케이션 최적화 전략 학습

기여하기

UnoPlatform 샘플 프로젝트에 대한 기여를 환영합니다! 이슈를 제출하거나, 풀 리퀘스트를 생성하거나, 개선 사항을 제안해 주세요.

라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

연락처

이 레포지터리를 통해 WPF 개발자들이 UnoPlatform을 활용하여 크로스플랫폼 애플리케이션 개발의 새로운 지평을 열 수 있기를 바랍니다!