Пиксель-Идеально. Мультиплатформенность. C# и Windows XAML. Сегодня.
Что такое платформа Уно?
Платформа Uno — это платформа с открытым исходным кодом для быстрого создания единой кодовой базы собственных мобильных, веб-, настольных и встроенных приложений.
Он позволяет запускать код C# и WinUI XAML и/или C# на всех целевых платформах, позволяя вам контролировать каждый пиксель. Он поставляется с поддержкой систем проектирования Fluent, Material и Cupertino «из коробки». Платформа Uno реализует растущее число API-интерфейсов WinRT и WinUI, таких как Microsoft.UI.Xaml , чтобы позволить приложениям WinUI работать на всех платформах с собственной производительностью.
Используйте инструменты WinUI из Windows в Visual Studio, такие как горячая перезагрузка XAML и горячая перезагрузка C#, создайте максимально возможное количество приложений в Windows, а затем убедитесь, что ваше приложение работает на iOS, Android, macOS и WebAssembly.
Посетите нашу документацию для получения более подробной информации.
Начиная
Ознакомьтесь с полными руководствами по началу работы, чтобы начать работу с Visual Studio, Visual Studio Code или JetBrains Rider.
Более крупный пример и демонстрация функций:
- Посетите репозиторий Uno Gallery.
- Попробуйте WebAssembly Uno Playground в прямом эфире в своем браузере.
Возможности платформы Уно
- Поддерживаемые платформы:
- Windows 10 и Windows 11
- Windows 7 (через Skia Desktop)
- iOS, MacOS (Catalyst) и Android (через .NET)
- WebAssembly с помощью .NET Runtime WebAssembly SDK
- Linux (через Skia Desktop с X11 и FrameBuffer)
- macOS (через Skia Desktop)
- Цикл разработки:
- Разрабатывайте в Windows сначала с помощью Visual Studio.
- Горячая перезагрузка XAML для актуальной версии XAML при каждом нажатии клавиши
- Горячая перезагрузка C# в Windows (VS2022/Rider/VS Code), Linux и macOS (VS Code/Rider)
- Проверяйте на других платформах как можно позже
- Разработка в VS Code, Rider, Codespaces или GitPod.
- Горячая перезагрузка XAML и/или C# для WebAssembly, Linux, iOS и Android
- Uno.UITest — библиотека для создания кроссплатформенных тестов пользовательского интерфейса для WebAssembly, iOS и Android.
- Межплатформенное управление:
- Шаблоны управления
- Шаблоны данных
- Стиль
- Богатая анимация
- Поддержка кода WinUI/UWP:
- Набор инструментов сообщества Windows
- Набор инструментов сообщества Windows (Uno Fork)
- Инструментарий сообщества MVVM
- Поведение Microsoft XAML
- Призма
- SkiaSharp
- SkiaSharp.Расширенный
- Официальный интерфейс ReactiveUI
- WindowsStateTriggers
- Rx.NET
- ColorCode-Universal
- LibVLCSharp
- MapsUI
- LiveCharts
- Любой проект UWP
- Адаптивный дизайн:
- Визуальный менеджер состояний
- Государственные триггеры
- Адаптивные триггеры
- Платформа специфична:
- Собственные элементы управления и свойства через условный XAML
- Доступна любая из существующих библиотек Xamarin для iOS/Android.
- Средства визуализации Xamarin.Forms:
- Средства визуализации WebAssembly платформы Uno для Xamarin.Forms
Живые приложения WebAssembly
Вот список действующих приложений, созданных с помощью платформы Uno для WebAssembly.
- Игровая площадка платформы Uno (Источник).
- Галерея Uno демонстрирует использование руководств Fluent и Material.
- Обозреватель пакетов NuGet (Источник).
- Uno Calculator — простой, но мощный порт калькулятора на C# для iOS/Android/WebAssembly, который поставляется с Windows (Источник). Также попробуйте версию iOS, версию Android и версию Linux.
- Приложение Community Toolkit Labs
- SkiaSharp является форком платформы Uno. Skia — это кроссплатформенный API 2D-графики для платформ .NET, основанный на графической библиотеке Google Skia (Источник).
- Набор инструментов Uno.WindowsCommunityToolkit (Источник).
- Uno.RoslynQuoter — инструмент анализа C# на основе Roslyn (Источник).
- Приложение SQLite + Entity Framework Core — демонстрационная версия комбинации Roslyn, Entity Framework Core, SQLite и платформы Uno для управления базой данных в браузере.
- AOT RayTracer WebAssembly.
Сообщите нам, если вы сделали свое приложение общедоступным, мы разместим его здесь!
Есть вопросы? Запросы на функции? Проблемы?
Обязательно посетите наши часто задаваемые вопросы, создайте проблему, откройте обсуждение GitHub или посетите наш сервер Discord, где наша команда разработчиков и сообщество смогут вам помочь.
Содействие
Есть много способов внести свой вклад в платформу Uno, поскольку API-интерфейсы WinRT и WinUI довольно велики! Прочтите наше руководство, чтобы узнать о нашем процессе разработки и о том, как предлагать исправления ошибок и улучшения. Посетите нас в Discord, чтобы узнать, как внести свой вклад!
Вносите свой вклад в Uno в своем браузере с помощью GitPod.io, следуйте нашему руководству здесь.
Авторы
Спасибо этим замечательным людям (список составлен с помощью contrib.rocks):
? Спасибо.