Xamarin 的终结:微软、Apple 及 Swift 的影响

6 min read

在技术界,每一个决定都伴随着一系列的反应和变动。最近,微软放弃 Xamarin 这个昔日的明星项目,而全盘切换到 dotNET MAUI ,这一决定的背后,却有着深远的原因。然而,这个原因并非仅来自微软自身,反而更多地与 Apple 的一次重大技术决策有关。

Xamarin 一直是个重要的平台,让开发者能够使用 C# 进行跨平台的开发,包括 Apple 的 iOS 和 macOS,微软的 Windows,以及其他的平台。它的独特之处在于,Xamarin 可以通过 C# 和 Objective-C 的绑定,使得开发者能够充分利用 Apple 的底层库,例如 Foundation 和 Cocoa。然而,正是这种高度依赖,让 Xamarin 面临了一个几乎无法解决的问题。

近期,Apple 决定使用 Swift 完全重写 Foundation,接下来可能的步骤是重写整个 Cocoa。这次重构打破了 Xamarin 以前的运作模式,因为 Swift 和 C# 有着语言隔离。这就意味着,Xamarin 目前无法像以前一样,通过 C# 和 Swift 进行直接的交互,从而充分利用 Apple 的底层库。

尽管有一些工具,比如 RemObjects,可以让 C# 和 Swift 进行一定程度的互动,但是这种交互主要基于 .NET Core 和 Windows 平台的 .NET Framework,无法在 Apple 的生态系统中使用。即使在 macOS 系统下,RemObjects 的工具也只能和 Objective-C 版本的 Foundation 和 Cocoa 进行交互,而无法对接 Swift 重构后的库。

因此,微软的这个决定,实际上是在适应 Apple 的这个重大的技术变动。微软为了在这个全新的环境中保持其跨平台开发的能力,选择放弃了 Xamarin ,转而全盘切换到 dotNET MAUI ,这个全新的框架更能适应当前的技术变革。

结论来说,虽然微软的决定引起了许多的关注,但我们不能忽视背后的原因。是 Apple 的技术变动,实际上才是推动这个变化的最大动力。随着技术的持续进步和变化,企业和开发者需要不断适应和创新,才能在这个充满挑战的环境中立足。

因为苹果决定使用Swift重构Foundation,Xamarin面临语言隔离问题,无法利用苹果底层库。微软放弃Xamarin,全面转向dotNET MAUI框架,以应对苹果的技术变动,保持跨平台开发的能力。技术进步和变化需要企业和开发者不断适应和创新。