首页 > 其他分享 >学习.NET MAUI Blazor(二)、MAUI是个啥

学习.NET MAUI Blazor(二)、MAUI是个啥

时间:2022-12-25 18:46:41浏览次数:43  
标签:Windows iOS Android 版本 MAUI NET Blazor

随着.NET 7的发布,MAUI也正式发布了。那么MAUI是个啥?我们先来看看官方解释:

.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。

目录

关于MAUI

.NET MAUI,全称.NET Multi-platform App UI 顾名思义,就是跨平台UI框架。使用.NET MAUI,理论上使用一套代码就可以开发出可运行在 Android、iOS、macOS 和 Windows 上的应用!因为各平台存在差异,所以一套代码需要根据实际情况来编写特定的代码,有些类似于uni-app上的条件编译。

用一张图来解释下.NET MAUI可以运行在什么平台上
在这里插入图片描述
.NET MAUI可以运行在以下平台:

  • Android 5.0 (API 21) 或更高版本
  • iOS 11 或更高版本,使用最新版本的 Xcode
  • 使用 Mac Catalyst 的 macOS 10.15 或更高版本
  • 使用 Windows UI 库 (WinUI) 3 Windows 11和Windows 10版本 1809 或更高版本

由于MAUI Blazor 应用是基于各平台特定的 WebView 控件。如果是.NET MAUI Blazor 应用,则需要如下要求:

  • 需要 Android 7.0 (API 24) 或更高版本
  • 需要 iOS 14 或更高版本
  • 使用 Mac Catalyst 的 macOS 11 或更高版本
  • Windows 上的 Microsoft Edge WebView2
  • Android 上的 Chrome
  • iOS 和 macOS 上的 Safari

.NET MAUI 是开源的,是 Xamarin.Forms 的演变,从移动方案扩展到桌面方案,UI 控件从头开始重新生成,以确保性能和扩展性。 如果以前使用 Xamarin.Forms 生成跨平台用户界面,你会注意到与 .NET MAUI 的许多相似之处。 但也有一些差异。 使用 .NET MAUI,可以使用单个项目创建多平台应用,但可以根据需要添加特定于平台的源代码和资源。 .NET MAUI 的主要目的之一是使你能够在单个代码库中实现尽可能多的应用逻辑和 UI 布局。

MAUI的工作原理

.NET MAUI 将 Android、iOS、macOS 和 Windows API 统一到单个 API 中,提供“编写一次就能在任何地方运行”的开发人员体验,同时还提供了对每个原生平台各个方面的深入访问。

.NET 6 或更高版本提供一系列特定于平台的框架用于创建应用:.NET for Android、.NET for iOS、.NET for macOS 和 Windows UI 3 (WinUI 3) 库。 这些框架都有权访问同一个 .NET 基类库 (BCL) 。 此库从代码中抽象出基础平台的详细信息。 BCL 依赖于 .NET 运行时来为代码提供执行环境。 对于 Android、iOS 和 macOS,环境由 Mono 实现,这是 .NET 运行时的实现。 在 Windows 上,.NET CoreCLR 提供执行环境。

一张图说明白.NET MAUI的体系结构
在这里插入图片描述

如何开发MAUI

需要 Visual Studio 2022 17.3 或更高版本,或者 Visual Studio 2022 for Mac 17.4 或更高版本。

如果要生成 iOS 的 .NET MAUI 应用,还需要:

  • 与最新版本的 Xcode 兼容的 Mac。
  • 最新版本的 Xcode
  • 苹果开发者账户

该如何选择?

如果是尝鲜或者开发windows应用,个人感觉MAUI不错。
如果是给老外开发应用,那么Flutter是不错的选择。
如果是国内的移动应用,选择uni-app就可以了。

我选择的是.NET MAUI Blazor应用,因为相对于 .NET MAUI来说,Xamarin.Forms 我不是很有兴趣,我感觉就是跟Flutter似的,不停的套娃写法属实对我不友好,所以我选择一个折中的,.NET 还凑合,HTML+CSS也还凑合。MAUI Blazor还是比较适合我的。

总结

暂无,下期开始创建第一个MAUI Blazor应用!


欢迎大家关注我的微信公众号,一起进步,一起成长

标签:Windows,iOS,Android,版本,MAUI,NET,Blazor
From: https://www.cnblogs.com/gmval/p/17004367.html

相关文章

  • 【MindStudio训练营第一季】使用MindStudio复现resnet50分类任务
    一、前言在训练营进阶班的课程中,老师使用了resnet50的样例,分析了其中的ACL代码,本文将复现这个resnet50分类项目,为后面ACL编程学习做铺垫。项目的Gitee仓如下:cplusplus/le......
  • MAUI新生6.1-Shell导航视觉层次结构
    一、Shell介绍MAUI内置了一套导航框架Shell,主要提供了三类功能:视觉层次结构、路由导航、搜索框。其中视觉层次结构从文字上不是很好理解,可以认为是一套导航菜单系统,具有一......
  • Pwn入门题两道 netcat使用与栈溢出
    Pwn入门题两道 netcat使用与栈溢出   第一道题,先下载test,再把文件拖到ida中打开.点击main函数,按f5反汇编.   看到system(“/bin/sh”)这行代码.可以理解......
  • Kubernetes部署StorageClass挂载NFS
    前言只要用过Linux,大概NFS几乎就会是个必学的服务,因此这边要介绍以NFS作为StorageClass后端storage的设定方式,让k8s可以动态的在NFSshare上产生所需要volu......
  • QTP调用自己开发的.net类库
    作者:天彤我现在用的是​​QTP​​9.2,这个版本提供了调用.net框架的功能,使用DotNetFactory对象就可以实现。QTP的帮助文档里面提供了一个例子: Setvar_Crea......
  • 论文推荐:CCNet用于语义分割的交叉注意力
    CCNet,Transformer递归交叉自注意力,比非局部神经网络更有效。华中科技大学、地平线、ReLER和伊利诺伊大学香槟分校联合研发论文提出了交叉网络(CCNet),对于每个像素,CCNe......
  • 记一次 .NET 某安全生产信息系统 CPU爆高分析
    一:背景1.讲故事今天是......
  • 一阶段目标检测网络-RetinaNet 详解
    作者深入分析了极度不平衡的正负(前景背景)样本比例导致one-stage检测器精度低于two-stage检测器,基于上述分析,提出了一种简单但是非常实用的FocalLoss焦点损......
  • .NET6 处理跨域的三种方式
    .net6 处理跨域的三种方式:1.方法里添加,允许跨域HttpContext.Response.Headers.Add("Access-Control-Allow-Origin","*");2.方法添加特性,允许跨域[CustomCorsActionFi......
  • InetAddress,InetSocketAddress
    【1】InetAddress --》封装了Ippackagecom.msb.test01;importjava.net.InetAddress;importjava.net.UnknownHostException;/***@author:liu*日期:09:5......