Good news——Visual Studio 2022 包含了 Xamarin 对 Android 12 和苹果最新的 Xcode 13 版本下的 iOS、iPadOS、macOS 和 tvOS 的反对,以及实用于反对它们的最新 Xamarin.Forms 版本。让咱们一起来理解下最新 Xamarin 版本,从新扫视 Xamarin 的反对政策,并瞻望 2022 年第二季度的.NET 6 和.NET MAUI。
Visual Studio 2022 中的 Xamarin
Visual Studio 2022 有许多改良和新的体验,Xamarin.Forms 应用程序也会失去一些改善。XAML Live Preview(实时预览)是最激动人心的性能之一,它能够在 Visual Studio 中使您正在运行的应用程序生成镜像,并容许增加布局指南和缩放以取得完满的像素对齐。实时可视化树能够让您看到您的 UI 层次结构和定位 XAML 源代码,XAML 热重载也在不断改进。
- Visual Studio 2022 公布阐明
- XAML 热重载
- XAML 实时预览
- XAML 实时可视化树
- Xamarin 的热启动
- 已知问题
Xamarin 反对最新的挪动版本
在过来几个月中,Xamarin 公布了多个 Xamarin.Forms 服务版本,以及来自 Google 和 Apple 的测试版和稳定版的 .NET 绑定。这些 sdk 能够在 Visual Studio 2022 的新稳定版和 Visual Studio 2019 的最新版中取得(Xcode 13.1 sdk 反对将在 Visual Studio 2019 的下一个版本中公布)
- Visual Studio 2022(17.0) - 下载
- Visual Studio 2022 for Mac(17.0) - 下载
- Visual Studio 2019(16.11.6) - 下载
- Visual Studio 2019 for Mac(8.10.12) - 下载
Xamarin.Forms 5
Xamarin.Forms 5.0 服务版本 6 于 10 月 18 日公布,自首次公布以来进行了 145 个修复。这包含对 Andriod 12 和 iOS 15 的反对,咱们将持续放弃每 6 周公布一次服务。您能够从 GitHub 和 Azure Pipelines 的任何 pull request 和提交中下载构建。也能够应用下方链接查看残缺的公布阐明。明天就用您最喜爱的 NuGet 包管理器更新您的应用程序吧,这样您就能更好地降级到.NET MAUI。
Andriod 12
谷歌公布了最新的 Andriod 12 稳定版,包含全新的 Material You 设计语言、更新的小部件设计、整体零碎性能改良,以及相机、图形和图像、媒体、平安和隐衷、存储等方面的新性能和 api。无关更新和文档的残缺列表,请拜访安卓开发者门户。
为了反对 Andriod 12,咱们曾经从版本 8 降级到 OpenJDK 11,并更新了安卓设计器、SDK 管理器和设施管理器的兼容性。
iOS 15, iPadOS 15, tvOS 15
苹果曾经公布了 Xcode 13,其中包含 iOS 15、iPadOS 15 和 tvOS 15。苹果还公布了 Xcode 13.1,它减少了对 macOS Monterey 12 的反对。
- Xcode 13 公布阐明
- Xcode 13.1 公布阐明
Xamarin 两年的受反对服务版本
随着.NET MAUI 公布时间表的扭转,以及.NET 6 对 Android、iOS 和 macOS 的反对,咱们想在这个过渡期间向大家更新 Xamarin 的反对和服务打算。Xamarin 受 Microsoft 古代生命周期治理,该生命周期申明以后 Xamarin 版本在初始版本之后的两年内失去反对,或者直到下一个更新的稳固版本。.NET MAUI 和相干平台将蕴含在 .NET 和 .NET Core 反对政策中,毕竟它当初是 .NET 的一个对立局部。
这意味着,从 Xamarin 的最新版本开始,您将取得两年的受反对服务版本,您能够期待在 2023 年 11 月之前取得反对。这段时间您能够将现有我的项目迁徙到 .NET 6,咱们正在致力为您提供一个顺利的过程。
为过渡到.NET 6 做筹备
在 2022 年的第二季度,咱们将公布一个反对.NET 多平台利用程序界面 (MAUI) 的版本,这是反对跨平台、挪动和桌面应用程序的.NET 下一个版本。这种转变的首要任务是确保 Xamarin 应用程序可能降级,以利用.NET、c# 和 Visual Studio 中的最新更新,而无需重写。这意味着 Xamarin 我的项目只须要从.NET Framework 转移到.NET 6,您就能够持续公布了。
让咱们首先一步一步地看看这对任何 Xamarin 应用程序意味着什么。
步骤 1:.NET 降级助手
.NET 降级助手是一个.NET 命令行工具,它能够将您的我的项目 (csproj 文件) 从 Xamarin .NET Framework 格调转换为以后的 SDK 格调我的项目(所有其余.NET 我的项目类型都常常应用)。正如您所记得的那样,这一转变将 Xamarin 与.NET 联合在一起,所以无论咱们正在构建什么样的应用程序,咱们都能够共享雷同的技术和技能。
步骤 2: 更新依赖项
转换我的项目文件格式后,该工具将评估您的我的项目依赖关系,并报告任何不兼容的中央,以便您从新评估。如果您正在应用来自组件供应商 (如 DevExpress、Infragistics、Steema、Syncfusion、Telerik 或其余) 的控件,它们可能曾经可用了。能够查看每一个 roadmap 打算和可用性。
Xamarin Community Toolkit(社区工具包)为降级到.NET 6 提供了两个选项。第一个是与.NET 6 兼容的工具箱的 1 对 1 兼容版本,第二个抉择是一个纯正的.NET 6 版本,它利用了.NET 中所有的体系结构改良,只管可能还没有达到与 Xamarin Community Toolkit 1:1 的等同程度。
Xamarin.Essentials 当初是 .NET 6 和 .NET MAUI 的一部分,因而您无需任何额定的 NuGet 依赖即可取得它。
如果您的我的项目是 Xamarin.Android 或 Xamarin.iOS,那么您很可能在实现下面的步骤后就实现迁徙了,只需编译并测试您的应用程序。
步骤 3(可选): Xamarin.Forms 到 .NET MAUI
.NET MAUI 应用的控件命名、布局命名、导航模式和 XAML 个性与您的应用程序在 Xamarin.Forms 中应用的是一样的。这意味着它将按原样工作。那么是什么扭转了呢?
.NET MAUI 应用命名空间“Microsoft.Maui”而不是“Xamarin.Forms”。.NET 降级助手将在您的 XAML 和 C# 文件中为您进行此更改。如果在上一步中没有更新 Xamarin.Forms 的 NuGet,那么您当初须要解决这些问题。
您还会遇到哪些其余差别?
- 应用程序与窗口 – Xamarin.Forms 应用程序是单窗口,而 .NET MAUI 应用程序能够是多窗口。这意味着应用程序的根视图曾经从根本上降级了。咱们保留了 App.cs(和 App.xaml.cs)的款式,所以您的应用程序能够持续按原样工作。
- Custom Renderers – .NET MAUI 在新的“处理器”架构中不再须要它们,然而咱们提供了一个兼容性的办法让您注册,以便持续应用。为了未来的需要,咱们倡议学习处理程序模式来定制平台控件的外观。例如,假如您有一个安卓的自定义渲染器(库中的 CustomEntry) (安卓我的项目中的 CustomEntryRenderer),要通知.NET MAUI 在哪里找到这个渲染器,以及如何应用这个渲染器而不是新的处理程序,请关上我的项目根目录下的 MauiProgram.cs,咱们在那里定义了应用程序生成器:
appBuilder
.UseMauiApp<App>()
.ConfigureMauiHandlers(handlers =>
{
#if __ANDROID__
handlers.AddCompatibilityRenderer(typeof(CustomEntry), typeof(Droid.Renderers.CustomEntryRenderer));
#endif
});
应用条件编译标识符 (如__ANDROID__) 为每个渲染器执行此操作。
- 成果——就像自定义渲染器一样,您能够在利用生成器中注册。
appBuilder
.UseMauiApp<App>()
.ConfigureEffects(effects =>
{effects.Add<FocusRoutingEffect, FocusPlatformEffect>();
});
在 Visual Studio 2022 中关上我的项目并开始构建。您可能会遇到一些类型更改或不兼容性。解决这些问题,很快您就会实现向.NET 6 的过渡。依据应用程序的复杂性和.NET 6 兼容依赖的可用性,这可能须要几个小时到几天的工作工夫。
要立刻尝试迁徙,请试用 .NET 降级助手并提供反馈,以便咱们能够在当初和正式公布版本之间持续改良该助手。
无关将我的项目从 Xamarin.Forms 迁徙到 .NET MAUI 的其余示例,请查看 Javier Suarez Ruiz 的存储库 Xamarin.Forms 到 .NET MAUI)。
总结
.NET MAUI Preview 10 现已在 Visual Studio 2022 预览频道中提供,并且 Xamarin.Forms 5.0 可用。两者都反对最新的平台版本。如果您的我的项目开发工夫超过 4 个月,或者您须要的所有都已在 .NET MAUI 中准备就绪,那么咱们倡议从那里开始。
立刻开始应用以下资源:
• Visual Studio 2022 (17.0) – 下载
• Visual Studio 2022 for Mac (17.0) – 下载
• Visual Studio 2022 预览版 (17.1) – 下载
• 发表 .NET MAUI 预览版 10
• .NET MAUI 文档
• Visual studio 2022
点击下载 Visual Studio 2022