.NET开源免费的跨平台框架 - MAUI(附学习资料)
前言
前几天分享了一个.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项目源代码
- Github开源地址:https://github.com/dotnet/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


参考文章
DotNetGuide技术社区交流群
- DotNetGuide技术社区是一个面向.NET开发者的开源技术社区,旨在为开发者们提供全面的C#/.NET/.NET Core相关学习资料、技术分享和咨询、项目框架推荐、求职和招聘资讯、以及解决问题的平台。
- 在DotNetGuide技术社区中,开发者们可以分享自己的技术文章、项目经验、学习心得、遇到的疑难技术问题以及解决方案,并且还有机会结识志同道合的开发者。
- 我们致力于构建一个积极向上、和谐友善的.NET技术交流平台。无论您是初学者还是有丰富经验的开发者,我们都希望能为您提供更多的价值和成长机会。
.NET开源免费的跨平台框架 - MAUI(附学习资料)的更多相关文章
- 《精通Python爬虫框架Scrapy》学习资料
<精通Python爬虫框架Scrapy>学习资料 百度网盘:https://pan.baidu.com/s/1ACOYulLLpp9J7Q7src2rVA
- 【微服务】使用spring cloud搭建微服务框架,整理学习资料
写在前面 使用spring cloud搭建微服务框架,是我最近最主要的工作之一,一开始我使用bubbo加zookeeper制作了一个基于dubbo的微服务框架,然后被架构师否了,架构师曰:此物过时.随 ...
- 大厂程序员教你如何学习C++(内附学习资料)
目前准备面试同学都知道,C++是百度和腾讯的主流开发语言,而java是阿里的主流开发语言. 对于初学者来说,也不用纠结究竟学习c++还是java 其实只要好好掌握好一门即可,另一门即可融会贯通 因为我 ...
- 分享一个.NET平台开源免费跨平台的大数据分析框架.NET for Apache Spark
今天早上六点半左右微信群里就看到张队发的关于.NET Spark大数据的链接https://devblogs.microsoft.com/dotnet/introducing-net-for-apac ...
- (视频) 开源,免费和跨平台 - MVP ComCamp 2015 KEYNOTE
2015年1月31日,作为KEYNOTE演讲嘉宾,我和来自全国各地的开发人员分享了作为一名MVP的一些体会. Keynote – Open Source, Free Tools and Cross P ...
- 开源,免费和跨平台 - MVP ComCamp 2015 KEYNOTE
2015年1月31日,作为KEYNOTE演讲嘉宾,我和来自全国各地的开发人员分享了作为一名MVP的一些体会. Keynote – Open Source, Free Tools and Cross P ...
- 微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器
微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器 在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 预览 ...
- Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架
Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架,提供JavaScript和TypeScript双重支持,内置游戏对象的物理属性,采用Pixi.js引擎以加快Canvas和W ...
- Yourphp是一款完全开源免费的.核心采用了Thinkphp框架
Yourphp企业网站管理系统,是一款完全开源免费的PHP+MYSQL系统.核心采用了Thinkphp框架,同时也作为开源软件发布.集众多开源项目于一身的特点,使本系统从安全,效率,易用及可扩展性上更 ...
- [翻译] .NET 官宣跨平台 UI 框架 MAUI
MAUI Build 2020 大会上,微软终于正式公布 .NET 上的跨平台框架,正式版将在 .NET 6 和大家见面. MAUI 是日益流行的 Xamarin.Forms 的进化,Xamarin. ...
随机推荐
- CodeIgniter3.chm 打包编译 需要 hhc.exe - php框架
电子书地址 https://github.com/CodeIgniter-Chinese/rapid-php-application-development 我打包编译好了chm,https://fi ...
- Java GUI swing 可执行程序 jar (java -jar)idea
创建项目 可以用maven idea设置 into 那个 参考资料 Java 基础 https://www.liaoxuefeng.com/wiki/1252599548343744/12604545 ...
- arch安装discover ——KDE商店
yay -S discover sudo pacman -S archlinux-appstream-data packagekit-qt5 flatpak fwupd 安装完就可以使用KDE商店了
- Linux系统设置shell开机自启
自己写一个shell脚本 chmod -x file.sh sudo cp file.sh /etc/profile.d/ 将写好的脚本(.sh文件)放到目录 /etc/profile.d/ ...
- Android 获取设备的亮度百分比
一般的屏幕亮度都是0-255,而小米手机的高版本不一样 为了使亮度调节更加细腻, MIUI对原生亮度级别进行了扩展, 由原有的255级调整根据不同屏幕分别支持255/1023/2047/4095级.开 ...
- day08-Java数组
Java数组 1.数组概述 数组的定义: 数组是相同类型数据的有序集合 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成 其中每一个数据称作一个数组元素,每个数组元素可以通过一个下标来 ...
- 文件的特殊权限:SUID,SGID,SBIT
文件的特殊权限:SUID,SGID,SBIT Set UID SUID权限只用于二进制文件 运行者必须有X权限 运行者在程序运行过程(run-time)中具有二进制文件拥有者(owner)的权限 例子 ...
- 求给定两个排序好的数组中第k大的数
这个问题比求两个长度相等的排序数组的上中位数难度要高一点,难就难在不是求中位数了,但是我们要学会举一反三,可以尝试通过分析将求第k大的数转化为求中位数.将数组中不可能的数排除,在剩下可能的数中求中位数 ...
- PagerAdapter深度解析和实践优化
目录介绍 01.PagerAdapter简单介绍 02.PagerAdapter抽象方法 03.PagerAdapter原理介绍 04.PagerAdapter缓存和销毁 05.自定义PagerAda ...
- ADAS-AEB系统详解
ADAS-AEB系统详解 AEB即自动紧急制动(Automatic Emergency Braking),其通过雷达.摄像头共同监测前方车辆以及行人情况,若探测到潜在碰撞风险,系统将采取相应预警及制动 ...