Avalonia & WPF 강좌 1강 (2023-03-16 목요일 21시)

컴퓨터를 새롭게 구입하고 세팅하느라 시간이 좀 지체 됐습니다.

2023-03-16 목요일 21시 유튜브 라이브 스트리밍으로 Avalonia & WPF 강좌를 시작합니다.
2시간 가량 진행할 계획이며 상황에 따라 조금 더 연장할 수도 있습니다.
유튜브 주소는 강좌 당일 공지하겠습니다.

강의할 내용은 Markdown 뷰어를 Avalonia와 WPF를 비교하면서 개발하는 과정을 보여줄 예정입니다.
강의에는 외부 라이브러리의 사용은 Markdown 출력과 Auto Property 지원을 위한 라이브러리만 사용될 예정이며 나머지 모든 기능은 직접 구현할 예정입니다.

강의에 포함될 내용은 다음과 같습니다.

  • 간편한 설정 지원
    앱을 커스터마이즈 하기 위해 필요한 설정을 매우 간편하게 지원합니다.

  • 간편한 다국어 지원
    Codeless 다국어 지원과 MarkupExtension을 이용한 다국어 지원 등을 직접 구현합니다.

  • Codeless 바인딩 지원
    코드 없이 컨트롤과 ViewModel간의 속성, 메서드를 바인딩 합니다.
    속성의 바인딩은 외부 nuget인 PropertyChanged.SourceGenerator를 이용해서 하고 메서드 바인딩은 직접 구현합니다.

  • Codeless 리소스 바인딩 지원
    코드 없이 Icon, InputGesture, Hokey, 다국어 지원 문자열 등 리소스를 컨트롤에 바인딩 하는 것을 직접 구현합니다.

  • 쉬운 UserControl 사용
    UserControl이 포함되면 데이터를 주고 받는 것이 번거롭게 됩니다.
    가장 쉽게 UserControl을 사용하는 방법을 직접 구현합니다.

  • 간편한 테마 지원
    Avalonia의 버전에 따라 Theme 지원의 방식이 계속 변경되고 있습니다.
    최신 버전과 이전 버전과도 차이가 있는데 최신 버전에 맞춰 직접 구현합니다.
    물론 커스텀으로 직접 만든 Theme 지원입니다.

  • 화면을 컴포넌트화 해서 자유롭게 배치하는 기능 지원
    비주얼 스튜디오 보면 배치를 마음먹은 데로 어디든지 할 수 있죠.
    타이틀 바를 포함한 모든 부분을 자유롭게 배치할 수 있는 방법을 직접 구현합니다.

알아둬야 할 사항은

  • WPF에 대해 어느 정도 익숙하지 않으면 Avalonia를 다루기가 쉽지 않습니다. 초심자에게는 추천하지 않습니다.
  • Avalonia 최신 버전(11.0.0-preview5)을 설치한 후 Avalonia .Net Core App으로 프로젝트를 만들어 정상 실행이 되는지 확인해 보기 바랍니다.
  • 커뮤니티 오픈 소스 프로젝트인 만큼 심각하지는 않지만 사소한 버그들이 꽤 존재합니다. 개발하면서 Avalonia Gihub를 수시로 방문해야 합니다.
  • 메이저 프레임워크 대비 참고 자료, 라이브러리가 적습니다. 본인이 직접 문제를 해결할 수 있는 능력이 있어야 합니다.

단점을 많이 나열했는데 그래도 Avalonia가 필요한 이유는 C#을 주언어로 하는 크로스 플랫폼 프레임워크 중 Avalonia가 최고이기 때문입니다.

C#으로 Windows, Linux, MacOS를 동시 지원하는 앱을 개발하기를 원한다면 Avalonia는 훌륭한 선택이 됩니다.

그리고 이제 Microsoft가 WPF를 직접적으로 발전시킬 의향이 없는 상황에서 미래를 생각한다면 Avalonia를 다뤄보는 것이 좋을거라 생각합니다.

15개의 좋아요

유튜브 주소는 강좌 당일 공지하겠습니다.

6개의 좋아요

기대됩니다!

3개의 좋아요

기대중입니다.ㅋ

3개의 좋아요

아바… 시작 해보려 합니다.
WPF 와 많이 달라 당황 하지나 않았으면 합니다.

3개의 좋아요

제가 아는 수준에 대해서는 WPF와 아발로니아는 크게 다르지 않습니다. (일단 WPF와 컨트롤이 거의 동일합니다)
다만 XAML의 Trigger가 없어서 CSS 방식으로 처리해야한다는 것 말고는 큰 차이점은 못 느꼈습니다.
사용자 지정 컨트롤도 없었던 것 같은데, 그것도 대안이 있었던 걸로 기억합니다.

4개의 좋아요

강의 주소는 어디에 올라오나요?

1개의 좋아요