이 레포지터리는 WPF 개발자를 위한 UnoPlatform 데스크톱 크로스플랫폼 애플리케이션 개발 샘플 프로젝트를 제공합니다. 다양한 UnoPlatform 샘플 프로젝트를 포함하고 있으며, WPF에서 UnoPlatform으로의 전환 및 아키텍처 전략을 학습할 수 있습니다.
이 레포지터리는 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 등 다양한 플랫폼에서 동일하게 동작하고, 플랫폼에 상관없이 동일한 프로젝트 설계를 구현하는 방법을 상세히 다룹니다.
UnoPlatform을 활용한 리그 오브 레전드 클라이언트의 고품질 재현 프로젝트입니다. 이 프로젝트는 UnoPlatform의 다양한 기술 구현에 대한 사례들을 포함하고 있으며, 대규모 프로젝트의 분산화 설계에 관한 폭넓은 기술적 접근을 보여줍니다.
리그 오브 레전드 클라이언트 (Uno-Platform) GitHub 레포지터리
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 프레임워크를 사용하여 다양한 플랫폼에서 동일하게 동작
-
대규모 프로젝트 아키텍처
- 모듈화 및 분산 시스템 설계
- 의존성 주입을 통한 느슨한 결합
- 플러그인 기반 확장 가능한 구조
-
고급 UnoPlatform 기술
- 다양한 CustomControl 구현
- MVVM 패턴의 실제 적용 사례
- 플랫폼 독립적인 설계
-
성능 최적화
- 효율적인 리소스 관리 및 메모리 사용
- 비동기 프로그래밍 패턴 적용
- 렌더링 최적화 기법
-
UI/UX 디자인
- 정교한 UI 재현을 위한 기술 학습
- 사용자 정의 애니메이션 및 전환 효과
- 동적 테마 시스템
-
프레임워크 설계
- 이벤트 기반 통신 시스템
- 상태 관리 패턴 구현
- 확장 가능한 네비게이션 시스템
- .NET 8.0
- UnoPlatform
- Jamesnet.Core (.NET Standard 2.0)
- Jamesnet.Uno
- Visual Studio 2022 이상
- .NET 8.0 SDK
- UnoPlatform 프로젝트 템플릿 설치
git clone https://github.com/jamesnet214/samples-uno.git
- Visual Studio
- Visual Studio Code
- JetBrains Rider
- 시작 프로젝트 설정
- F5를 누르거나 실행 버튼 클릭
이 레포지터리는 WPF 개발자들에게 귀중한 통찰력을 제공합니다:
- 복잡한 UI 재현: 정교한 사용자 인터페이스를 재현하는 기술 학습
- 커스텀 컨트롤 개발: UnoPlatform 커스텀 컨트롤 구축 과정 이해
- 실전 MVVM: 복잡한 애플리케이션에서 MVVM 패턴의 실제 구현 사례 확인
- 크로스플랫폼 아키텍처 설계: 플랫폼에 독립적인 프로젝트 설계 방법 학습
- 성능 최적화: 대규모 애플리케이션 최적화 전략 학습
UnoPlatform 샘플 프로젝트에 대한 기여를 환영합니다! 이슈를 제출하거나, 풀 리퀘스트를 생성하거나, 개선 사항을 제안해 주세요.
이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
- 웹사이트: https://jamesnet.dev
- 이메일: [email protected], [email protected]
이 레포지터리를 통해 WPF 개발자들이 UnoPlatform을 활용하여 크로스플랫폼 애플리케이션 개발의 새로운 지평을 열 수 있기를 바랍니다!