픽셀 완벽함. 다중 플랫폼. C# 및 Windows XAML. 오늘.
Uno 플랫폼이란 무엇입니까?
Uno 플랫폼은 단일 코드베이스 네이티브 모바일, 웹, 데스크톱 및 임베디드 앱을 빠르게 구축하기 위한 오픈 소스 플랫폼입니다.
이를 통해 C#, WinUI XAML 및/또는 C# 코드를 모든 대상 플랫폼에서 실행하는 동시에 모든 픽셀을 제어할 수 있습니다. Fluent, Material 및 Cupertino 디자인 시스템을 기본적으로 지원합니다. Uno 플랫폼은 Microsoft.UI.Xaml 과 같은 점점 더 많은 수의 WinRT 및 WinUI API를 구현하여 WinUI 응용 프로그램이 기본 성능으로 모든 플랫폼에서 실행될 수 있도록 합니다.
Visual Studio에서 Windows의 WinUI 도구(예: XAML Hot Reload 및 C# Hot Reload)를 사용하고 가능한 한 Windows에서 애플리케이션을 빌드한 다음 애플리케이션이 iOS, Android, macOS 및 WebAssembly에서 실행되는지 확인하세요.
자세한 내용은 설명서를 참조하세요.
시작하기
Visual Studio, Visual Studio Code 또는 JetBrains Rider를 시작하려면 전체 시작 가이드를 참조하세요.
더 큰 예와 기능 데모를 보려면:
- Uno 갤러리 저장소를 방문하세요.
- 브라우저에서 WebAssembly Uno Playground를 라이브로 사용해 보세요.
Uno 플랫폼 기능
- 지원되는 플랫폼:
- 윈도우 10과 윈도우 11
- Windows 7(Skia Desktop을 통해)
- iOS, MacOS(Catalyst) 및 Android(.NET을 통해)
- .NET 런타임 WebAssembly SDK를 통한 WebAssembly
- Linux(X11 및 FrameBuffer가 포함된 Skia Desktop을 통해)
- macOS(Skia Desktop을 통해)
- 개발 루프:
- Visual Studio를 사용하여 Windows에서 먼저 개발
- 각 키 입력 시 라이브 XAML 버전을 위한 XAML 핫 다시 로드
- Windows(VS2022/Rider/VS Code), Linux 및 macOS(VS Code/Rider)의 C# 핫 리로드
- 가능한 한 늦게 다른 플랫폼에서 유효성을 검사하세요.
- VS Code, Rider, Codespaces 또는 GitPod에서 개발
- WebAssembly, Linux, iOS 및 Android용 XAML 및/또는 C# 핫 리로드
- Uno.UITest는 WebAssembly, iOS 및 Android용 크로스 플랫폼 UI 테스트를 생성하는 라이브러리입니다.
- 크로스 플랫폼 컨트롤:
- 컨트롤 템플릿
- 데이터 템플릿
- 스타일링
- 풍부한 애니메이션
- WinUI/UWP 코드 지원:
- Windows 커뮤니티 도구 키트
- Windows 커뮤니티 도구 키트(Uno Fork)
- 커뮤니티 툴킷 MVVM
- Microsoft XAML 동작
- 프리즘
- 스키아샤프
- SkiaSharp.확장
- ReactiveUI 공식
- WindowsStateTrigger
- Rx.NET
- ColorCode-유니버설
- LibVLCSharp
- 지도UI
- 라이브 차트
- 모든 UWP 프로젝트
- 반응형 디자인:
- 시각적 상태 관리자
- 상태 트리거
- 적응형 트리거
- 플랫폼별:
- 조건부 XAML을 통한 기본 컨트롤 및 속성
- 기존 Xamarin iOS/Android 라이브러리 모두 사용 가능
- Xamarin.Forms 렌더러:
- Xamarin.Forms용 Uno 플랫폼 WebAssembly 렌더러
라이브 웹어셈블리 앱
다음은 Uno Platform for WebAssembly로 제작된 라이브 앱 목록입니다.
- Uno 플랫폼 놀이터(출처).
- Uno 갤러리는 Fluent 및 Material 지침의 사용을 보여줍니다.
- NuGet 패키지 탐색기(소스).
- Uno 계산기는 Windows와 함께 제공되는 간단하면서도 강력한 iOS/Android/WebAssembly C# 계산기 포트입니다(출처). 또한 iOS 버전, Android 버전, Linux 버전을 사용해 보세요.
- 커뮤니티 툴킷 연구소 앱
- Uno 플랫폼용 SkiaSharp 포크인 Skia는 Google의 Skia 그래픽 라이브러리(소스)를 기반으로 하는 .NET 플랫폼용 크로스 플랫폼 2D 그래픽 API입니다.
- Uno.WindowsCommunityToolkit(소스).
- Roslyn 기반 C# 분석 도구인 Uno.RoslynQuoter(출처)
- SQLite + Entity Framework Core 앱은 브라우저 내 데이터베이스를 조작하기 위한 Roslyn, Entity Framework Core, SQLite 및 Uno 플랫폼의 조합을 보여주는 데모입니다.
- WebAssembly AOT RayTracer.
앱을 공개적으로 제공한 경우 알려주시면 여기에 나열하겠습니다!
질문이 있으신가요? 기능 요청이 있으신가요? 문제가 있나요?
FAQ를 방문하고, 이슈를 생성하고, GitHub 토론을 열거나, Discord 서버를 방문하세요. 엔지니어링 팀과 커뮤니티가 도움을 드릴 수 있습니다.
기여
WinRT 및 WinUI API는 꽤 크기 때문에 Uno 플랫폼에 기여할 수 있는 방법은 많습니다! 개발 프로세스와 버그 수정 및 개선 제안 방법에 대해 알아보려면 기여 가이드를 읽어보세요. 기여 방법에 대한 도움을 받으려면 Discord를 방문하세요!
GitPod.io를 사용하여 브라우저에서 Uno에 기여하세요. 여기 가이드를 따르세요.
기여자
훌륭한 사람들에게 감사드립니다. (contrib.rocks로 만든 목록):
? 감사합니다.