IT资讯
当前位置:豆角网 > IT资讯 >  IT时代

微软 .NET 跨平台 UI 框架 MAUI 最新预览版发布:与 VS 2022 重要集成

2021-12-02 23:22:24 IT之家 玄隐 编辑:红豆 浏览数:14豆角网

IT之家 11 月 30 日消息,据微软中国 MSDN 发布,.NET 多平台应用程序 UI (.NET MAUI) 可以使用单个代码库为 Windows、macOS、iOS 和 Android 构建...

IT之家 11 月 30 日消息,据微软中国 MSDN 发布,.NET 多平台应用程序 UI (.NET MAUI) 可以使用单个代码库为 Windows、macOS、iOS 和 Android 构建本机客户端应用程序,并为 Blazor 混合方案提供本机容器和控件。.NET MAUI 是 Visual Studio 中的一个框架,它抽象了已经可用的本机 UI 框架 ——WinUI for Windows、Mac Catalyst for macOS/iPadOS、iOS 和 Android。尽管它不是另一个本机 UI 框架,但仍有大量工作需要在这些设备上提供最佳开发和运行时体验。

.NET 团队一直在与社区一起努力的开发,微软致力于它的发布。遗憾的是,.NET MAUI 将无法在 11 月与 .NET 6 GA 一起发布。微软希望在第一天就为用户提供最佳体验、性能和质量,为此,微软需要推迟时间表。IT之家获悉,微软现在的目标是在 2022 年第二季度初推出 .NET MAUI 。

与此同时,微软将继续增强 Xamarin 并推荐它用于构建生产移动应用程序,并继续发布 .NET MAUI 的月度预览。微软计划为 .NET MAUI 提供的所有功能将在 11 月 .NET 6 发布时提供,但微软将继续努力提高质量并解决客户反馈。微软鼓励你尝试预览。.NET 升级助手还将支持将 Xamarin 项目升级到 .NET MAUI。

.NET 6 RC1 是最终版本之前的版本,这意味着你可以在生产中使用它并获得支持。这不包括 .NET MAUI 包。.NET MAUI 包的下一个版本,当 .NET 6 RC2 发布时,将在版本中显示“预览”。

.NET 多平台应用程序 UI (.NET MAUI)

https://github.com/dotnet/maui

.NET MAUI 的 9 月预览版完成了一些重要的 Visual Studio 集成,即在 Visual Studio 2022 安装程序中将 .NET MAUI 作为工作负载安装,并将 Windows 平台折叠到微软的单一、多目标项目中。借助 Visual Studio 2022 预览版 4,你现在可以通过 C# 和 XAML 使用更广泛的热重载支持,以及新的 XAML 实时预览面板,以打造高效、专注的开发环境。在 .NET MAUI SDK 本身中,预览 8 包括对应用程序启动模式的更新、扩展处理程序的能力,以及在微软接近功能完整性时的其他各种新控件功能。

安装 Visual Studio 2022 时,你现在可以在使用 .NET 工作负载的移动开发中检查 .NET MAUI(预览版)。这将引入 .NET 6 以及可选的工作负载依赖项:Android、iOS 和 Mac Catalyst。以桌面为目标时,你还需要选择使用 .NET、UWP 的桌面开发和使用 C++ 工作负载的桌面开发。

安装后,.NET MAUI 模板和 Visual Studio 的功能都可用。实时预览将在 Visual Studio 窗口中的面板中镜像你正在运行的应用程序,你可以停靠在最方便的任何位置。该面板支持放大和缩小以关注 UI 的每个细节,在水平和垂直轴上对齐元素的指南,并且在某些平台上,你可以悬停并选择 UI 元素以获取大小和距离信息。

XAML 热重载现在适用于 Android、iOS(在 Windows 上通过热重启或远程构建主机)和 Windows。.NET Hot Restart 也在 Android、iOS 和 Windows 上与 XAML Hot Reload 协同工作。

创建新项目时,你现在会在 Platforms 文件夹中看到 Windows 平台与 Android、iOS 和 Mac Catalyst 并列。要使用 Windows,首先需要安装适用于 Visual Studio 2022 的 Windows App SDK 扩展,然后取消注释 csproj 文件顶部的 TargetFramework 节点。在未来的版本中,默认情况下,这将通过 .NET MAUI 预安装的扩展程序提供。

你迁移现有应用程序最显著的更新是微软如何实现 .NET Host Builder 模式。微软现在与 ASP.NET 和 Blazor 如何使用创建并返回 MauiApp 的 MauiProgram 类保持一致。现在每个平台都调用 MauiProgram.CreateMauiApp。将现有项目与新模板或 pull request 进行比较,以查看对 Android/MainApplication.cs、iOS/AppDelegate.cs 和 macCatalyst/AppDelegate.cs 的这些更改。

示例 MauiProgram:

public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();
}
}

安卓示例 MainApplication:

public class MainApplication : MauiApplication
{
public MainApplication(IntPtr handle, JniHandleOwnership ownership)
: base(handle, ownership)
{
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

pull request:

https://github.com/dotnet/maui/pull/2137

Android 12 (API 31) 现在是为 Android 构建的 .NET 6 应用程序的默认版本。要使用 Android 12,你需要手动安装 JDK 11。一旦微软更新 Visual Studio 中的 Android 工具以使用 JDK 11,微软将默认将此依赖项与 .NET MAUI 捆绑在一起。在此之前,JDK 11 可能会对 Android 设计器、SDK 管理器和设备管理器产生不利影响。

Android 项目现在默认使用 MaterialTheme。确保 Platforms/Android/MainActivity.cs 指定 @style/Maui.SplashTheme 否则你可能会在 Android 上遇到运行时错误。例如,查看更新的 .NET MAUI 模板。

手动安装 JDK 11:

https://github.com/xamarin/xamarin-android/wiki/JDK-11-Warning

更新的 .NET MAUI 模板:

https://github.com/dotnet/maui/blob/main/src/Templates/src/templates/maui-mobile/Platforms/Android/MainActivity.cs

其他值得注意的变化包括:

MinHeightRequest、MaxHeightRequest、MinWidthRequest、MaxWidthRequest 已删除“Request”后缀,布局系统现在将它们视为真实值

将行为附加到任何控件映射器的简化方法 – #1859

Shell 主题样式的各种改进

为 Android #2027 和 iOS #2029 添加了 RefreshView

添加绝对布局 #2136

添加了从右到左 (RTL) FlowDirection #948

添加 Button.Icon ImageSource #2079

#1859:

https://github.com/dotnet/maui/pull/1859

分享到:

版权与免责声明:

凡未注明"稿件来源"的内容均为转载稿,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;


本文地址://m.aolclints.com/news/2021/12/02/61871706.html

转载本站原创文章请注明来源:豆角网

行业聚焦

中国芯数字货币钱包来了:国内数字人民币试点场景超 350 万个,交易金额约 560 亿元

IT之家 12 月 6 日消息,随着北京冬奥会日益临近,数字人民币北京冬奥试点场景建设已进入冲刺阶段。据科技日报,我国自主研发的“中国芯”数字货币钱包近日已通过...[详细]

夏普 AQUOS wish 全新系列手机发布,搭载骁龙 480 5G 芯片

IT之家 12 月 6 日消息,继 R、zero、sense 之后,夏普 AQUOS 推出了全新的 wish 系列手机,型号为 SHG06,...[详细]

育碧宣布 Ubisoft Quartz 项目,正式进军元宇宙及 NFT

IT之家 12 月 8 日消息,育碧今日正式宣布将首次涉足区块链技术和 NFT 领域,并推出了名为 Ubisoft Quartz 的项目。它将为 Ubisoft...[详细]

瑞声科技发布大师级 SLS 扬声器,提出超薄电视声学方案

IT之家 11 月 27 日消息,瑞声科技(AAC)于 11 月 26 日在深圳召开了“聚势向上 焕发新声”声学研讨会。会上,瑞声科技首次对外发布大师级 SLS...[详细]

争议不断,消息称支付宝财运红包即将下线

IT之家 11 月 18 日消息,21 世纪经济报道称,支付宝财运红包将于今晚 24 时起暂停发放,或将产生变局。据介绍,支付宝财运红包是平台向用户发放的基金体...[详细]

科技趋势

更多

芯片短缺已使戴姆勒卡车损失数十亿欧元

 

据 Automobilwoche 的消息称,戴姆勒卡车负责人 Martin Daum 预计,今年全球芯片短缺将使戴姆勒卡...[详细]

树莓派制造商计划明年春季上市,市值或超 5 亿美元

 

IT之家 11 月 29 日消息,据 telegraph 报道,树莓派 Raspberry Pi 4...[详细]

哔哩哔哩B站全面支持上传 8K 超高清视频,画质极限再突破

 

IT之家 12 月 6 日消息,从 4K 到杜比视界后,哔哩哔哩B站今天宣布,正式迈入 8K 超高清时代,所有用户都可以...[详细]

DSCC:2021 年 3 季度可折叠手机市场爆发,三星 93% 市场份额一骑绝尘

 

IT之家 12 月 1 日消息,可折叠智能手机市场似乎在 2021 年第三季度爆发了,三星在此季度推出了 Galaxy ...[详细]

1.52 亿美元,威马汽车 D2 轮融资顺利启动

 

IT之家 12 月 1 日消息,今日威马汽车宣布,继 10 月初获得超 3 亿美元 D1 轮融资后,威马汽车顺利启动 D...[详细]

一周排行每月关注