您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > .NET

.NET MAUI 有一个 Linux 短板

时间:2022-12-26 15:48:21  来源:今日头条  作者:启辰8

微软喜欢 linux,但不会投资桌面应用程序


 

人们很容易将微软和开源 Linux 操作系统的历史看作是两个死敌谨慎和解的故事。 微软——这家曾经将 Linux 称为癌症的公司——在过去十年的大部分时间里都在推动开源生态系统的发展。 他们欢迎 Linux 进入 VS Code 等编程工具、Azure 等云环境以及 SQL Server 等服务器产品。 他们甚至通过出色的 windows Linux 子系统 (WSL) 将 Linux 融合到 Windows 操作系统中,这使您可以像打开“开始”菜单一样轻松地运行 bash 脚本。

微软以对其以前的优先事项失去兴趣而闻名。 但是当谈到 Linux 时,人们的热情丝毫没有减弱的迹象。 最近,微软演示了对一项名为 WSLg 的备受期待的技术的支持,该技术让 Windows 计算机运行图形化 Linux 应用程序,并配备基于硬件的 3D 加速。彻底疯狂(典韦语)!

在Windows上,使用 Linux 版本的 Audacity 录制音频

但是天堂里也有问题。 是的,Microsoft 已经认识到基于服务器的 Linux 软件的吸引力和重要性。 是的,Microsoft 继续将 Linux 功能添加到其自己的闭源操作系统中。 但微软还没有完全接受 Linux 作为桌面操作系统——至少不是一个值得他们尊重的操作系统。 没有什么比快速发展的 .NET MAUI 项目更清楚这一点了。

如果您还没有玩过 MAUI(Multi-platform App UI 的缩写),它是一个用于使用 .NET 7 和 C# 构建跨平台本机应用程序的工具包。 从技术上讲,MAUI 是 Xamarin.Forms 产品的演变,现在更好地集成到 Visual Studio 中,并扩展为优雅地处理桌面应用程序。

当您使用 MAUI 构建应用程序时,您使用的是单个项目。 但您可以针对多个平台,包括移动设备(AndroidIOS)和桌面设备(Windows UWP、macOS)。 这是它的样子:

一个MAUI可以部署到多个平台

MAUI 是一种统一一切的解决方案,适用于想要超越基于浏览器的应用程序的开发人员。 但 MAUI 也有一个明显的遗漏:没有针对桌面 Linux 应用程序的内置支持。

现在,重要的是要社区正在努力为 MAUI 创建 Linux 途径。 (有类似的项目,将 Xamarin.Forms和 WPF 引入 macOS ,两者都没有微软的官方认可或长期支持承诺。)但潜在的问题是显而易见的。 如果操作系统支持不是产品的一部分,那么它的未来堪忧。 它是否会保持最新状态、修复错误和蓬勃发展的社区支持? 解决方案实施的成熟度? 您是否应该将其带入需要持续支持和对公众开放的企业环境中?

作为一个实际的商业决策,不支持 Linux 似乎是明智的。 从数字的角度来看,Linux 用户很少,开发人员资源也很有限——即使在微软也是如此。

但是,如果您试图在跨平台 UI 中建立一个新品牌,则存在可信度问题。 如果你不能为三大桌面操作系统提供一流的支持(比如 VS Code 提供),那么可信度就会被削弱。 如果你打算与其他跨平台 UI 框架竞争,比如谷歌的 Flutter 或 React Native,它们没有相同的盲点,那么 Linux 支持就更为重要。 甚至其他用于 .NET 的第三方 UI 平台,如 Uno 和 Avalonia,也设法填补了 Linux 的空白。

就个人而言,我愿意相信微软。 但我也理解为什么一些 Linux 开发人员仍然对这家公司抱有深深的怀疑。 将 Linux 排除在他们最新的开发解决方案之外,即使他们继续将 Linux 支持构建到 Windows 中,也会引发一个问题。 这是单行道吗? 将 Linux 置于 Windows 中是否比在 Linux 上运行 Microsoft 技术更受欢迎?

这也有可能助长这样一种看法,即在某个深奥而隐秘的角落,微软仍然坚持其臭名昭著的旧战略:快来微软,这里一切都更好。 对于一家取得如此成就的公司——从闭源堡垒转变为世界顶级开源贡献者——很难不感到失望。



Tags:.NET   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
.Net开发中十种常见的内存错误以及相应的解决方案
在.Net开发中,为内存管理方面提供了许多便利,但仍然存在一些常见的错误和陷阱。这些错误可能导致内存泄漏、性能下降、异常抛出等问题,严重影响应用程序的稳定性和性能。在软件...【详细内容】
2024-03-26  Search: .NET  点击:(13)  评论:(0)  加入收藏
.NET配置文件大揭秘:轻松读取JSON、XML、INI和环境变量
概述:.NET中的IConfiguration接口提供了一种多源读取配置信息的灵活机制,包括JSON、XML、INI文件和环境变量。通过示例,清晰演示了从这些不同源中读取配置的方法,使配置获取变得...【详细内容】
2023-12-28  Search: .NET  点击:(92)  评论:(0)  加入收藏
.Net开发都应当掌握的泛型基础知识集合
在C#编程语言中,泛型是一项非常强大和重要的功能。它允许我们编写更加灵活和通用的代码,同时提高代码的可重用性和性能。本文将介绍C#泛型的一些关键知识点,帮助读者理解和应用...【详细内容】
2023-12-25  Search: .NET  点击:(125)  评论:(0)  加入收藏
作为 .NET 开发人员,我为什么开始使用 Python?
作者 | Alex Maher编译 | 小欧作为一名 .NET 开发人员,很长一段时间以来,我一直关注 C# 和 .NET 的出色工具和功能。但我最近开始使用 Python,感觉非常棒。这里申明一点,这篇文...【详细内容】
2023-12-25  Search: .NET  点击:(143)  评论:(0)  加入收藏
.NET领域性能最好的对象映射框架Mapster使用方法
Mapster是一个开源的.NET对象映射库,它提供了一种简单而强大的方式来处理对象之间的映射。在本文中,我将详细介绍如何在.NET中使用Mapster,并提供一些实例和源代码。和其它框架...【详细内容】
2023-12-22  Search: .NET  点击:(80)  评论:(0)  加入收藏
.NET Core 3.1 升级到 .NET 8,看看都有哪些变化
.NET Core 3.1 已经用了很长一段时间,其实在 2022 年的年底微软已经不提供支持了,后面的一个 LTS 版本 .NET 6 也会在 2024 年 11 月终止支持,所以直接升级到 .NET 8 是最好的...【详细内容】
2023-12-08  Search: .NET  点击:(192)  评论:(0)  加入收藏
.NET Core的中间件来对Web API进行流量限制实现方法
在.NET Core中,我们可以使用ASP.NET Core的中间件来对Web API进行流量限制。ASP.NET Core提供了一个名为RateLimit的开源库,可以方便地实现流量限制功能。下面将详细介绍如何...【详细内容】
2023-12-06  Search: .NET  点击:(177)  评论:(0)  加入收藏
微软官方出品微服务架构:十个.Net开源项目
1、一个高性能类型安全的.NET枚举实用开源库Enums.NET是一个.NET枚举实用程序库,专注于为枚举提供丰富的操作方法。它支持.NET Framework和.Net Core。它主要优点表现在类型...【详细内容】
2023-12-06  Search: .NET  点击:(133)  评论:(0)  加入收藏
.NET开源的处理分布式事务的解决方案
前言在分布式系统中,由于各个系统服务之间的独立性和网络通信的不确定性,要确保跨系统的事务操作的最终一致性是一项重大的挑战。今天给大家推荐一个.NET开源的处理分布式事务...【详细内容】
2023-11-30  Search: .NET  点击:(173)  评论:(0)  加入收藏
深入 .NET 异步编程:Task 与 ValueTask 的区别与选择
在 .NET 中,Task 和 ValueTask 都是用于表示异步操作的类型,但它们有一些重要的区别。TaskTask 是最常见的表示异步操作的类型。它通常用于表示耗时的、异步的操作,比如从文件...【详细内容】
2023-11-26  Search: .NET  点击:(190)  评论:(0)  加入收藏
▌简易百科推荐
.Net开发中十种常见的内存错误以及相应的解决方案
在.Net开发中,为内存管理方面提供了许多便利,但仍然存在一些常见的错误和陷阱。这些错误可能导致内存泄漏、性能下降、异常抛出等问题,严重影响应用程序的稳定性和性能。在软件...【详细内容】
2024-03-26  小乖兽技术  今日头条  Tags:.Net   点击:(13)  评论:(0)  加入收藏
.NET配置文件大揭秘:轻松读取JSON、XML、INI和环境变量
概述:.NET中的IConfiguration接口提供了一种多源读取配置信息的灵活机制,包括JSON、XML、INI文件和环境变量。通过示例,清晰演示了从这些不同源中读取配置的方法,使配置获取变得...【详细内容】
2023-12-28  架构师老卢  今日头条  Tags:.NET   点击:(92)  评论:(0)  加入收藏
.Net开发都应当掌握的泛型基础知识集合
在C#编程语言中,泛型是一项非常强大和重要的功能。它允许我们编写更加灵活和通用的代码,同时提高代码的可重用性和性能。本文将介绍C#泛型的一些关键知识点,帮助读者理解和应用...【详细内容】
2023-12-25  小乖兽技术  今日头条  Tags:.Net   点击:(125)  评论:(0)  加入收藏
作为 .NET 开发人员,我为什么开始使用 Python?
作者 | Alex Maher编译 | 小欧作为一名 .NET 开发人员,很长一段时间以来,我一直关注 C# 和 .NET 的出色工具和功能。但我最近开始使用 Python,感觉非常棒。这里申明一点,这篇文...【详细内容】
2023-12-25    51CTO  Tags:.NET   点击:(143)  评论:(0)  加入收藏
.NET Core 3.1 升级到 .NET 8,看看都有哪些变化
.NET Core 3.1 已经用了很长一段时间,其实在 2022 年的年底微软已经不提供支持了,后面的一个 LTS 版本 .NET 6 也会在 2024 年 11 月终止支持,所以直接升级到 .NET 8 是最好的...【详细内容】
2023-12-08  不止dotNET  微信公众号  Tags:.NET   点击:(192)  评论:(0)  加入收藏
.NET Core的中间件来对Web API进行流量限制实现方法
在.NET Core中,我们可以使用ASP.NET Core的中间件来对Web API进行流量限制。ASP.NET Core提供了一个名为RateLimit的开源库,可以方便地实现流量限制功能。下面将详细介绍如何...【详细内容】
2023-12-06  架构师老卢  今日头条  Tags:.NET   点击:(177)  评论:(0)  加入收藏
微软官方出品微服务架构:十个.Net开源项目
1、一个高性能类型安全的.NET枚举实用开源库Enums.NET是一个.NET枚举实用程序库,专注于为枚举提供丰富的操作方法。它支持.NET Framework和.Net Core。它主要优点表现在类型...【详细内容】
2023-12-06  编程乐趣  今日头条  Tags:.Net   点击:(133)  评论:(0)  加入收藏
.NET开源的处理分布式事务的解决方案
前言在分布式系统中,由于各个系统服务之间的独立性和网络通信的不确定性,要确保跨系统的事务操作的最终一致性是一项重大的挑战。今天给大家推荐一个.NET开源的处理分布式事务...【详细内容】
2023-11-30  追逐时光者  微信公众号  Tags:.NET   点击:(173)  评论:(0)  加入收藏
深入 .NET 异步编程:Task 与 ValueTask 的区别与选择
在 .NET 中,Task 和 ValueTask 都是用于表示异步操作的类型,但它们有一些重要的区别。TaskTask 是最常见的表示异步操作的类型。它通常用于表示耗时的、异步的操作,比如从文件...【详细内容】
2023-11-26  架构师老卢  微信公众号  Tags: .NET   点击:(190)  评论:(0)  加入收藏
.NET字符串存储:解析常量与动态字符串,深入了解内存机制
在 .NET 中,字符串是不可变的,这意味着一旦创建,字符串的内容就不能被修改。字符串在内存中以不同的方式存储,具体取决于它是常量字符串还是动态创建的字符串。常量字符串常量字...【详细内容】
2023-11-25  架构师老卢  微信公众号  Tags:.NET   点击:(197)  评论:(0)  加入收藏
站内最新
站内热门
站内头条