최근 수정 시각 : 2025-12-13 17:24:14

Uno Platform

Uno Platform
파일:uno-logo-tm-light.svg파일:uno-logo-tm-dark.svg
<colbgcolor=#fff,#1c1d1f><colcolor=#242424,#FFFFFF> 종류 GUI 프레임워크
라이선스 아파치 라이선스
파일:홈페이지 아이콘.svg | 파일:GitHub 아이콘.svg파일:GitHub 아이콘 화이트.svg

1. 개요2. 특징3. 구조

1. 개요

.NET크로스 플랫폼 GUI 프레임워크이다. WinUI 3 API와 호환되는 API를 제공하며[1], Avalonia UI.NET MAUI와 비슷하다.

2. 특징

  • 렌더러를 Skia 또는 Native로 둘 중 하나를 선택할수 있다.
    • Skia 렌더러를 사용할 경우 모든 플랫폼에서 전체 UI를 직접 그리므로 디자인 일관성을 갖출수 있게된다.
    • Native 렌더러를 사용할 경우 Windows 10/11[2], 웹[3], iOS, Android 각각 변환 가능한 컨트롤들은 네이티브 요소로 변환된다. 이외엔 Skia 렌더러를 사용한다.
  • .NET Native AOT를 지원한다.
  • 머티리얼 디자인플루언트 디자인[4]이 적용된 컨트롤을 제공한다.
  • 거의 대부분의 플랫폼[5]을 지원하는 앱을 개발할 수 있다.
  • Windows 10-11에 한해서 WinUI를 지원한다. 또한, AcrylicMica 효과를 사용할 수 있다.[6]
  • XAML 없이 C#만으로 개발하는 것도 가능하다.[7]

3. 구조

파일:high-level-architecture-diagram.png
[1] 하지만 앱이 항상 WinUI 3 기반인건 아닌데, 후술할 Natvie 렌더러로 Windows 10/11로 빌드할때만 기반이 되며, 다른 플랫폼은 Uno가 호환되도록 짜맞춘다.[2] WinUI를 그대로 사용한다.[3] XAML을 HTML로 변환[4] 허나 Windows 10-11에서만 Fluent Design이 제대로 적용될뿐, 다른 플랫폼에서는 어딘가 엉성한 컨트롤로 대체된다.[5] Windows 7~11, MacOS, Linux, Android, iOS, Web 등이 있다.[6] 이는 렌더러와 상관없이 Arcylic, Mica 효과는 dwm.exe가 합성해주기 때문이다.[7] 이는 Avalonia UI도 마찬가지이다.