AI 요약
Avalonia가 Avalonia 12 및 .NET 11 프리뷰 출시와 더불어 .NET MAUI를 위한 Avalonia 백엔드의 첫 번째 프리뷰를 발표했습니다. 이번 업데이트의 핵심은 그동안 .NET MAUI가 공식적으로 지원하지 않았던 리눅스(Linux)와 웹어셈블리(WASM) 환경에서도 MAUI 앱을 실행할 수 있도록 지원하는 것입니다. Avalonia의 그리기(Drawn) 기반 UI 방식을 활용하여 모든 플랫폼에서 일관된 사용자 경험을 제공하며, 특히 Avalonia 12에서는 .NET MAUI와의 간극을 메우기 위해 개발된 새로운 탐색(Navigation) API와 컨트롤들이 대거 도입되었습니다. 개발자는 복잡한 부트스트래퍼 작성 없이 간단한 NuGet 패키지 설정만으로 프로젝트를 시작할 수 있습니다. 이는 .NET 생태계 내에서 크로스 플랫폼 UI 개발의 유연성을 극대화하고, 네이티브 UI와 일관된 드로잉 UI 사이의 선택지를 넓혀준다는 점에서 큰 의의가 있습니다.
핵심 인사이트
- 플랫폼 확장: .NET MAUI 앱을 리눅스(Linux) 및 웹어셈블리(WASM) 플랫폼으로 배포할 수 있는 신규 백엔드 프리뷰 공개.
- 기술 기반: .NET 11(
net11.0) 타겟 프레임워크와Avalonia.Controls.Maui.DesktopNuGet 패키지를 통해 구동. - 신규 API 도입: .NET MAUI 지원 과정에서 탄생한 새로운 탐색(Navigation) API와 컨트롤 세트가 Avalonia 12에 정식 포함됨.
- 실전 검증: MauiPlanets, 2048 게임, 그리고 Jakub Florkowski와 GitHub Copilot이 협업한 'AlohaAI' 앱 등을 통해 기능 및 성능 검증 완료.
주요 디테일
- 간편한 연동:
MauiBuilder에UseAvaloniaApp메서드를 추가하는 4단계의 간단한 과정으로 기존 MAUI 앱에 Avalonia 백엔드 적용 가능. - 일관된 UI: Avalonia는 화면을 직접 그리는 방식(Entirely drawn)을 사용하므로 배포하는 모든 플랫폼에서 픽셀 단위로 동일한 디자인을 보장함.
- 커스터마이징 유연성: .NET MAUI 핸들러가 Avalonia 프리미티브를 기반으로 구축되어, Avalonia API를 사용한 완전한 커스터마이징이 가능하며 필요시 소스 생성기를 제어할 수 있음.
- 대규모 앱 테스트: .NET MAUI 리포지토리의 'Control Gallery'를 WASM 환경 등에서 테스트하여 네이티브 버전과 대등하거나 능가하는 성능 구현을 목표로 함.
- 개발자 제어권: 원할 경우 Avalonia 측의 소스 생성기를 확장하거나 비활성화할 수 있는 옵션을 제공하여 고급 개발자의 제어권을 보장함.
향후 전망
- 리눅스 생태계 지원 강화: 공식 지원이 부족했던 리눅스 환경에서 .NET 기반 데스크톱 앱의 활용도가 비약적으로 높아질 전망.
- 프레임워크 간 통합 가속화: Avalonia와 .NET MAUI의 기술적 결합을 통해 향후 더 강력한 크로스 플랫폼 개발 도구로 진화할 가능성.
출처:hackernews
