| Uno Platform | |
| | |
| <colbgcolor=#fff,#1c1d1f><colcolor=#242424,#FFFFFF> 종류 | GUI 프레임워크 |
| 라이선스 | 아파치 라이선스 |
| | |
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를 지원한다. 또한, Acrylic 및 Mica 효과를 사용할 수 있다.[6]
- XAML 없이 C#만으로 개발하는 것도 가능하다.[7]
3. 구조
[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도 마찬가지이다.