안녕하세요. 취미 프로그래머입니다.
iOS앱은 10년전에 네이티브로 만들고 출시도해봤는데 시간이 지나서 기억이 하나도 안나요.
닷네코어 웹은 좀 공부를 하다가, MAUI를 공부하려는데 자료가 너무 없네요. 특히 실용적인 강의는 더욱 없는 것같고 소개나 초보수준에 머물러있어요 (영어권 포함)
학습하기 힘든점이 UI를 만드는 다양한 방법을 저마다의 다양한 방식으로 제시하는데 일단 방법이 너무 많습니다.
XAML 이 그나마 많은데 별로 좋은 방식이 아닌것같아요. 과거 닷넷개발자에겐 익숙할련지 몰라도요.
Blazor 웹앱으로 UI를 만드는 방식도 있고
Blazor Bindings 로 razor 문법써서 네이티브로 하는 것도 있고
C# markup (태그)도 있고 , 순수 C#도 있고.
Uno 플랫폼도 있고…
방법은 다양하지만 그 어느하나 진지한 사람들이 없는 느낌이네요. 앱개발 트렌드에 맞춰서 C# markup 이 어떨까 하는데 소개 수준이 자료뿐이군요.
MAUI는 플러터나 다른 기술에 비해서는 천천히 발전하고 있습니다. XAML에 익숙하지 않은 개발자들에게는 어려운 기술은 맞는것 같습니다.
하지만 XAML을 조금 배워보시면, XAML이 좋은 방식이 아닌것 같다는 생각은 조금 달라지실수 있을 것 같아요. 닷넷개발자라면 윈도우 개발자분들이 많고 윈도우에서 XAML은 피할수 없기도 하지만 잘 알고쓰면 커스터마이징이 정말 좋은 GUI 기술입니다.
제가 추천드리는 방식은 MAUI로 xaml에 대해서 배우기보다는 WPF나 Avalonia쪽을 보시면서 xaml에 대해서 보시는걸 더 추천드리고, Blazor쪽은 웹 프론트엔드로써 의미가 있습니다. 전 다 의미가 있다고 보는데 UNO쪽은 제가 찍어먹어보지도 않아서 뭐라고 얘기드릴수가 없습니다.
뭐… 닷넷데브에서도 자주 나오는 주제이긴 한데, 과도기에 있다… 라고 생각이 됩니다.
MAUI에서도 그렇겠지만 blazor 분야에서도 버전별로 급격한 변경 사항이 있는 편입니다…
다만 제가 확실하게 깨닳은 것은 MS계열에서 오픈소스를 따라가려면 정말 한 단계 이전의 LTS만 써야겠구나… 하는겁니다ㅎㅎ
누군가 "야! .NET 8.0 새로운 컴포넌트 나왔대! " 하더라도 그래…? 하고서 6.0을 계속 하는거죠…
아, 물론 저만 그럴수도 있습니다.
XAML이 자유도 높은 UI를 만드는데는 상당히 좋습니다.
단지, 자유도가 너~무~ 높다보니 초보들은 물론 왠만한 중급자들도 버거워한다는게 문제죠.
그래도 꼭 C# MAUI로 앱을 만들어야된다면 척박한 MSDN과 오래된 블로그 글, 외국 유튜버들 영상보고 독학으로 공부해야되고, 아니면 한글 서적과 관련 정보가 많은 Flutter 공부하세요.
제 개인적인 생각은 XAML 자체가 클래스 객체로 되어있기 때문에 HTML과는 사상적으로 다르기 때문에 WPF, 그리고 XAML을 기반으로 하고 있는 플랫폼(UWP, Win UI3, Xamarin, MAUI, AvaloniaUI, Uno 등)을 시작할 때 많이들 러닝커브를 느낍니다.
제가 WPF의 바이블인 찰스패졸드 책을 추천하는 이유는, 그 점을 명확하게 지적하고 있기 때문입니다.
천 페이지가 넘는 방대한 내용을 통해 XAML도 결국 C#이라는 것을 강조하고 있죠.
Applications = Code + Markup
이미 20년 다 되어가는 책이기에 지금의 개발 트랜드를 배울 수는 없지만 XAML을 어떻게 받아들여야하는지에 대해 충실하게 이야기하고 있습니다.
DataBinding 또한 XAML의 일부라고 생각합니다. 물론 이 또한 클래스이죠, XAML을 클래스로 받아들이고 접근한다면 XAML기반의 플랫폼을 이해하기에 좀 더 수월할 것이라 기대됩니다.