2024년 10월 17일 목요일 (13:30~18:00) (주)하이비전에서 진행된 4시간 30분 동안의 세미나입니다.
WPF 프로젝트 아키텍처를 중심으로, UnoPlatform을 활용한 MacOS, Linux 환경으로의 크로스플랫폼 확장 전략까지 심도있게 다루었습니다.
- 강연자: 이재웅 Microsoft MVP, 구양 Microsoft MVP
- 깃허브: https://github.com/jamesnet214, https://github.com/vickyqu115
- XAML-Based 크로스플랫폼 전환 전략
- 프레임워크, 라이브러리
- MVVM
- Resources
- CustomControl
- Template
- ContentPrsenter
- ItemsControl 설계
- TreeViewItem 재귀적 계층 설계
- 프로젝트 분산화 설계
- 프레임워크 버전 선택 전략
- Bootstrapper 설계
- 뷰/컨트롤 모듈화 전략
- 뷰 주입 설계
- MenuManager 설계 전략
- 공용 라이브러리 설계 전략
- 커스텀 의존성주입 설계 전략
- 참고 자료 활용 및 학습 연구 전략
- WPF 기반에서 UnoPlatform으로 전환하기 위한 전략
각각의 파트는 아래의 세부 항목들을 다루고 있습니다. 어떠한 내용을 다루었는지 한눈에 볼 수 있습니다.
- WPF
Silverlight- Xamarin (C)
- UWP
- WinUI3
- MAUI (C)
- UnoPlatform (C)
- AvaloniaUI (C)
- OpenSilver (C)
- Prism.Unity
- CommunityToolkit.Mvvm
- DataContext
- Binding
- Application
- Resources
- ResourceDictionary
- StaticResource
- DynamicResource
- Control
- ContentCoontrol
- ItemsControl
- ControlTemplate
- DataTemplate
- Content
- COntentPresenter
- GetContainerForItemOVerride
- ItemsPresenter
- Recursive ItemsSource
- 이벤트 방식
- Framework/Core
- 필수 라이브러리
- 프로젝트 종속성 체계
- Application
- .NET Standard 2.0
- 공용 라이브러리 전략
- 의존성주입
- MVVM
- 뷰 주입
- 등등...
- 의존성주입 등록
- 싱글턴/인스턴스
- 뷰 주입
- 뷰모델 관계 등록
- 프로젝트 분산화 전략
- 싱글턴 등록
- 프로젝트 폴더 구조
- 확장성 고려
- 불변 구조 응용
- WPFContent
- ContentControl
- 싱글턴 관리
- 뷰 주입 (Bootstrapper)
- 뷰 주입 (예약, Mapping)
- 메뉴 구현 컨트롤 방식
- 비계층형 모듈화
- 프로젝트 분산화
- 효율적인 로직 분산 및 관리
- 뷰 주입 (즉시, Show)
- 싱글턴 관리
- 관리 중앙화
- 의존성 주입 및 콜백 활용
- 역할
- 확장에 강한 폴더 구조
- 인터페이스
- 프로젝트 종속성
- Reflecction
- 뷰모델
- 뷰
- 싱글턴/인스턴스
- 논리적 분산화
- 느슨한 UI 계층 형성
- 정해진 패턴이 아닌 목적과 필요에 따른 아키텍트 설계
- Layer 중첩 활용
- UI 계층을 무시한 유연한 구성
- 새로운 패턴, 유연한 대처
- 규모와 사이즈에 따라 변화하는 프로젝트 분산화
아래는 이번에 진행했던 세미나와 관련된 참고 자료 항목들입니다.