微软喜欢 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 构建应用程序时,您使用的是单个项目。 但您可以针对多个平台,包括移动设备(Android、IOS)和桌面设备(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 技术更受欢迎?
这也有可能助长这样一种看法,即在某个深奥而隐秘的角落,微软仍然坚持其臭名昭著的旧战略:快来微软,这里一切都更好。 对于一家取得如此成就的公司——从闭源堡垒转变为世界顶级开源贡献者——很难不感到失望。