首页 > 其他分享 >.NET开源免费的跨平台框架 - MAUI(附学习资料)

.NET开源免费的跨平台框架 - MAUI(附学习资料)

时间:2024-04-20 15:34:18浏览次数:13  
标签:maui 跨平台 UI 开发者 MAUI NET

前言

前几天分享了一个.NET MAUI开源免费的UI工具包 - Uranium,然后技术群有不少同学问.NET MAUI是不是免费的?能做什么?今天特意写这篇文章来介绍一下.NET开源、免费(基于MIT License)的跨平台框架:MAUI。

.NET MAUI官方介绍

.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。

.NET MAUI 是一款开放源代码应用,是 Xamarin.Forms 的进化版,从移动场景扩展到了桌面场景,并从头重新生成了 UI 控件,以提高性能和可扩展性。如果以前使用过 Xamarin.Forms 来生成跨平台用户界面,那么你会注意到它与 .NET MAUI 有许多相似之处。但也有一些差异。通过使用 .NET MAUI,可使用单个项目创建多平台应用,但如果有必要,可以添加特定于平台的源代码和资源。.NET MAUI 的主要目的之一是使你能够在单个代码库中实现尽可能多的应用逻辑和 UI 布局。

.NET MAUI适合哪些用户

  • 基于 Visual Studio 中的单一共享代码库,使用 XAML 和 C# 编写跨平台应用。
  • 跨平台共享 UI 布局和设计。
  • 跨平台共享代码、测试和业务逻辑。

.NET MAUI支持的平台

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

.NET MAUI 如何运作

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

.NET MAUI 提供了用于为移动和桌面应用生成 UI 的单一框架。下图显示了 .NET MAUI 应用体系结构的高级视图:

.NET MAUI项目源代码

.NET MAUI开发环境安装

注意:开发本机跨平台.NET MAUI应用需要 Visual Studio 2022 17.8 或更高版本,或者 Visual Studio 2022 for Mac 17.6。

安装.NET Multi-platform App UI 开发工作负荷:

.NET MAUI的优缺点

以下是个人见解,假如你有不一样的观点欢迎留言。

优点:

  • 跨平台性:使用.NET MAUI,开发人员可以编写一次代码,然后在多个平台上运行,包括iOS、Android、Windows 和 macOS。
  • 本地用户体验:.NET MAUI 提供了本地用户界面组件和控件,使开发人员能够创建具有原生外观和感觉的应用程序。
  • 单一项目:.NET MAUI 使用单一项目结构,使得在不同平台上开发和维护应用程序变得更加简单和高效。
  • 共享代码:开发人员可以在不同平台之间共享大部分代码,从而减少了开发时间和成本。
  • 现有技能:对于已经熟悉.NET 和 C# 的开发人员来说,学习和使用.NET MAUI 是相对容易的,因为它构建在熟悉的技术栈之上。

缺点:

  • 性能:尽管.NET MAUI 使用了许多性能优化技术,但跨平台开发仍可能导致性能上的一些损失,特别是对于需要高性能的应用程序而言。
  • 平台特定功能:某些平台特定的功能可能无法在.NET MAUI 中直接实现,开发人员可能需要编写特定平台的代码来满足这些需求。
  • 学习曲线:对于没有.NET 或 C#开发经验的开发者而言,学习.NET MAUI 可能需要一定的时间和精力。
  • 社区生态:虽然.NET社区很庞大,但与其他跨平台开发框架相比,.NET MAUI的社区支持可能相对较少,.NET MAUI社区成熟的解决方案也不多,对于开发者和公司而言这可能是他们技术选型时的一大考核点。

.NET Multi-Platform App UI文档

微软官方提供了详细的使用文档,文档中有详细的介绍和上手实践教程,大家可以放心食用。

https://learn.microsoft.com/zh-cn/dotnet/maui/?view=net-maui-8.0

Awesome .NET MAUI

https://github.com/jsuarezruiz/awesome-dotnet-maui

DotNetGuide技术社区交流群

  • DotNetGuide技术社区是一个面向.NET开发者的开源技术社区,旨在为开发者们提供全面的C#/.NET/.NET Core相关学习资料、技术分享和咨询、项目框架推荐、求职和招聘资讯、以及解决问题的平台。
  • 在DotNetGuide技术社区中,开发者们可以分享自己的技术文章、项目经验、学习心得、遇到的疑难技术问题以及解决方案,并且还有机会结识志同道合的开发者。
  • 我们致力于构建一个积极向上、和谐友善的.NET技术交流平台。无论您是初学者还是有丰富经验的开发者,我们都希望能为您提供更多的价值和成长机会。

欢迎加入DotNetGuide技术社区微信交流群

标签:maui,跨平台,UI,开发者,MAUI,NET
From: https://www.cnblogs.com/Can-daydayup/p/18147747

相关文章

  • Asp-Net-Core开发笔记:使用alpine镜像并加入健康检查
    前言使用docker部署AspNetCore应用已经是标配了,之前我一直使用mcr.microsoft.com/dotnet/aspnet:8.0这类镜像,简单粗暴,不过可以使用alpine进一步优化镜像大小。很多开源工具的docker都有健康检查,这次我顺便也给加上了。添加健康检查注册服务builder.Services.AddHea......
  • vb.net from窗体接受键盘输入信息
    PublicClassForm1'当窗体初始化时,订阅键盘按下事件PrivateSubForm1_Load(senderAsObject,eAsEventArgs)HandlesMyBase.LoadAddHandlerMe.KeyDown,AddressOfForm1_KeyDownEndSub'键盘按下事件的处理程序PrivateSubForm1_K......
  • netdom 是一个 Windows 命令行工具,用于管理 Windows 计算机和域的成员身份。它提供了
    netdom/?此命令的语法是:NETDOMHELP命令   -或-NETDOM命令/帮助  可用的命令有:  NETDOMADD       NETDOMRESETPWD    NETDOMRESET  NETDOMCOMPUTERNAME  NETDOMQUERY      NETDOMTRUST  NETDOMHELP......
  • IIS 执行此操作时出错。 详细信息:web.config 错误,.net core项目
    一、IIS执行此操作时出错。详细信息:web.config错误,.netcore项目   运行报错错误信息提示的很明确:IISWebCore模块问题二、解析:IIS下报错,但是直接启动exe文件可以正常运行。 三、解决方案先安装IIS,然后安装Asp.netCore运行时。 更多:IIS10隐藏https......
  • 在 .NET 中使用 Milvus 向量数据库 - .NET 博客
    在.NET中使用Milvus向量数据库-.NET博客爱咋咋地平常使用C#,Angular,工业自动化领域研发​关注他 1人赞同了该文章在.NET中使用Milvus向量数据库-.NET博客摘要学习如何开始使用Milvus向量数据库在.NET中管理嵌入向量,用于搜索......
  • blog.admin net8发布二级目录,及图片上传路径处理
    1、发布二级目录,修改以下配置,及对应的二级目录名跟配置的一致 2、图片上传a、修改后台api代码imgController.cspublicasyncTask<MessageModel<string>>InsertPicture([FromForm]UploadFileDtodto){if(dto.file==null||!dto.file.Any())returnFail......
  • 使用示例解释.NET中的Mocking是什么?
    让我们踏上探索.NET软件开发中Mocking概念的旅程,让我们深入了解Mocking是多么简单易懂、易于访问。请与我一起穿越这个主题,我将涵盖以下内容:理解Mocking:为何它对于构建强大的测试策略至关重要。探索一些最常见的Mocking库:如Moq、NSubstitute、FakeItEasy和RhinoMocks等。掌握......
  • sqlnet现在ip地址登录
    由于业务需要,需要使用白名单限制用户登录数据库的地址,决定使用数据库白名单功能一般单实例数据库启动白名单只需要在sqlnet.ora中添加以下内容即可:TCP.VALIDNODE_CHECKING=yes(开启IP限制功能),TCP.INVITED_NODES=(192.168.1.103,ip2,ip3,..,..本地IP..)--白名单,必须本地IP,否......
  • 6.Centos7 安装最新版本 Kubernetes + Docker
    在Centos7安装最新版本Kubernetes+Docker1.容器运行时说明:v1.24之前的Kubernetes版本直接集成了DockerEngine的一个组件,名为dockershim。自1.24版起,Dockershim已从Kubernetes项目中移除。需要在集群内每个节点上安装一个容器运行时以使Pod可以运行在上面......
  • Kubernetes(k8s)与docker的区别
    k8s与docker的区别Kubernetes(通常简称为"k8s")和Docker是两个不同的技术,它们在容器化应用程序方面扮演着不同的角色。Docker是一种开源的容器化技术,它允许应用程序在一个独立、可移植的容器中运行。容器化是一种将应用程序及其所有依赖项打包到一个独立、可移......