Skip to content

Commit 922126e

Browse files
committed
docs: add uno 6 updates
1 parent ac5dca5 commit 922126e

31 files changed

Lines changed: 572 additions & 266 deletions

.github/DISCUSSION_TEMPLATE/q-a.yml

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,16 @@ body:
2323
attributes:
2424
label: NuGet package version(s)
2525

26+
- type: checkboxes
27+
id: renderer
28+
attributes:
29+
label: Renderer
30+
multiple: true
31+
options:
32+
33+
- Skia
34+
- Native
35+
2636
- type: dropdown
2737
id: platforms
2838
attributes:
@@ -32,12 +42,11 @@ body:
3242
- WebAssembly
3343
- Android
3444
- iOS
35-
- Mac Catalyst
36-
- Skia (WPF)
37-
- Skia (GTK on Linux/macOS/Windows)
38-
- Skia (Linux Framebuffer)
39-
- Windows
40-
- macOS (AppKit)
45+
- Desktop (Windows)
46+
- Desktop (macOS)
47+
- Desktop (X11)
48+
- Desktop (Linux Framebuffer)
49+
- Windows App SDK
4150
- Build tasks
4251

4352
- type: dropdown

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,15 @@ body:
6969
attributes:
7070
label: NuGet package version(s)
7171

72+
- type: checkboxes
73+
id: renderer
74+
attributes:
75+
label: Renderer
76+
multiple: true
77+
options:
78+
- Skia
79+
- Native
80+
7281
- type: dropdown
7382
id: platforms
7483
attributes:
@@ -78,13 +87,11 @@ body:
7887
- WebAssembly
7988
- Android
8089
- iOS
81-
- Mac Catalyst
82-
- Skia (WPF)
83-
- Skia (Linux X11)
84-
- Skia (macOS)
85-
- Skia (Linux Framebuffer)
86-
- Skia (GTK)
87-
- Windows (WinAppSDK)
90+
- Desktop (Windows)
91+
- Desktop (macOS)
92+
- Desktop (X11)
93+
- Desktop (Linux Framebuffer)
94+
- Windows App SDK
8895
- Build tasks
8996

9097
- type: dropdown

.github/ISSUE_TEMPLATE/documentation-request.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,31 @@ body:
3030
- Publishing your application
3131
- Support
3232

33+
- type: checkboxes
34+
id: docs-request-renderer
35+
attributes:
36+
label: Renderer
37+
multiple: true
38+
options:
39+
- Skia
40+
- Native
41+
3342
- type: dropdown
3443
id: docs-request-platforms
3544
attributes:
3645
label: Affected platforms
3746
multiple: true
3847
description: Select the platforms for which your request is relevant
39-
options:
48+
options:
4049
- WebAssembly
4150
- Android
4251
- iOS
43-
- Mac Catalyst
44-
- Skia (WPF)
45-
- Skia (Linux X11)
46-
- Skia (macOS)
47-
- Skia (Linux Framebuffer)
48-
- Skia (GTK)
49-
- Windows (WinAppSDK)
52+
- Desktop (Windows)
53+
- Desktop (macOS)
54+
- Desktop (X11)
55+
- Desktop (Linux Framebuffer)
56+
- Windows App SDK
57+
- Build tasks
5058

5159
- type: textarea
5260
id: docs-request-additional-info

.github/ISSUE_TEMPLATE/enhancement.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,30 @@ body:
1414
label: Why is this needed
1515
description: Describe the use case of this enhancement
1616

17+
- type: checkboxes
18+
id: enhancement-renderer
19+
attributes:
20+
label: Renderer
21+
multiple: true
22+
options:
23+
- Skia
24+
- Native
25+
1726
- type: dropdown
1827
id: enhancement-platforms
1928
attributes:
20-
label: For which platform
29+
label: For which platforms
2130
multiple: true
31+
description: Select the platforms for which your request is relevant
2232
options:
2333
- WebAssembly
2434
- Android
2535
- iOS
26-
- Mac Catalyst
27-
- Skia (WPF)
28-
- Skia (Linux X11)
29-
- Skia (macOS)
30-
- Skia (Linux Framebuffer)
31-
- Skia (GTK)
32-
- Windows (WinAppSDK)
36+
- Desktop (Windows)
37+
- Desktop (macOS)
38+
- Desktop (X11)
39+
- Desktop (Linux Framebuffer)
40+
- Windows App SDK
3341
- Build tasks
3442

3543
- type: textarea

.github/ISSUE_TEMPLATE/samples-request.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,31 @@ body:
1515
validations:
1616
required: true
1717

18+
- type: checkboxes
19+
id: samples-request-renderer
20+
attributes:
21+
label: Renderer
22+
multiple: true
23+
options:
24+
- Skia
25+
- Native
26+
1827
- type: dropdown
1928
id: samples-request-platforms
2029
attributes:
2130
label: Affected platforms
2231
multiple: true
2332
description: Select the platforms for which your request is relevant
24-
options:
33+
options:
2534
- WebAssembly
2635
- Android
2736
- iOS
28-
- Mac Catalyst
29-
- Skia (WPF)
30-
- Skia (Linux X11)
31-
- Skia (macOS)
32-
- Skia (Linux Framebuffer)
33-
- Skia (GTK)
34-
- Windows (WinAppSDK)
37+
- Desktop (Windows)
38+
- Desktop (macOS)
39+
- Desktop (X11)
40+
- Desktop (Linux Framebuffer)
41+
- Windows App SDK
42+
- Build tasks
3543

3644
- type: textarea
3745
id: samples-request-additional-info

README.md

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818
# What is the Uno Platform?
1919
The Uno Platform is an Open-source platform for building single codebase native mobile, web, desktop, and embedded apps quickly.
2020

21-
It allows C# and WinUI XAML and/or C# code to run on all target platforms while allowing you control of every pixel. It comes with support for Fluent, Material, and Cupertino design systems out of the box. Uno Platform implements a growing number of the WinRT and WinUI APIs, such as **Microsoft.UI.Xaml**, to enable WinUI applications to run on all platforms with native performance.
21+
It allows C# and WinUI XAML and/or C# code to run on all target platforms while allowing you control of every pixel. It comes with support for Fluent, Material, and Cupertino design systems out of the box. Uno Platform implements a growing number of the WinRT and WinUI APIs, such as **Microsoft.UI.Xaml**, to enable WinUI applications to run on all platforms with native performance.
2222

23-
Use the WinUI tooling from Windows in [Visual Studio](https://www.visualstudio.com/), such as [XAML Hot Reload](https://learn.microsoft.com/visualstudio/xaml-tools/xaml-hot-reload?view=vs-2019) and [C# Hot Reload](https://learn.microsoft.com/visualstudio/debugger/hot-reload), build your application as much as possible on Windows, then validate that your application runs on iOS, Android, macOS, and WebAssembly.
23+
Leverage the WinUI tooling from Windows in [Visual Studio](https://www.visualstudio.com/), such as [XAML Hot Reload](https://learn.microsoft.com/visualstudio/xaml-tools/xaml-hot-reload?view=vs-2019) and [C# Hot Reload](https://learn.microsoft.com/visualstudio/debugger/hot-reload) and [Hot Design](xref:Uno.HotDesign.Overview
24+
), then run your application runs on iOS, Android, macOS, Linux, and WebAssembly.
2425

2526
Visit [our documentation](doc/articles/intro.md) for more details.
2627

@@ -36,24 +37,21 @@ For a larger example and features demo:
3637
* Supported platforms:
3738
* Windows 10 and Windows 11
3839
* Windows 7 (via Skia Desktop)
39-
* iOS, MacOS (Catalyst) and Android (via [.NET](https://dotnet.microsoft.com/))
40+
* macOS (via Skia Desktop)
41+
* iOS and Android (via [.NET](https://dotnet.microsoft.com/))
4042
* WebAssembly through the [.NET Runtime WebAssembly SDK](https://github.com/dotnet/runtime/tree/main/src/mono/wasm)
4143
* Linux (via Skia Desktop with X11 and FrameBuffer)
42-
* macOS (via Skia Desktop)
4344
* Dev loop:
44-
* Develop on Windows first using Visual Studio
45-
* [XAML Hot Reload](https://blogs.msdn.microsoft.com/visualstudio/2016/04/06/ui-development-made-easier-with-xaml-edit-continue/) for live XAML edition on each keystroke
46-
* [C# Hot Reload](https://learn.microsoft.com/visualstudio/debugger/hot-reload) on Windows (VS2022/Rider/VS Code), Linux and macOS (VS Code / Rider)
47-
* Validate on other platforms as late as possible
48-
* Develop in VS Code, Rider, Codespaces, or GitPod
49-
* XAML and/or C# Hot Reload for WebAssembly, Linux, iOS and Android
45+
* Develop on your favorite IDE (Visual Studio, Rider or VS Code) on your favorite OS (Windows, macOS or Linux)
46+
* XAML and/or C# Hot Reload for WebAssembly, macOS, Linux, Windows, iOS and Android
5047
* [Uno.UITest](https://github.com/unoplatform/Uno.UITest), a library to create Cross-Platform UI Tests for WebAssembly, iOS, and Android.
5148
* Cross Platform Controls:
5249
* [Control Templating](https://learn.microsoft.com/windows/uwp/design/controls-and-patterns/control-templates)
5350
* [Data Templating](https://code.msdn.microsoft.com/Data-Binding-in-UWP-b5c98114)
5451
* [Styling](https://learn.microsoft.com/windows/uwp/design/controls-and-patterns/xaml-styles)
5552
* [Rich Animations](https://learn.microsoft.com/windows/uwp/design/motion/xaml-animation)
56-
* WinUI/UWP Code Support:
53+
* [Composition API](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/composition)
54+
* WinUI Code Support:
5755
* [Windows Community Toolkit](https://github.com/CommunityToolkit/Windows)
5856
* [Windows Community Toolkit (Uno Fork)](https://github.com/unoplatform/uno.WindowsCommunityToolkit)
5957
* [Community Toolkit MVVM](https://learn.microsoft.com/dotnet/communitytoolkit/mvvm/)
@@ -68,16 +66,14 @@ For a larger example and features demo:
6866
* [LibVLCSharp](https://github.com/videolan/libvlcsharp)
6967
* [MapsUI](https://github.com/Mapsui/Mapsui)
7068
* [LiveCharts](https://github.com/beto-rodriguez/LiveCharts2)
71-
* Any UWP project
69+
* Any WinUI project
7270
* Responsive Design:
7371
* [Visual State Manager](https://learn.microsoft.com/uwp/api/Microsoft.UI.Xaml.VisualStateManager)
7472
* [State Triggers](https://blogs.msdn.microsoft.com/mvpawardprogram/2017/02/07/state-triggers-uwp-apps/)
7573
* [Adaptive Triggers](https://learn.microsoft.com/uwp/api/Microsoft.UI.Xaml.AdaptiveTrigger)
7674
* Platform Specific:
7775
* Native controls and properties via [conditional XAML](doc/articles/platform-specific-xaml.md)
7876
* Any of the existing Xamarin iOS/Android libraries available
79-
* Xamarin.Forms Renderers:
80-
* [Uno Platform WebAssembly Renderers for Xamarin.Forms](https://github.com/unoplatform/Uno.Xamarin.Forms.Platform)
8177

8278
# Live WebAssembly Apps
8379

build/cSpell.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@
117117
"autoplay",
118118
"Xcodes",
119119
"Raygun",
120-
"waitlist"
120+
"waitlist",
121+
"subviews"
121122
],
122123
"ignoreWords": [
123124
"ADAL",
@@ -147,6 +148,7 @@
147148
"Jiterpreter",
148149
"jonathanpeppers's",
149150
"Krueger",
151+
"kiota",
150152
"libgtk",
151153
"lightsensor",
152154
"Liu's",
7 Bytes
Loading

doc/articles/common-issues-vs2022.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Your application may fail to run under WSL for multiple reasons:
6666

6767
This issue has been fixed in Visual Studio 17.8 and later.
6868

69-
If you're using an earlier version, XAML Intellisense [is not working properly](https://developercommunity.visualstudio.com/content/problem/587980/xaml-intellisense-does-not-use-contentpropertyattr.html) in Visual Studio when the active project is not the UWP one.
69+
If you're using an earlier version, XAML Intellisense [is not working properly](https://developercommunity.visualstudio.com/content/problem/587980/xaml-intellisense-does-not-use-contentpropertyattr.html) in Visual Studio when the active target framework is not the WinAppSDK one.
7070

7171
To work around this issue, close all XAML editors, open a C# file and select the '[MyApp].Windows' in the top-left drop-down list of the text editor sector. Once selected, re-open the XAML file.
7272

doc/articles/concepts/overview/why-uno-platform.md

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ However, built on top of this foundation is also a rich platform which includes
1818

1919
Uno Platform offers Hot Design, industry's first and only runtime Visual Designer for cross-platform .NET Applications. It transforms your running app into a Designer from any IDE on any OS. This offers unprecedented productivity gains. Learn more about [Hot Design](https://platform.uno/hot-design/)
2020

21-
## True Single Project for 9 Platform Targets across Mobile, Web, Desktop, and Embedded
21+
## True Single Project across Mobile, Web, Desktop, and Embedded
2222

23-
Our Single Project approach is .NET ecosystem’s first and only true Single Project solution, empowering developers with a unified approach across all 9 platform targets, spanning mobile, web, desktop, and embedded apps. This genuine Single Project approach simplifies development, accelerates build times, and facilitates platform-specific development, enhancing your productivity and efficiency.
23+
Our Single Project approach is .NET ecosystem’s first and only true Single Project solution, empowering developers with a unified approach, spanning mobile, web, desktop, and embedded apps. This genuine Single Project approach simplifies development, accelerates build times, and facilitates platform-specific development, enhancing your productivity and efficiency.
2424

2525
## It's Free and Open-Source
2626

@@ -73,7 +73,11 @@ Our [Uno Platform Template Wizard](https://platform.uno/blog/the-new-uno-platfor
7373

7474
Uno Platform allows you to control each pixel of your UI elements to match the experience you envision. This concept of lookless-controls is very similar to what is named "[headless controls](https://martinfowler.com/articles/headless-component.html)" in the React world. Each built-in and third-party control defines its fundamental logic (e.g. how it responds to interactions, handles data, or behaves once a property value is set) independently of a visual style and template. This approach means you can tailor the appearance of any control to fit a special use case, or to match your brand identity. Changes to control styling can even be performed at runtime. Uno Platform leverages this to offer multiple built-in design systems influenced by guidance from popular platforms.
7575

76-
Under the hood, your users benefit from a native app. That is, we are still using the built-in native UI primitives on each target. These build up a native view hierarchy and draws the visuals using native OS capabilities. That way, you still get all the benefits of the native world such as localization and accessibility, but without giving up the rich control of pixel-level details in your app experience.
76+
Under the hood, your app can use either a Native or Skia based approach for rendering.
77+
78+
The Native rendering approach using using the built-in native UI primitives on each target, for iOS, Android and WebAssembly. These build up a native view hierarchy and draws the visuals using native OS capabilities. That way, you still get all the benefits of the native world such as localization and accessibility, but without giving up the rich control of pixel-level details in your app experience.
79+
80+
The [Skia based](xref:Uno.Skia.Rendering) rendering approach uses a Skia based canvas for fast and rich rendering across platforms and get the exact same behavior across all platforms. You can use the Composition API to also get advanced rendering and animations across platforms.
7781

7882
All of the above remains possible without needing to replicate the same design for each target platform.
7983

@@ -162,7 +166,7 @@ Uno.Extensions Authentication is a provider-based authentication service that ca
162166

163167
## Skia drawing
164168

165-
The Uno Platform provides access to SkiaSharp as a render canvas for your app, enabling rich support for fine-grained drawing primitives. Uno Platform also uses SkiaSharp to render the UI for X11, FrameBuffer, macOS, and Windows 7+ apps.
169+
The Uno Platform provides access to SkiaSharp as a render canvas for your app, enabling rich support for fine-grained drawing primitives. Uno Platform also uses SkiaSharp to render the UI for X11, FrameBuffer, macOS, and Windows 7+ apps. Starting from Uno Platform 6.0, Skia rendering is also available for iOS, Android and WebAssembly.
166170

167171
## Animations: Beyond storyboards, access to Lottie and Rive
168172

@@ -172,6 +176,10 @@ Based on SkiaSharp support, Uno Platform provides AnimatedVisualPlayer to give t
172176

173177
Uno Platform allows to use .NET 8 features such as Profiled AOT (Ahead Of Time compilation) and the Jiterpreter, to get better performance for your apps and balanced size. Profiled AOT is a powerful feature that allows to continue using the interpreter for code that is not often used, thus keeping your app's size down.
174178

179+
## Comprehensive App Packaging for All Platforms
180+
181+
Uno Platform offers comprehensive [app packaging solutions](xref:uno.publishing.overview), allowing you to build, package, and deploy your applications with ease across all supported platforms. Whether you're targeting mobile app stores, desktop environments, or web hosting, our built-in packaging support streamlines your release process. The platform handles all the platform-specific packaging requirements, enabling you to focus on your application logic instead of deployment complexities.
182+
175183
## Accessibility included
176184

177185
Uno Platform comes with built-in support for accessible apps such as font scaling and support for screen readers. Support is provided for Windows Narrator, Android TalkBack, Apple VoiceOver, and browser-specific narrators when targeting the web. In addition, Uno Platform provides programmatic access to most UI elements, enabling assistive technology products.
@@ -204,13 +212,13 @@ Your Uno Platform WebAssembly app can run as a Progressive Web App. This means u
204212

205213
## WebView across platforms
206214

207-
When you need to display web content within your cross-platform apps, you can use our `WebView2` control. Not only will it easily handle rendering of both remote and in-app HTML content, but it will also allow you to implement bi-directional JavaScript communication without any hassle. Note that `WebView2` is currently available on mobile, WPF, and WinAppSDK targets. We are working on an implementation for the remaining Skia targets.
215+
When you need to display web content within your cross-platform apps, you can use our `WebView2` control across all Uno Platform targets, at no additional cost. Not only will it easily handle rendering of both remote and in-app HTML content, but it will also allow you to implement bi-directional JavaScript communication without any hassle. We are working on an implementation for the remaining Skia targets.
208216

209217
## Media Player across platforms
210218

211-
Uno Platform provides the `MediaPlayerElement` control which allows your app to play media files back in your app. It is supported on Linux through libVLC.
219+
Uno Platform provides - at no additional cost - `MediaPlayerElement` control which allows your app to play media files back in your app. It is supported on Linux through libVLC.
212220

213-
## Monaco Editor on Wasm
221+
## Monaco Editor on WebAssembly
214222

215223
For all your in-app text and code editing needs, you can use our port of the Monaco Editor – the same that is used by Visual Studio Code. With full support for syntax highlighting, you could even build your
216224
own WebAssembly IDE!

0 commit comments

Comments
 (0)