- Avalonia 기반 백엔드를 통해 .NET MAUI 애플리케이션이 Linux 데스크톱과 브라우저(WebAssembly)에서 실행 가능해짐
- 기존 MAUI 코드베이스를 유지하면서 렌더링 계층을 Avalonia로 교체하여 성능 향상과 플랫폼 확장을 동시에 달성
- Ubuntu, Debian, Fedora 등 데스크톱 Linux와 임베디드 Linux, WebAssembly 환경에서 동일한 렌더링 엔진으로 동작
- Windows와 macOS에서도 성능 2배 이상 향상이 관찰되며, 플랫폼별 차이 없이 일관된 UI 제공
- MAUI 개발자에게 Linux·웹 지원과 예측 가능한 개발 사이클을 제공하며, Avalonia 생태계 확장의 기반이 되는 프로젝트
Avalonia MAUI Backend 개요
- Avalonia MAUI Backend는 MAUI 코드베이스를 유지한 채 Avalonia 렌더링 계층으로 대체하는 구조
- 기존 MAUI 앱을 Linux, 브라우저 등 추가 플랫폼으로 확장 가능
- 데스크톱 성능 향상과 플랫폼 일관성 확보
- 실제 데모는 WebAssembly 기반 MAUI 앱으로, 브라우저에서 플러그인 없이 실행 가능
- 초기 빌드이지만 MAUI가 주요 데스크톱 OS와 브라우저에서 동작함을 입증
주요 플랫폼 지원
-
데스크톱 Linux 지원
- Ubuntu, Debian, Fedora 등에서 1급 데스크톱 앱으로 실행
- Avalonia 렌더러를 사용해 고성능 데스크톱 앱 수준의 품질 제공
-
임베디드 Linux 지원
- Raspberry Pi 패널, 산업용 HMI 등 임베디드 장치에서 Avalonia와 동일한 백엔드로 실행
-
WebAssembly 지원
- 브라우저에서 네이티브 종속성 없이 실행되는 MAUI 앱 구현
- 향후 브라우저 배포가 가능한 수준으로 발전 예정
-
Windows 및 macOS 지원
- Avalonia의 성숙한 데스크톱 렌더링 구조와 통합
- macOS에서는 Mac Catalyst 대비 2배 이상 성능 향상 관찰
개발 효율성과 일관성
- Avalonia 팀은 단일 플랫폼(Avalonia) 만을 대상으로 개발
- iOS, Android, Windows, macOS, Linux, WebAssembly 각각의 별도 구현 불필요
- 플랫폼별 버그나 렌더링 차이 감소
- 동일한 렌더링 엔진을 사용하므로 모든 플랫폼에서 동일한 UI 표현
- 기능 추가나 버그 수정 시 모든 플랫폼에 즉시 반영
- 개발 주기 단축과 예측 가능한 품질 확보
Avalonia가 MAUI 백엔드를 구축하는 이유
- .NET 클라이언트 개발자 지원을 우선시하며, MAUI 사용자가 리눅스·브라우저 지원과 성능 개선을 얻을 수 있도록 함
- 이 프로젝트를 통해 Avalonia는 모바일 친화성, API 문제, 툴링 개선점을 학습
- MAUI 개발자가 Avalonia 렌더러와 기능을 경험함으로써 생태계 유입 효과 기대
- 목표는 MAUI를 대체하는 것이 아니라, 기존 MAUI 개발자에게 더 넓은 선택지 제공
MAUI 개발자에게의 의미
- MAUI 개발자들이 지속적으로 요청해온 Linux 지원과 일관된 드로잉 기반 UI 모델을 제공
- Avalonia는 다음과 같은 기능을 제공
- 하드웨어 가속 렌더링
- 일관된 레이아웃·스타일 시스템
- 고주사율 애니메이션
- 커스텀 렌더링 및 시각 효과
- 광범위한 플랫폼 커버리지
- 지속적 투자와 지원을 받는 플랫폼
- Unity, JetBrains, Schneider Electric 등 상용 환경에서 이미 사용 중
- 기존 MAUI 코드를 유지하면서 Linux·웹·데스크톱 성능 개선을 동시에 달성
성능 및 차세대 렌더링
- GPU 친화적 드로잉 UI 스택으로 네이티브 툴킷보다 높은 성능 확보
- Google Flutter 팀과 협력하여 Impeller GPU 렌더러를 .NET에 도입 중
- 이 기술이 적용되면 MAUI 백엔드도 렌더링 속도 향상, 배터리 절감, 부드러운 애니메이션을 상속받게 됨
향후 계획
- MAUI 엔지니어들과의 협업을 통해 백엔드 품질 개선 지속
- Linux와 브라우저 지원이 성숙 단계에 도달하면, MAUI가 진정한 멀티플랫폼 UI 프레임워크로 완성
- 안정화 이후 MIT 라이선스로 오픈소스 공개 예정
- 개발 진행 상황과 벤치마크, 프리뷰를 지속적으로 공유 예정