拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 什么是 Uno 平台?

什么是 Uno 平台?

白鹭 - 2022-01-05 2102 0 0

它提供了 UWP Windows 10 2004 (19041) 的完整 API 定义以及部分 UWP API(例如 Windows.UI.Xaml)的实现,以允许 UWP 应用程序在这些平台上运行。

这允许在 Visual Studio 中使用来自 Windows 的 UWP 工具,例如 Xaml 编辑并继续和 C# 编辑并继续,在 Windows 上构建尽可能多的应用程序,然后验证应用程序是否在 iOS 上运行。 、Android 和 WebAssembly。

XAML 用户界面 (UI) 能够在 Windows、iOS、Android 和 WebAssembly 平台上显示相同的 XAML 文件。 Uno 还支持所有平台上的模型-视图-视图模型 (MVVM) 模式,具有绑定、样式、控制和模板数据生成等功能。

由于 Uno 平台提供了所有完整的 UWP 平台 API,因此任何 UWP 库都可以在 Uno 上编译(例如 XamlBehaviors),并且能够确定实现了哪些 API。通过 IDE 使用 C# Analyzer。

什么是 Uno 平台的图片 1?

为什么要使用 Uno 平台?

同时为 Windows(手机、台式机、平板电脑、Xbox)、WebAssembly、iOS(平板电脑和手机)、Android(平板电脑和手机)、macOS 和 Linux 进行开发可能是一个复杂的过程,尤其是当涉及到时到用户界面。每个平台都有自己定义动态布局的方式,这些布局可以是有效的、优雅的或性能不同的。

然而,能够同时掌握所有这些框架是一项特别困难的任务,因为掌握每个平台所需的特定知识量是巨大的。几乎在所有情况下,不同的团队都会一遍又一遍地开发相同的应用程序,每个团队都需要一个完整的开发周期。

借助“经典”Xamarin,C# 可用于所有这些平台,但是,它仅提供适用于 iOS 和 Android 的 UI 框架的透明转换。大部分非 UI 代码都可以共享,但说到 UI,几乎没有任何东西可以共享。

为了避免学习为每个平台创建 UI 布局的方法和技术,Uno.UI 模仿了 Windows XAML 的方法来定义 UI 和布局。 Uno.UI 能够共享样式、布局和数据绑定,同时保留组合 XAML 样式和原始布局的能力。例如,StackPanel 可以轻松包含 Android 上的 RelativeLayout 或 iOS 上的 MKMapView。

Uno.UI 使开发人员能够在所有平台上重复使用已知的编码和布局技术,从而在创建以 UI 为中心的应用程序时提高整体生产力。.

Uno 平台不能做什么?

Uno 并不是要完全取代所有原始 UI 框架。这将是最低分母的方法,最终用户会注意到他们设备上的非本地应用程序外观或行为。有一款 iOS 应用与 Android 应用类似,但会惹恼用户。

Uno 提供了一组通用的布局和控件,旨在提供共享应用程序代码和标记的重要部分的能力。但是,它仍然让开发人员能够保留原始界面。同时,Uno 提供了一种在所有平台上拥有完美详细的 UI 和 UX 的方法。通常,此主题会出现在导航、过渡和动画、主页和屏幕边缘。

尽管 Uno 平台提供了所有的 UWP API,但其中很多都没有实现。它目前提供了一小组基本的 UWP 非 UI 部分,例如 Windows.UI.Xaml.Application 类,它提供了拥有通用应用程序引导代码的能力。

Uno 平台如何运作?

什么是 Uno 平台的图片 2?

Uno 提供了一组 API,这些 API 使用与 Windows UWP 兼容的类和属性名称,并允许这些类从平台的原始布局容器(在 XAML API 的情况下)继承。

例如,Windows.UI.Xaml.Controls.StackPanel 直接从 Android 上的 ViewGroup 和 iOS 上的 UIView 继承。

然后用兼容 XAML 的布局系统覆盖内部元素的原始布局系统。这意味着 StackPanel 将在所有平台上使用相同的布局策略。

在 Windows 平台上,不存在 Uno.UI 并且保留了 XAML 布局文件。在经典的 Xamarin 兼容平台上,XAML 文件在编译时处理以生成将在运行时在设备上执行的无条件代码。这意味着没有 XAML 运行时解析,这使得创建 UI 树特别有效。

Uno.UI 还提供了标记特定于平台的 XAML 文件的方法,允许创建一个简单的文件树,同时为每个平台。

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *