You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-14Lines changed: 10 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,9 +18,10 @@
18
18
# What is the Uno Platform?
19
19
The Uno Platform is an Open-source platform for building single codebase native mobile, web, desktop, and embedded apps quickly.
20
20
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.
22
22
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.
24
25
25
26
Visit [our documentation](doc/articles/intro.md) for more details.
26
27
@@ -36,24 +37,21 @@ For a larger example and features demo:
36
37
* Supported platforms:
37
38
* Windows 10 and Windows 11
38
39
* 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/))
40
42
* WebAssembly through the [.NET Runtime WebAssembly SDK](https://github.com/dotnet/runtime/tree/main/src/mono/wasm)
41
43
* Linux (via Skia Desktop with X11 and FrameBuffer)
42
-
* macOS (via Skia Desktop)
43
44
* 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
50
47
*[Uno.UITest](https://github.com/unoplatform/Uno.UITest), a library to create Cross-Platform UI Tests for WebAssembly, iOS, and Android.
Copy file name to clipboardExpand all lines: doc/articles/common-issues-vs2022.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -66,7 +66,7 @@ Your application may fail to run under WSL for multiple reasons:
66
66
67
67
This issue has been fixed in Visual Studio 17.8 and later.
68
68
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.
70
70
71
71
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.
Copy file name to clipboardExpand all lines: doc/articles/concepts/overview/why-uno-platform.md
+15-7Lines changed: 15 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,9 +18,9 @@ However, built on top of this foundation is also a rich platform which includes
18
18
19
19
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/)
20
20
21
-
## True Single Project for 9 Platform Targets across Mobile, Web, Desktop, and Embedded
21
+
## True Single Project across Mobile, Web, Desktop, and Embedded
22
22
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.
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.
75
75
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.
77
81
78
82
All of the above remains possible without needing to replicate the same design for each target platform.
79
83
@@ -162,7 +166,7 @@ Uno.Extensions Authentication is a provider-based authentication service that ca
162
166
163
167
## Skia drawing
164
168
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.
166
170
167
171
## Animations: Beyond storyboards, access to Lottie and Rive
168
172
@@ -172,6 +176,10 @@ Based on SkiaSharp support, Uno Platform provides AnimatedVisualPlayer to give t
172
176
173
177
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.
174
178
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
+
175
183
## Accessibility included
176
184
177
185
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
204
212
205
213
## WebView across platforms
206
214
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.
208
216
209
217
## Media Player across platforms
210
218
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.
212
220
213
-
## Monaco Editor on Wasm
221
+
## Monaco Editor on WebAssembly
214
222
215
223
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
0 commit comments